feat(episode): DEPURA_t2-de-statefact-task-06c90c89-commit-2e4_S20260927.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: NONE | Type: troubleshooting Summary: EPISODIO 1 — MEMORIA: T2 de statefact (task 06c90c89): commit 2e4f82b0
This commit is contained in:
parent
e61cdda102
commit
c901bd5cd6
1 changed files with 43 additions and 0 deletions
|
|
@ -0,0 +1,43 @@
|
|||
---
|
||||
episode_id: "404e1065-9c88-4bf2-b2ca-d7aa2528fc67"
|
||||
puente_flat: "DEPURA_t2-de-statefact-task-06c90c89-commit-2e4_S20260927.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
|
||||
session_code: "S20260927.SIDF32B27DEFD6D"
|
||||
acto_dialogico: "informar"
|
||||
actor_flujo: "multi_actor"
|
||||
criticidad_aegis: "low"
|
||||
skill_dominante: "NONE"
|
||||
fase_proyecto: "operations"
|
||||
tipo_semantico: "troubleshooting"
|
||||
summary_one_line: "EPISODIO 1 — MEMORIA: T2 de statefact (task 06c90c89): commit 2e4f82b0"
|
||||
source_type: "claude_code"
|
||||
trust_boundary: "internal"
|
||||
created_at: "2026-10-05T02:12:24.569475+00:00"
|
||||
relectura_tagged: false
|
||||
forgejo_commit_sha: "pending"
|
||||
---
|
||||
|
||||
Terminé las dos tareas que seguían abiertas: el arreglo de T2 en el guardián de hechos-de-estado y el informe de la passphrase. Las dos están guardadas en los 3 remotos (forgejo, origin y sriyantra).
|
||||
|
||||
## T2 de statefact (task_06c90c89): commit `2e4f82b0`
|
||||
|
||||
T2 vigila los comandos de terminal y avisa cuando uno **escribe** un fichero de estado (`MEMORY.md`, `estado_vivo.json`…). Cada aviso marca el estado como «sucio» y adelanta el sondeo SSH al servidor.
|
||||
|
||||
| Sobre 2142 comandos reales tuyos | Antes | Ahora |
|
||||
|---|---|---|
|
||||
| Avisos | 1343 (63 %) | **139** |
|
||||
| Escrituras reales que no veía (confirmadas por agentes) | 51 | **5** |
|
||||
|
||||
- **Falsos positivos:** el detector viejo avisaba con solo *nombrar* el fichero junto a algo como `2>&1`. Ahora la escritura tiene que apuntar al fichero.
|
||||
- **Escrituras que se le escapaban:** casi todas eran guiones de Python que guardan la ruta en una variable (`p = 'docs/estado_vivo.json'` … `open(p,'w')`). Ahora sigue esa variable. También reconoce `patch`, `scp` y la escritura a través de un subshell.
|
||||
- **Las 5 que siguen sin verse**, a propósito, porque el destino no aparece en el texto del comando: 2 `git apply`, 2 guiones invocados por nombre y 1 bucle sobre tuplas.
|
||||
- **Comprobado:**
|
||||
- 96 casos de prueba, cada uno en rojo antes de su arreglo;
|
||||
- 154 pruebas de las baterías vecinas en verde;
|
||||
- 38 de 38 mutantes detectados;
|
||||
- el `data/` real no se tocó.
|
||||
|
||||
## Informe de la passphrase (task_6918731d): commit `00ac6011`
|
||||
|
||||
El revisor independiente confirmó el diagnóstico y yo apliqué sus 7 correcciones. Volví a medir lo importante: la marca de la sesión de Notepad++ coincide con la hora de modificación del secreto hasta los 100 ns. **La frase correcta sigue en la línea 1**, y alguien guardó 17 líneas debajo desde Notepad++, casi seguro. El servidor tiene su propia copia, que no se vio afectada; por eso el portón se sigue abriendo solo.
|
||||
|
||||
**Un incidente del revisor:** por error abrió tu Notepad++ (`notepad++.exe --version`) y lo cerró enseguida. No se creó ningún fichero y el secreto está intacto. Al cerrarse, Notepad++ reescribió su fichero de sesión. Según el revisor el contenido quedó igual; yo solo comprobé que la pestaña del secreto conserva su marca de tiempo.
|
||||
Loading…
Reference in a new issue