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_
This commit is contained in:
parent
7d514fd1ef
commit
a0b9299530
1 changed files with 35 additions and 0 deletions
|
|
@ -0,0 +1,35 @@
|
|||
---
|
||||
episode_id: "2ed125d7-8ed7-4107-82bd-d68781d8dbcd"
|
||||
puente_flat: "DEPURA_verify-first-el-branch-bash-no-consulta_S20260617.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
|
||||
session_code: "S20260617.PIPELINE_FIXES"
|
||||
acto_dialogico: "informar"
|
||||
actor_flujo: "multi_actor"
|
||||
criticidad_aegis: "low"
|
||||
skill_dominante: "COMPASS"
|
||||
fase_proyecto: "operations"
|
||||
tipo_semantico: "chronicle"
|
||||
summary_one_line: "EPISODIO 2 — BLINDADAS: **verify-first** — el branch Bash no consulta `passport_read"
|
||||
source_type: "claude_code"
|
||||
trust_boundary: "internal"
|
||||
created_at: "2026-06-18T03:04:50.429279+00:00"
|
||||
relectura_tagged: false
|
||||
forgejo_commit_sha: "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](docs/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.
|
||||
Loading…
Reference in a new issue