ember-memory-test/episodes/TRAZA_hallazgo-al-leer-computepy_S20260621.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md
Ember 15f2299017 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`
2026-06-21 16:53:59 +00:00

2.9 KiB

episode_id puente_flat session_code acto_dialogico actor_flujo criticidad_aegis skill_dominante fase_proyecto tipo_semantico summary_one_line source_type trust_boundary created_at relectura_tagged forgejo_commit_sha
94cc0576-0dda-45d8-9360-62b32c65b45d TRAZA_hallazgo-al-leer-computepy_S20260621.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD S20260621.CRONICA_SEMANAL_C15 informar multi_actor low NONE operations troubleshooting EPISODIO 2 — BLINDADAS: Hallazgo al leer `compute.py` claude_code internal 2026-06-21T16:53:44.005249+00:00 false 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.

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)?