ember-memory-test/episodes/TRAZA_lo-que-se-cerr-5-arreglos-todos-medidos_S00000000.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md
Ember 413c76bc2f feat(episode): TRAZA_lo-que-se-cerr-5-arreglos-todos-medidos_S00000000.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: NONE | Type: troubleshooting
Summary: EPISODIO 1 — Ember: Lo que se cerró — 5 arreglos, todos medidos antes y después
2026-08-29 05:06:42 +00:00

3 KiB
Raw Blame History

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
6eba144c-8c19-49b3-9eb8-94d28837fb80 TRAZA_lo-que-se-cerr-5-arreglos-todos-medidos_S00000000.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD S00000000 informar multi_actor low NONE operations troubleshooting EPISODIO 1 — Ember: Lo que se cerró — 5 arreglos, todos medidos antes y después claude_code internal 2026-08-29T05:06:40.961365+00:00 false pending

Parte para ti, John. Los dos enjambres siguen produciendo la lista (13/14 y 8/15 carriles); mientras tanto, esto es lo que ya está arreglado y verificado.

Lo que se cerró — 5 arreglos, todos medidos antes y después

# Qué estaba roto Antes → Después Commit
1 2.764 tests invisibles. Un sys.exit() a nivel de módulo en test_frontier_generator.py abortaba la recolección entera 1.329 + INTERNALERROR → 4.093 recolectados cabdb8c7
2 811 pasaportes sin propósito. El generador escribía un marcador con el comentario "Ember llena esto" 591 rellenados con extracción determinista 180529f6
3 La fábrica seguía encendida: cada fichero nuevo nacía con ~3 marcadores El generador ahora deriva; el marcador queda solo de fallback honesto ddf25183
4 El arranque perdía 81,5 s en un N+1: 9 censos completos donde bastaba 1 8,3 s (9,8×), registro idéntico 37d3f944
5 _normalize contaba el mismo enlace dos veces (no idempotente) Punto fijo; 16 tests + 200 muestras Hypothesis 4f9ade3f

Baseline real de la suite, por primera vez: 3 de 4 turnos cerrados → 2.991 passed. De los 3 fallos, 2 los arreglé (corrieron antes del fix) y 1 era el bug de _normalize. El cuarto turno va por el 24%.

Dos cosas que debo decirte aunque no queden bien

Causé una regresión y la arreglé de raíz. Al rellenar el pasaporte de artifact-guard.md, su propósito real pasó a contener la palabra «Gate» — y el detector leyó la línea vecina CREATED: 2026-06-10 como un gate vencido de 79 días. El registro publicó un fantasma. La salida fácil era quitarle la palabra «Gate» a mi texto; eso es maquillar al detector. Corregí el instrumento: una fecha en un campo de metadatos nunca es un plazo. Con test de control positivo y de evasión.

Mi primer arreglo de _normalize fue insuficiente. Puse una lista de caracteres a mano y Hypothesis lo tumbó otra vez con '0\x1f\'. Estaban conviviendo dos nociones distintas de «espacio» en la misma función. Añadir ese carácter habría tapado el caso dejando viva la clase.

Restricciones externas (no son fallos de diseño)

  • Fable está sin créditos. El enjambre murió en su primer agente. Sustituí el orquestador por Opus y lo declaro (RM-4).
  • Rate limit 429 tumbó un agente trabajador. Los enjambres siguen con el resto.