update(episode): TRAZA_tres-falsos-positivos-de-la-mscara-nombr_S20261009.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: NONE | Type: advisory
Summary: EPISODIO 1 — MEMORIA: Tres falsos positivos de la máscara (nombres de...
This commit is contained in:
Ember 2026-10-16 03:48:57 +00:00
parent 4eeea64e3c
commit c7607b725e

View file

@ -7,7 +7,7 @@ actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "NONE"
fase_proyecto: "operations"
tipo_semantico: "troubleshooting"
tipo_semantico: "advisory"
summary_one_line: "EPISODIO 1 — MEMORIA: Tres falsos positivos de la máscara (nombres de..."
source_type: "claude_code"
trust_boundary: "internal"
@ -16,12 +16,24 @@ relectura_tagged: false
forgejo_commit_sha: "pending"
---
Hecho y guardado: `7cecb29b` en los 3 remotos. Causa en una frase: el contrato de `repo-digestor` declara tres clases de error que nunca se añadieron al mapa estático de la telemetría, así que un fallo de ese agente habría quedado sin clasificar.
Tres falsos positivos de la máscara (nombres de ficheros y de pruebas con dígitos: `banco_t02_suite_guardianes`, `test_sa23_edad_alcance_drift`, `test_T3b_error_class…`), ninguna credencial. Lo dejo así: reescribir nombres reales para contentar al detector sería medir la sombra.
- **Antes:** `test_T3b_error_class_sale_de_los_contratos_reales` fallaba nombrando `HOSTILE_STOP`, `REPO_EMPTY` y `REPO_OUTSIDE_QUARANTINE`.
- **Cambio:** 5 líneas en `mega-hook-subagent-telemetry.py`: las tres clases apuntan a `repo-digestor` (62 → 65 clases); el hook compila e importa.
- **Después:** el test pasa; la suite del oráculo da 25 verdes más este, y `test_lectores_herencia` sigue verde.
T-02 queda cerrada y guardada (`870ed9b9` en los 3 remotos).
**Un rojo nuevo que no es mío y queda declarado:** `test_T2_cobertura_sensor_vs_transcript` falla porque el sensor registró 2 spawns donde el transcript de otra sesión muestra 1. No toca el diccionario que cambié (cero referencias) y no estaba entre los rojos de la copia aislada, así que es estado del entorno o un doble conteo del sensor. Lo dejé como chip de tarea con diagnóstico FORENSE antes de tocar nada.
> 🎯 **En una frase:** corrí las 4.657 pruebas de los guardianes en una copia aislada, 4.608 pasaron, y de las 49 rojas solo 2 son defectos reales de código; ningún guardián dejó de negar.
Con esto, los dos defectos reales de código que destapó T-02 están cerrados. Chips vivos: el nuevo del sensor que cuenta de más. Lo tuyo sigue siendo el guion B-6 y, más adelante, la fase 3 de red.
✅ **Hice:** copia del repo fuera del proyecto con la conexión al servidor MEMORIA inutilizada (y comprobado que lo estaba), suite completa en 14 minutos, clasificación de cada rojo re-ejecutando los dudosos en el repo real, diagnóstico y formulario actualizados (T-02 ejecutada, 34 de 37), banco de pruebas cerrado y borrado.
⏳ **Falta:** los 2 defectos reales tienen cada uno un chip de tarea listo para arrancar (fijar la codificación en dos librerías; cablear tres clases de error en la telemetría). Los 2 «estados» rojos son tuyos y ya los conocías: la cola con 17 abiertas sobre 10 y 23 gates vencidos sin decisión. La única prueba que sigue sin correr es la del reclamo, hasta arreglar que la suite hable con producción.
💡 **Mi consejo:** arranca el chip del encoding cuando quieras (10 minutos, bajo riesgo). Lo demás de seguridad que depende de ti sigue siendo el guion B-6 y, más adelante, la fase 3 de red.
Evidencia: [T02_clasificacion_fallos_copia_aislada_S20261015.md](generados-por-claude/enjambre/S20261009_seguridad_ronda_a/evidencia/T02_clasificacion_fallos_copia_aislada_S20261015.md).
Hecho y guardado: `c5d87c4a` en los 3 remotos. Causa en una frase: dos llamadas a `subprocess.run` con `text=True` no fijaban `encoding`, así que en Windows decodificaban con cp1252 y podían reventar con acentos o emojis.
- **Antes:** el test `test_clase_encoding_todas_las_libs_subprocess` fallaba nombrando `tareas_row.py:271` y `telemetry_digest_refresher.py:168`.
- **Cambio:** 4 líneas en 2 ficheros, `encoding="utf-8", errors="replace"` en la misma llamada, el patrón que ya usan las otras librerías.
- **Después:** el test pasa; las dos suites que importan esos módulos dan 16 verdes y 1 xfail previsto.
Un aviso: el chip de esta tarea ya aparecía como **iniciado por ti** en otra sesión, así que no pude retirarlo. Si esa sesión sigue abierta, su trabajo es redundante y chocaría con `c5d87c4a`; conviene cerrarla sin commitear. El segundo chip (cablear las tres clases de error en la telemetría) sigue pendiente y es tuyo arrancarlo o pedirme que lo haga aquí.