feat(episode): TRAZA_hallazgo-al-leer-computepy_S20260621.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: NONE | Type: troubleshooting Summary: EPISODIO 2 — BLINDADAS: Hallazgo al leer `compute.py`
This commit is contained in:
parent
26b4cdd6ee
commit
15f2299017
1 changed files with 39 additions and 0 deletions
|
|
@ -0,0 +1,39 @@
|
||||||
|
---
|
||||||
|
episode_id: "94cc0576-0dda-45d8-9360-62b32c65b45d"
|
||||||
|
puente_flat: "TRAZA_hallazgo-al-leer-computepy_S20260621.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
|
||||||
|
session_code: "S20260621.CRONICA_SEMANAL_C15"
|
||||||
|
acto_dialogico: "informar"
|
||||||
|
actor_flujo: "multi_actor"
|
||||||
|
criticidad_aegis: "low"
|
||||||
|
skill_dominante: "NONE"
|
||||||
|
fase_proyecto: "operations"
|
||||||
|
tipo_semantico: "troubleshooting"
|
||||||
|
summary_one_line: "EPISODIO 2 — BLINDADAS: Hallazgo al leer `compute.py`"
|
||||||
|
source_type: "claude_code"
|
||||||
|
trust_boundary: "internal"
|
||||||
|
created_at: "2026-06-21T16:53:44.005249+00:00"
|
||||||
|
relectura_tagged: false
|
||||||
|
forgejo_commit_sha: "pending"
|
||||||
|
---
|
||||||
|
|
||||||
|
Antes de tocar el motor, lo leí entero — y encontré algo que **cambia FASE 2** (justo el valor de comprender antes de refactorizar):
|
||||||
|
|
||||||
|
## Hallazgo al leer `compute.py`
|
||||||
|
|
||||||
|
1. **C6→BLIND honesto YA ESTÁ IMPLEMENTADO.** Las líneas 275-315 ya degradan honesto: `SSH_UNAVAILABLE→STALE` (no fake OK), heartbeat caído→STALE, `pct_stale≥80%→FROZEN`. Una sesión previa (fix F3-05 + DECISION CONCILIO S20260618) ya lo hizo. **No hay que rehacerlo.** (Por eso el indicador ya muestra `C6 FROZEN/STALE honesto` desde hace turnos.)
|
||||||
|
|
||||||
|
2. **Los 6 `_check_C*` NO son clones.** CRISOL/el plan los llamó "casi-clones", pero al leerlos: C1 parsea STATE_DRIFT + penaliza `_meta` drift; C5 parsea settings.json; C6 es una cascada de 4 condiciones de wiki. Solo C2/C3 son mtime puro. **Consolidarlos en una tabla data-driven sería over-engineering riesgoso** — forzar uniformidad donde hay diversidad legítima, y un error rompe el panel. Lo descarto con justificación (PROBATOR habría marcado esto).
|
||||||
|
|
||||||
|
**FASE 2 real, recalibrada:** queda mucho menos de lo planeado. Lo seguro y con valor: `freshness-SLO` (declarar cadencia esperada por fuente) + `auto-reconcile drift` (en reality_check) + doc `CONTRACT_SDB`. Y **una sola pieza cambia tu panel**: el indicador unificado.
|
||||||
|
|
||||||
|
## EJE C — la decisión que sí cambia lo que ves (PRÓLOGO)
|
||||||
|
|
||||||
|
**Reframe:** lo único de FASE 2 que altera tu pantalla cada turno es si **añadimos 2 indicadores binarios** al panel: `gap_loop ALIVE/DEAD` + `improve_loop ALIVE/DEAD` (salud del lazo cognitivo).
|
||||||
|
|
||||||
|
**Historia:** el plan proponía un indicador "6 barras + 2 binarios". El glifo BLIND honesto ya existe (C6). Lo que falta es mostrar si el lazo que acabo de cablear (B1+B2) está **vivo** — ahora que el `report-update` y el `analyzer-trigger` corren, ver su pulso cada turno tiene sentido.
|
||||||
|
|
||||||
|
**Consecuencias:** añadirlos → ves de un vistazo si tu lazo de auto-mejora respira (útil tras el recableado). No añadirlos → el panel sigue idéntico (6 barras, familiar).
|
||||||
|
|
||||||
|
**Mi inclinación:** ligera a **prepararte un PREVIEW** del indicador con esos 2 binarios — pero es tu pantalla, no la cambio sin que la veas primero (PROBATOR C4: panel solo en preview hasta tu ACK).
|
||||||
|
|
||||||
|
**Pregunta esencial:** ¿preparo el preview del indicador +2 binarios para tu visto, o dejamos el panel como está y hago solo la parte invisible (freshness-SLO + CONTRACT_SDB)?
|
||||||
Loading…
Reference in a new issue