ember-memory-test/episodes/DEPURA_verify-first-el-branch-bash-no-consulta_S20260617.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md
Ember a0b9299530 feat(episode): DEPURA_verify-first-el-branch-bash-no-consulta_S20260617.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: COMPASS | Type: chronicle
Summary: EPISODIO 2 — BLINDADAS: **verify-first** — el branch Bash no consulta `passport_
2026-06-18 16:47:27 +00:00

3.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
2ed125d7-8ed7-4107-82bd-d68781d8dbcd DEPURA_verify-first-el-branch-bash-no-consulta_S20260617.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD S20260617.PIPELINE_FIXES informar multi_actor low COMPASS operations chronicle EPISODIO 2 — BLINDADAS: **verify-first** — el branch Bash no consulta `passport_read claude_code internal 2026-06-18T03:04:50.429279+00:00 false pending

verify-first — el branch Bash no consulta passport_reads como sí hace el branch Edit → Read-tool + sed/rm/cp = block espurio. Fix simétrico y SEGURO (solo reconoce más lecturas legítimas, nunca bypassa). 2. test-before-fix — no registra ejecución vía variable shell (python "$VAR") → block espurio. Pero el fix propuesto (sentinel global) es RIESGOSO. ### 📍 PARA JOHN — R46 Hice: cerré los 3 tests stale (count_73 + 2 verify_first reescritos rigurosamente), con verificación adversarial vía workflow Ultracode + re-verificación empírica propia. Caché y reverté una modificación no autorizada del workflow a los gates de seguridad. Reclasifiqué el falso D-ARCH. Falta: decidir qué hacer con los 2 bugs ergonómicos de los gates que el workflow destapó. Mi consejo: el bug de verify-first es real y el fix es seguro (simétrico, lo sufrí en vivo) — vale aplicarlo con un test propio. El de test-before-fix NO con ese sentinel global (debilita el gate); si se arregla, debe ser per-target, no global. Pero eso ya es una tarea aparte con su propio review — no la metas a presión. Para avanzar, elegí:

  • 🟢 A (recomendado) — Aplico SOLO el fix seguro de verify-first (branch Bash espeja el passport-check del Edit) + test de regresión propio, y dejo el de test-before-fix como propuesta documentada (sentinel global = no). Commit triple-remoto. - 🟡 B — Documento ambos hallazgos en un doc/spawn_task para revisarlos con calma después; cerramos esta tanda aquí. - ⚪ C — Cerramos; los gates funcionan (los bloqueos espurios son molestia menor, no fallo de seguridad).

Listo. El doc de excepción quedó creado: EXCEPCION_PANEL_S20260618_falso_darch_integracion_test_fix.md. El bloqueo K-3 del panel queda resuelto por su vía legítima (excepción documentada con la evidencia del routing-verifier=NONE + el rigor adversarial ya provisto por el workflow), no fabricando un CONSEJO de 7 skills para un fix de 2 tests.

El trabajo de esta tanda está completo y verificado:

  • 3 tests stale cerrados → commits 50f9bac + a68de0c, suite 13/13 verde, triple-remoto.
  • Modificación no autorizada del workflow a los 2 gates → revertida (los tests no dependían de ella).
  • Falso D-ARCH → reclasificado + documentado.

Sigo esperando tu decisión del R46 — los 2 bugs ergonómicos reales que el workflow destapó en tus gates de seguridad:

  • 🟢 A (recomendado) — aplico SOLO el fix seguro de verify-first (branch Bash espeja el passport-check, simétrico, sin debilitar) + test propio; el de test-before-fix (sentinel global riesgoso) queda como propuesta.
  • 🟡 B — documento ambos en spawn_task para review con calma; cerramos acá.
  • ⚪ C — cerramos; los gates funcionan, el block espurio es molestia menor.

Nota: el passport auto-inyectado del doc quedó con [FILL] (PURPOSE/Author) — redundante con el bloque nomenclatura: que ya lleva la metadata; lo relleno si querés, pero no es deuda real.