feat(episode): TRAZA_el-commit-de-rescate-estaba-sano_S00000000.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: NONE | Type: troubleshooting Summary: EPISODIO 1 — John: El commit de rescate estaba sano
This commit is contained in:
parent
f9d617e84d
commit
51af42aaf9
1 changed files with 48 additions and 0 deletions
|
|
@ -0,0 +1,48 @@
|
|||
---
|
||||
episode_id: "92945883-80a0-4eb2-8a42-bce9b20d87ec"
|
||||
puente_flat: "TRAZA_el-commit-de-rescate-estaba-sano_S00000000.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
|
||||
session_code: "S00000000"
|
||||
acto_dialogico: "informar"
|
||||
actor_flujo: "multi_actor"
|
||||
criticidad_aegis: "low"
|
||||
skill_dominante: "NONE"
|
||||
fase_proyecto: "operations"
|
||||
tipo_semantico: "troubleshooting"
|
||||
summary_one_line: "EPISODIO 1 — John: El commit de rescate estaba sano"
|
||||
source_type: "claude_code"
|
||||
trust_boundary: "internal"
|
||||
created_at: "2026-08-29T23:02:54.612705+00:00"
|
||||
relectura_tagged: false
|
||||
forgejo_commit_sha: "pending"
|
||||
---
|
||||
|
||||
Retomado y cerrado el frente que dejé abierto, John.
|
||||
|
||||
## El commit de rescate estaba sano
|
||||
|
||||
Era lo que más me preocupaba: `babd9cc4` metió 102 ficheros de 7 agentes con una sola comprobación. Las tres verificaciones pendientes, hechas:
|
||||
|
||||
**La suite subió, no bajó:** 3.851 → **3.891 passed, 0 failed**. El enjambre *añadió* 40 tests.
|
||||
|
||||
**El registro de gates, intacto:** `total=12 vencidos=0`. Nueve agentes tocaron reglas a la vez sin introducir ni una fecha mal redactada.
|
||||
|
||||
**Y la pregunta que de verdad importaba** — *¿alguien ablandó un test para ponerlo verde?* Balance: **+99 aserciones, −4**. Leí las 4 una por una y las tres son **mejoras**:
|
||||
|
||||
- Un agente hizo que el enrutador de `eval-instrument-forge` **dejara de fingir**: devolvía `"C"` para familias sin implementación, ahora devuelve `"C:NO_IMPLEMENTADA_v1"`. Y añadió un test que se pondrá **rojo** el día que alguien implemente C, obligándole a quitar el sufijo. Un recordatorio que no se puede ignorar, en vez de un comentario que envejece.
|
||||
- Otro eliminó un `pytest.xfail` **intermitente** (4 de 6 corridas) que absolvía un defecto real de forma no reproducible. Lo cambió por afirmar el invariante sobre N iteraciones: verde o rojo, sin zona gris. Y usó el cerrojo que ya existía en vez de fabricar otro.
|
||||
|
||||
## Un hallazgo nuevo, medido de paso
|
||||
|
||||
El arranque avisó de deriva y resultó ser más gorda de lo que el propio detector dice:
|
||||
|
||||
| Fuente | Skills |
|
||||
|---|---:|
|
||||
| Listadas en el mapa | **78** |
|
||||
| `total:` declarado | **82** |
|
||||
| En disco | **83** |
|
||||
|
||||
**El manifiesto se contradice a sí mismo antes de compararse con la realidad.** El detector solo ve «82 vs 83» porque compara el campo `total` contra el disco y **nunca comprueba que el total cuadre con su propia lista** — así que un hueco de 5 fichas es estructuralmente invisible. Sin declarar: `fragua`, `llm-memory-research-auditor` y `vendimia` (cero menciones en todo el manifiesto).
|
||||
|
||||
No lo arreglé: `INFRA_MANIFEST.yaml` es D3. Y el auto-arreglo tampoco lo toca — **hace bien**: su allowlist excluye a propósito lo que es *señal*. Un skill nuevo debe revisarse, no auto-bumpearse en silencio.
|
||||
|
||||
> 🎯 **En una frase:** lo que salvé a la carrera antes del apagón no solo no rompió nada — **subió los tests de 3.851 a 3.891**.
|
||||
Loading…
Reference in a new issue