Skill: NONE | Type: troubleshooting Summary: EPISODIO 1 — Neo4j: Las 24 "funciones muertas" no eran código muerto
2.8 KiB
episode_id: "93004c68-ed17-47c9-af5a-4512b89ca0ac" puente_flat: "TRAZA_las-24-funciones-muertas-no-eran-cdigo-m_S20260827.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD" session_code: "S20260827.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 — Neo4j: Las 24 "funciones muertas" no eran código muerto" source_type: "claude_code" trust_boundary: "internal" created_at: "2026-08-28T03:07:52.351421+00:00" relectura_tagged: false forgejo_commit_sha: "pending"
Los dos frentes de B cerrados, y el segundo dio un resultado que no esperaba.
Las 24 "funciones muertas" no eran código muerto
Cero de 24 se pueden borrar. Eso no es un resultado pobre: es un resultado que evita un destrozo. Borrar por la etiqueta habría roto, entre otras cosas, el protocolo de claims que el propio arranque te instruye usar.
| Grupo | Qué son de verdad | |
|---|---|---|
| A | Invocada por runbook — el arranque imprime el comando; el AST no puede verlo | 1 |
| B | Escritores de Neo4j programados y nunca cableados — esperan el gate M5 sin firmar | 8 |
| C | Documentadas y sin enchufar — capacidad construida, nadie la conectó | 15 |
| D | Sin ningún rastro → borrables | 0 |
Lo que ese número mide no son cadáveres: es obra parada.
Y la obediencia decidía sobre el 6% de la evidencia
El informe ya declaraba su punto ciego, pero veinte líneas por debajo del número y de su umbral —y ese umbral no es decorativo: "<50% sostenido 3 semanas → retirar los subagentes". Ahora la proporción viaja pegada a la cifra:
★ Insight ─────────────────────────────────────
- El censo no estaba roto: estaba viejo. Su JSON llevaba
tsde las 15:02 y otra instancia había añadido a las 18:34 el test que cubría una de esas funciones. Re-ejecutado, migró sola y el total bajó de 25 a 24. - Mi primer triaje usó coincidencia por subcadena y dio
data_filecomo "usada en 10 ficheros" — eranmetadata_fileycheck_data_files. Un triaje laxo declara viva una función muerta: el error opuesto al que buscaba. - El caso que mejor enseña el límite del método:
claim_and_declare, la función que el arranque me manda teclear en cada sesión, era para el análisis estático la más muerta de todas.─────────────────────────────────────────────────
—
🎯 En una frase: fui a buscar código muerto para borrar, encontré cero, y en su lugar encontré 23 capacidades ya construidas que nadie enchufó — 8 de ellas esperando una firma tuya.