Skill: COMPASS | Type: chronicle Summary: EPISODIO 2 — BLINDADAS: **verify-first** — el branch Bash no consulta `passport_
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_taskpara 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_taskpara 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 bloquenomenclatura:que ya lleva la metadata; lo relleno si querés, pero no es deuda real.