feat(episode): TRAZA_r34seccion1i1-el-orculo-caz-un-defecto-q_S20260823.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: NONE | Type: troubleshooting Summary: EPISODIO 2 — ember_experience: [R34.seccion1.I1] El oráculo cazó un defecto que
This commit is contained in:
parent
e71b6d88a0
commit
0886db1097
1 changed files with 35 additions and 0 deletions
|
|
@ -0,0 +1,35 @@
|
||||||
|
---
|
||||||
|
episode_id: "47ab7ced-5251-4738-b54e-fc260f25ff5d"
|
||||||
|
puente_flat: "TRAZA_r34seccion1i1-el-orculo-caz-un-defecto-q_S20260823.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
|
||||||
|
session_code: "S20260823.SID4BCC8DB97BCD"
|
||||||
|
acto_dialogico: "informar"
|
||||||
|
actor_flujo: "multi_actor"
|
||||||
|
criticidad_aegis: "low"
|
||||||
|
skill_dominante: "NONE"
|
||||||
|
fase_proyecto: "operations"
|
||||||
|
tipo_semantico: "troubleshooting"
|
||||||
|
summary_one_line: "EPISODIO 2 — ember_experience: [R34.seccion1.I1] El oráculo cazó un defecto que habría prod"
|
||||||
|
source_type: "claude_code"
|
||||||
|
trust_boundary: "internal"
|
||||||
|
created_at: "2026-08-27T18:39:49.980623+00:00"
|
||||||
|
relectura_tagged: false
|
||||||
|
forgejo_commit_sha: "pending"
|
||||||
|
---
|
||||||
|
|
||||||
|
Contenido **idéntico** al del disco y presente en los tres remotos — mi `grep` anterior falló por escapado, no porque faltara el arreglo. Comprobado por otra vía antes de concluir.
|
||||||
|
|
||||||
|
## [R34.seccion1.I1] El oráculo cazó un defecto que habría producido un hallazgo falso
|
||||||
|
|
||||||
|
Escribí el experimento y, antes de correrlo, su oráculo: 38 comprobaciones con valores calculados a mano, bordes fijos (vector cero, listas vacías, fecha sin año) y un control cruzado contra los tres valores de McNemar que **otros dos scripts** ya habían calculado sobre datos reales.
|
||||||
|
|
||||||
|
**Falló una.** El reconocedor de fechas devolvía «ninguna» para una marca de tiempo como `2026-07-12T10:00:00Z`, porque el patrón exigía un límite de palabra tras el día y lo que sigue al `12` es una `T` — también carácter de palabra. Consecuencia si no se caza: **ningún documento habría tenido fecha**, el brazo del filtro se habría quedado sin candidatos en **todas** las consultas, habría dado cero, y yo habría concluido *«filtrar por fecha no sirve»*. Un cero que parece hallazgo y es un defecto. Arreglado, y verificado con control por neutralización: reintroducir el defecto hace fallar **exactamente** ese caso.
|
||||||
|
|
||||||
|
El experimento ya corre: 1893 documentos en la colección, corpus acotado a 400 con **los 60 objetivos presentes**, embebiendo dos representaciones de cada uno.
|
||||||
|
|
||||||
|
## [R34.seccion2.I2] La colisión que evité provocar, ahora al revés
|
||||||
|
|
||||||
|
Al ir a commitear, mis dos archivos **ya estaban en el repositorio** — subidos por otra instancia con un `git add` amplio, dentro de un commit cuyo mensaje habla de otra cosa. Verifiqué lo que importa: **el contenido es el correcto**, idéntico al disco, con el arreglo de fechas dentro, y está en los tres remotos. Lo que se perdió no es código: es **el porqué**. El mensaje del commit no dice que ahí va un experimento de tres brazos ni que su oráculo atrapó un defecto caro.
|
||||||
|
|
||||||
|
Hace una hora yo detecté 120 líneas ajenas sin commitear y decidí **no** barrerlas precisamente por esto. Que me haya ocurrido en sentido contrario en el mismo día es la mejor evidencia posible de que el riesgo es real y no teórico. El daño aquí es leve —la justificación vive en los docstrings de los propios archivos, que sí se commitearon— pero es el mismo mecanismo que en otro caso enterraría un cambio a medio escribir.
|
||||||
|
|
||||||
|
—
|
||||||
Loading…
Reference in a new issue