feat(episode): TRAZA_b-el-interruptor-existe_S20260822.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: NONE | Type: troubleshooting Summary: EPISODIO 1 — MNEMO_PRE_DIGEST: B — El interruptor existe
This commit is contained in:
parent
0c772b403e
commit
d225fedfb3
1 changed files with 44 additions and 0 deletions
|
|
@ -0,0 +1,44 @@
|
||||||
|
---
|
||||||
|
episode_id: "f3d02dcc-04d6-4deb-a876-7305d134ad4f"
|
||||||
|
puente_flat: "TRAZA_b-el-interruptor-existe_S20260822.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
|
||||||
|
session_code: "S20260822.PIPELINE_FIXES"
|
||||||
|
acto_dialogico: "informar"
|
||||||
|
actor_flujo: "multi_actor"
|
||||||
|
criticidad_aegis: "low"
|
||||||
|
skill_dominante: "NONE"
|
||||||
|
fase_proyecto: "operations"
|
||||||
|
tipo_semantico: "troubleshooting"
|
||||||
|
summary_one_line: "EPISODIO 1 — MNEMO_PRE_DIGEST: B — El interruptor existe"
|
||||||
|
source_type: "claude_code"
|
||||||
|
trust_boundary: "internal"
|
||||||
|
created_at: "2026-08-22T18:42:01.037032+00:00"
|
||||||
|
relectura_tagged: false
|
||||||
|
forgejo_commit_sha: "pending"
|
||||||
|
---
|
||||||
|
|
||||||
|
Hecho: **B y C completos**, commit `37193c9b` en los tres remotos.
|
||||||
|
|
||||||
|
## B — El interruptor existe
|
||||||
|
|
||||||
|
Tu tesis —*"apagar sin borrar"*— dejó de ser una intención declarada y es una palanca que funciona:
|
||||||
|
|
||||||
|
| Prueba | Resultado |
|
||||||
|
|---|---|
|
||||||
|
| Idempotencia sobre el `settings.json` **real** | `diff --perfil frontier-full` → **0 líneas** |
|
||||||
|
| Suite del interruptor | **5 passed, 1 xfailed** (control positivo muerde) |
|
||||||
|
| Perfil `local-small` generado | **94 de 122 entradas sobreviven, 28 apagadas (23%)** |
|
||||||
|
| `settings.json` vigente | **intacto, 26.900 bytes** — el generador nunca puede escribirlo (`exit 3`) |
|
||||||
|
|
||||||
|
Y un bug cazado en el camino que valía la pena: el `diff` mostraba **18 líneas de ruido** por reordenar `matcher` antes de `hooks`. En una herramienta cuyo propósito es que *revises qué va a cambiar antes de aplicarlo*, ese ruido esconde el cambio real. Corregido a 0.
|
||||||
|
|
||||||
|
**Lo que no hice a propósito:** los perfiles `frontier-opus` y `frontier-fable` nacen **vacíos**. Apagarle compensatorios a Opus "porque ya no los necesita" sería exactamente la apuesta sin datos que R-8 prohíbe. Primero SHADOW, después medición, después apagado.
|
||||||
|
|
||||||
|
`★ Insight ─────────────────────────────────────`
|
||||||
|
Un hook me avisó de que mi `arnes_shadow_log.jsonl` nacería huérfano — sin lector, como los 314 de 525 que medí esta mañana. En vez de declarar un `consumed_by` y seguir, **construí el lector en el mismo acto**: `arnes_off_condition.py` cuenta las sesiones en sombra sin intervención y dicta si el componente es apagable. Eso cierra el bucle entero de tu tesis: *clasificar → sombra → medir → apagar*. El emisor y su consumidor nacieron juntos; era la única forma coherente de no fabricar el artefacto huérfano número 315 mientras documentaba la plaga.
|
||||||
|
`─────────────────────────────────────────────────`
|
||||||
|
|
||||||
|
## C — El criterio, derivado y con una corrección incómoda
|
||||||
|
|
||||||
|
No inventé la cifra: la **derivé por análisis de potencia** — y el cálculo destapó un problema del borrador.
|
||||||
|
|
||||||
|
Con McNemar pareado, α=0,05 y potencia 0,80, **n=40 sólo detecta efectos de ~24 puntos o más**. El borrador proponía exigir **Δ ≥ 20 con n=40**: infrapotenciado. Habría producido un "no significativo" incapaz de distinguir *"el arnés no sirve"* de *"no había datos suficientes"* — la peor clase de resultado, porque **parece un veredicto y es una laguna**.
|
||||||
Loading…
Reference in a new issue