ember-memory-test/episodes/TRAZA_2-prlogo-de-la-decisin-que-te-toca_S20260919.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md
Ember c1931c34cc feat(episode): TRAZA_2-prlogo-de-la-decisin-que-te-toca_S20260919.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: NONE | Type: troubleshooting
Summary: EPISODIO 2 — Ember: 2. Prólogo de la decisión que te toca
2026-09-20 01:32:06 +00:00

3.2 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
bffdac33-91cf-41d4-9c52-7febceed1a2d TRAZA_2-prlogo-de-la-decisin-que-te-toca_S20260919.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD S20260919.SIDA341A4963ECD informar multi_actor low NONE operations troubleshooting EPISODIO 2 — Ember: 2. Prólogo de la decisión que te toca claude_code internal 2026-09-20T01:31:52.214848+00:00 false pending

No adopté una de sus propuestas. Sugería reutilizar la válvula del escáner de secretos como permiso. Con ese cambio, para añadir 90 tokens a CLAUDE.md habría que apagar el escáner de secretos durante 30 minutos. Eso acopla dos riesgos que no tienen nada que ver.

Un hallazgo quedó declarado y sin resolver. Si el commit falla por otro motivo después del trinquete, el permiso ya se gastó y hay que crearlo de nuevo.

Evidencia de la v1.1 (commit 9223e4a1, presente en los 3 remotos):

Comprobación Resultado
Suite del trinquete 41 passed
Función más larga 21 líneas (hay 19 funciones)
Trinquete frente al medidor hermano, sobre el repositorio real Ambos miden 49.325 tokens en 35 piezas
Coste por commit que no toca residentes 0,66 s
Coste por commit que sí toca residentes ~1,3 s (antes 9,3 s; ahora hace una sola lectura por lotes en vez de 72 llamadas a git)

El bloque está probado dentro de tu pre-commit real. Ejecuté python scripts/instalar_trinquete_precommit.py --probar, que copia tu guion a un repositorio temporal y corre cinco escenarios. Los cinco dieron [OK]:

  1. Rechaza el commit que crece.
  2. Rechaza el renombre suelto.
  3. Un commit ajeno da exactamente el mismo resultado con bloque y sin él.
  4. Sin Python en el PATH, avisa y no rechaza por su cuenta.
  5. La sintaxis pasa sh -n.

Tu guion real quedó intacto: tiene el mismo SHA-256 antes y después de la prueba.

Ese veredicto es el del revisor sobre la v1.0. La v1.1 integra 12 de los 13 hallazgos. Hay una re-auditoría independiente en curso, y no conozco su resultado.

★ Insight ─────────────────────────────────────

  • El hallazgo más valioso fue el del permiso. Yo había llamado «firmado por John» a un archivo JSON que cualquier agente podía escribir. Repetí, dentro del arreglo, el mismo defecto que estábamos corrigiendo: un nombre que promete más de lo que el mecanismo hace. La solución fue decir la verdad sobre el mecanismo, que es un permiso declarado, y dejar de publicar el atajo. No hizo falta añadir más mecanismo.
  • «Ausente pesa 0» es la versión pequeña de una regla general de seguridad: un guardián no debe tratar «no pude comparar» como «todo bien» cuando quien hace el commit puede provocar ese estado a voluntad. ─────────────────────────────────────────────────

2. Prólogo de la decisión que te toca

[R17.seccion2.P1]