Skill: NONE | Type: troubleshooting Summary: EPISODIO 9 — MNEMO_PRE_DIGEST: El desajuste real
2.7 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| f11ac00a-03ea-4ff3-aea7-46e0109ed1b4 | TRAZA_el-desajuste-real_S20260812.R9_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD | S20260812.PIPELINE_FIXES | informar | multi_actor | low | NONE | operations | troubleshooting | EPISODIO 9 — MNEMO_PRE_DIGEST: El desajuste real | claude_code | internal | 2026-08-14T04:26:38.910865+00:00 | false | pending |
Cerrado (5d38b094). Este tenía dos lecciones, y una es sobre mí.
El desajuste real
El barrido lo llamaba "glob desajustado"; al medirlo era más concreto: el hook pregunta por una cosa y escribe otra. Obtiene el session_code, pregunta "¿existe cosecha con la fecha de hoy?", y escribe con el session_code. Cuando la sesión arrastra otra fecha —una ventana abierta que cruza la medianoche, que aquí pasa a diario— buscaba un archivo que nadie iba a escribir y regeneraba en cada cierre de turno.
148 generaciones sobre 41 destinos, una reescrita 29 veces. Y la huella queda a la vista: 29 de las 91 cosechas llevan en el nombre una fecha distinta del día en que se escribieron.
El gemelo en predigest_checker era aún más elocuente: su docstring ya decía "para la sesión actual" mientras el código buscaba por fecha. La intención estaba escrita; la implementación no la seguía.
Mi propio bug, cazado en el acto
Al sustituir la variable today rompí un conteo que la usaba más abajo. Y un except Exception: continue se tragó el NameError y devolvió 0 en silencio — un except ancho convirtiendo mi error en un cero plausible. Es exactamente la clase de defecto que llevo todo el día persiguiendo, cometido por mí, dentro del arreglo.
Lo delató un test que pasaba antes y fallaba después. Lo confirmé con git stash en vez de suponerlo.
Y el fixture también mentía: creaba LEXICON_COSECHA_S<hoy>.md mientras el sandbox declaraba otra sesión — fabricaba justo el nombre que el guard equivocado buscaba, y por eso pasaba con el bug puesto. Un test verde que solo demostraba que el error era consistente consigo mismo.
Hice. La cosecha ya no se regenera en bucle: el guard pregunta por el mismo nombre con el que escribe. De paso cacé un bug que yo mismo introduje, escondido por un except que se lo tragaba.
Falta. Unos 7 puntos, todos menores y del mismo tipo.
Mi consejo. Sigo con el #20 — el hook fabrica el bloque de memoria que por doctrina debo escribir yo, y su campo verified es un conteo de palabras disfrazado de verificación. Es el último con nombre propio; los demás son constantes de arranque.