{"id": "V001", "fecha": "2026-10-06T04:59:07+00:00", "actor": "Claude (supervisado por el usuario)", "tipo": "adquisicion", "resumen": "Descarga de datos abiertos de día", "detalle": "23 conjuntos de datos.gov.co por la API SODA documentada (UA identificable, sin saltar controles) más 30 documentos públicos elegidos a mano (15 artículos abiertos y 15 oficiales o de prensa). La API de búsqueda de arXiv respondió 429; se cambió a una lista fija de PDFs con pausa de 6 s. Dos sitios con certificado TLS inválido (DNP, UNAL) se descargaron una vez sin verificar el certificado; queda anotado en el índice.", "entradas": "datos.gov.co, arxiv.org, sitios oficiales", "salidas": "crudos/*.jsonl, crudos/docs/*.txt, MANIFIESTO.json", "resultado": "503 MB de datos y 4,3 MB de texto; 3 PDFs de MDPI dieron 403 y no se obtuvieron"}
{"id": "V002", "fecha": "2026-10-06T04:59:07+00:00", "actor": "Claude", "tipo": "decision", "resumen": "La noche no accede a internet", "detalle": "Se creó lib/solo_local.py, que bloquea cualquier conexión que no sea a la ATOM, al túnel de la GPU o al servidor de modelos; todas las etapas lo importan. Atiende la instrucción del usuario de no hacer raspado de noche.", "entradas": "instrucción del usuario", "salidas": "lib/solo_local.py", "resultado": "verificado: importa antes de cualquier uso de requests"}
{"id": "V003", "fecha": "2026-10-06T04:59:07+00:00", "actor": "Claude", "tipo": "auditoria", "resumen": "Problemas de calidad de datos detectados antes de la noche", "detalle": "Superficie por definir en 17.876 de 22.635 km; 98,3 % de puentes con inspección anterior a 2020; valores de contratos INVIAS imposibles; departamento de contratos INVIAS siempre Bogotá (sede); campo en ejecución del DNP no indica obra activa.", "entradas": "e1_resumen.json, e2_auditoria.json", "salidas": "decisiones: no usar contratos por departamento, excluir valores >5 billones, auditar el estado en ejecución", "resultado": "incorporado en E2, E7 y E8"}
{"id": "V004", "fecha": "2026-10-06T04:59:07+00:00", "actor": "Claude", "tipo": "pruebas", "resumen": "Pruebas por etapa con datos parciales", "detalle": "E1 completa; E2 con 60 proyectos (2,5 por segundo); E3 con 30.000 vías; E5 con 3 documentos (33 s por documento; citas verificadas 7 de 15); E6 con 12 casos (acuerdo 91,7 % en tipo de vía); E7 con 3 departamentos (cifras verificadas). Tablas de prueba limpiadas antes del lanzamiento.", "entradas": "scripts e1 a e8", "salidas": "logs de prueba", "resultado": "lanzamiento 2026-10-06 04:56 UTC con límite 11:00 UTC"}
{"id": "V005", "fecha": "2026-10-06T09:14:42+00:00", "actor": "Claude", "tipo": "correccion", "resumen": "Kilómetros mal extraídos por el modelo", "detalle": "La verificación de E2 comprobaba que la cita existiera en el texto pero no que el número coincidiera con su unidad: el modelo daba metros como km (2000 metros → 2000 km) y leía rangos de postes como km (PR1+0000 a PR47+0514 → 470514 km). Se creó E10, que recalcula el valor desde la cita con reglas explícitas (rangos PR y K, km, metros); 144 de 185 citas recuperadas, máximo 153 km. Se regeneraron las fichas y el informe.", "entradas": "obras_clas.evidencia_km", "salidas": "obras_clas.km_corr, e10_km.json", "resultado": "el campo km original de E2 no es confiable"}
{"id": "V006", "fecha": "2026-10-06T09:14:42+00:00", "actor": "Claude", "tipo": "correccion", "resumen": "Etiqueta engañosa en la auditoría del DNP", "detalle": "probablemente_activos=2645 incluía los 2406 proyectos sin recursos para la vigencia actual; se renombró y se añadió con_estado_activo_estricto (623).", "entradas": "e2_auditoria.json", "salidas": "e2_auditoria.json", "resultado": "corregido"}
{"id": "V007", "fecha": "2026-10-06T09:14:42+00:00", "actor": "Claude", "tipo": "correccion", "resumen": "Informe fallaba por falta de tabulate", "detalle": "Se detectó al probar E8 antes del cierre; se reemplazó to_markdown por una función propia.", "entradas": "e8_informe.py", "salidas": "e8_informe.py", "resultado": "corregido antes de la ejecución del cierre"}
{"id": "V008", "fecha": "2026-10-06T09:14:42+00:00", "actor": "Claude", "tipo": "vigilancia", "resumen": "Falsa alarma de sin avance y error real en E9", "detalle": "El vigilante detectó un Traceback real en E9 (variable id en vez de id_) y luego avisó SIN_AVANCE porque todas las etapas habían terminado (E9 FIN 08:30). Ambos se atendieron.", "entradas": "logs", "salidas": "e9 relanzada", "resultado": "resuelto"}
