VisaPredict AIVisaPredictAI
← VisaPredict AIPlan y avance

Estado verificable del plan MLOps: avance, épicas, historias de usuario, ruta de ejecución y evidencia reciente.

El plan, sin humo

Un tablero vivo del plan MLOps v2. El porcentaje pondera las historias de usuario; una acreditación local todavía no equivale a integrar resultados en producción.

Plan activo

60 / 62 US

54 terminadas · 5 en observación

Fase actualG · Cierre académicoD7, F2, F5, E5, G4 observación 0/2
SiguienteG7Reconciliación de campaña
Producciónfresh2026-09-158ec972c234
Actualizado16 oct 2026data main · a8029f2

De plataforma a evidencia

La plataforma está preparada y la campaña ya completó el cálculo. Sus complementarias están acreditadas en local; ahora toca reconciliar el corte y sincronizar las seis superficies con autorización.

0+A+BFundación
DPlataforma MLOps
CClean code
FSincronía total
ECohortes y modelos
GCierre académico

Ahora: Sigue G7 en la épica G: la campaña M74-E está calculada y reconciliada en local con sus cuatro complementarias acreditadas; las cifras y figuras re-derivadas y la prosa corregida esperan en candidatos, con el guardián de consistencia en cero. Integrar documental, datos y web en ese orden y validar la transacción antes de autorizar propagación y publicación del corte. D7, F2, F5, E5 y G4 siguen en observación (0/2). A6 y D5 quedan diferidas.

Avance por épica

Cada barra usa la misma ponderación: terminado 100 %, observación 75 %, en curso 50 % y el resto 0 %.

0Terminado

Preparar main sin perder nada

Base aislada, backports, CI mínimo e higiene con recuperación demostrada.

100%7/7 terminadas
ADiferido

Carga del boletín

Ingesta manual segura y cron resiliente ante el bloqueo de la fuente oficial.

86%6/7 terminadas
BTerminado

CI verde y seguridad mínima

Protección de main, autenticación del cron, supply chain y seguridad web.

100%7/7 terminadas
DEn observación

Plataforma MLOps que paga

Integridad del release, observabilidad y operación reproducible antes de entrenar más modelos.

86%7/9 terminadas
CTerminado

Clean code con factura

Reducir duplicación y complejidad sólo donde existe una prueba de valor.

100%10/10 terminadas
FEn observación

Sincronía total

Una misma verdad canónica en datos, paper, web, RAG, tarjeta y producción.

94%6/8 terminadas
EEn observación

Cohortes, DeepAR y router

Responder la hipótesis de estabilidad con evaluación pre-registrada y resultados positivos o negativos.

96%6/7 terminadas
GEn curso

Cierre académico

Convertir la plataforma y sus resultados en tesis, paper y defensa reproducibles.

89%5/7 terminadas

Plan por épica y US

Abre una épica para ver el resultado esperado y la evidencia disponible de cada historia.

0Preparar main sin perder nada7/7 · 100%Terminado
  1. 0.1
    Worktree de integración

    Aislar main del trabajo R9 preservado.

    Terminado
  2. 0.2
    Reauditar el diagrama ER

    Portar el diagrama y su generador con equivalencia visual.

    Terminado
  3. 0.3
    Backports LaTeX

    Integrar y compilar los documentos sin perder ramas.

    Terminado
  4. 0.4
    CI mínimo viable

    Mantener un ci-gate estricto y una historia lineal.

    Terminado
  5. 0.5
    Preservar PR #4

    Mantener R9 abierto y en draft hasta una decisión independiente.

    Terminado
  6. 0.6
    Higiene verificable

    Limpiar sólo blancos acreditados y conservar recibos de recuperación.

    Terminado
  7. 0.7
    Documentación de estado

    Registrar únicamente hechos consumados y SHAs comprobados.

    Terminado
ACarga del boletín6/7 · 86%Diferido
  1. A1
    Puerto único de red

    Inyectar el fetcher, aplicar un retry y tipar el bloqueo WAF.

    Terminado
  2. A2
    Ingesta manual validada

    Validar, promover atómicamente y subir a S3 en modo create-only.

    Terminado
  3. A3
    Cron resiliente

    Separar el acceso a la fuente de los gates, CI y publicación.

    Terminado
  4. A4
    Señal honesta

    Versionar el estado de fuente y mantener una issue canónica.

    Terminado
  5. A5
    Pruebas sin red

    Cubrir fetch, freeze e ingesta sin depender de Internet.

    Terminado
  6. A6
    BrowserFetcher

    Spike opcional y acotado; el ritual manual sigue siendo la ruta fiable.

    Diferido
  7. A7
    Corte agosto–septiembre

    Publicar 300 snapshots, 298 meses y el corte 2026-09 con regla cero.

    release/2026-09-158ec972c234
    Terminado
BCI verde y seguridad mínima7/7 · 100%Terminado
  1. B0
    Publicación protegida

    Usar una GitHub App de alcance mínimo para publicar con gates.

    Terminado
  2. B1
    Supply chain mínima

    Conservar locks, contratos, triage y acciones fijadas por SHA.

    Terminado
  3. B2
    Contratos de locks

    Verificar toolchain y locks dentro de los jobs vivos.

    Terminado
  4. B3
    ci-gate estricto

    Exigir success de política, consistencia, lint y modelado.

    Terminado
  5. B4
    Seguridad web

    Reducir 17 avisos de producción a cero y documentar el triage.

    Terminado
  6. B5
    Watchdog de fuente

    Distinguir fuente bloqueada de pipeline roto sin perder alertas.

    Terminado
  7. B6
    Medición base

    Medir el camino crítico real del CI sobre un SHA publicado.

    Terminado
DPlataforma MLOps que paga7/9 · 86%En observación
  1. D1
    Fricción DVC

    Bloquear pushes cuando el lock no representa el DAG.

    f67edf9
    Terminado
  2. D2
    Advisories visibles

    Rechazar artefactos vacíos y convertir warnings y advisories en contratos.

    0092af0
    Terminado
  3. D3
    Estado de ingesta

    Mantener un feed cerrado, atómico y fail-closed.

    004e478
    Terminado
  4. D4
    Un solo release_id

    Romper el ciclo tarjeta–manifiesto con identidad normalizada.

    f9c22a2
    Terminado
  5. D5
    Caveat provisional derivado

    Retirarlo únicamente tras la campaña causal F2; nunca a mano.

    Diferido
  6. D6
    Higiene de disco

    Inventariar, preservar y limpiar con GC conservador y recibos.

    Terminado
  7. D7
    Tracking mensual

    Observar dos rebuilds reales antes de decidir si track_run se queda.

    80b3bfb · 0/2
    En observación
  8. D8
    Consolidación documental

    Crear ENGINEERING.md con matriz de fuentes y backlinks, sin borrar aún.

    5dd424b
    Terminado
  9. D9
    Arquitectura MLOps

    Publicar una página y un SVG del sistema completo con cifras canónicas.

    494bcfd
    Terminado
CClean code con factura10/10 · 100%Terminado
  1. C1
    Taxonomía única

    Centralizar categorías y metadatos con golden master.

    5fa14fa
    Terminado
  2. C2
    Extracción común

    Eliminar la duplicación entre scrapers con funciones puras.

    25722fe
    Terminado
  3. C3
    Mega-audit reejecutable

    Sustituir globals mutables por un AuditReport testeable.

    bb64647
    Terminado
  4. C4
    Errores específicos

    Eliminar silencios y registrar país y mes de cada salto.

    df597ff
    Terminado
  5. C5
    Kit de figuras

    Extraer tema, idioma y guardado común de tres generadores.

    68bf843
    Terminado
  6. C6
    Base de datos modular

    Separar migraciones, carga y gobernanza preservando el fingerprint.

    17d0ebf
    Terminado
  7. C7
    Código muerto

    Retirar caminos sin consumidores con guardianes anti-resurrección.

    10b100d
    Terminado
  8. C7b
    Semántica tree-dirty

    Usar una sola definición comprobable de árbol sucio.

    10b100d
    Terminado
  9. C8
    Tooling honesto

    Medir cobertura y complejidad sobre el producto real.

    309e214
    Terminado
  10. C9
    LOC por rol

    Impedir que tooling vuelva a superar la mitad del producto.

    817afc3
    Terminado
FSincronía total6/8 · 94%En observación
  1. F1
    Número de modelos derivado

    Eliminar el literal web y leer key_facts fail-closed.

    Terminado
  2. F2
    Banner de fuente

    Mostrar el bloqueo de la fuente sin prometer actualización automática.

    17eb7a9 · activa en el próximo corte gobernado
    En observación
  3. F3
    Guardián generalizado

    Vigilar macros, tablas, propuesta y documentación.

    033c8a5
    Terminado
  4. F4
    RAG canónico

    Responder cifras desde JSON y exigir un pin coherente en producción.

    Terminado
  5. F5
    Paper derivado

    Mover literales y caveats a facts versionados.

    7925dae · campaña causal calculada; facts pendientes de propagación
    En observación
  6. F6
    Galería preparada

    Añadir el hook de cohorte sin duplicar datos.

    Terminado
  7. F7
    Documentos rancios

    Corregir conteos y afirmaciones obsoletas.

    1c81b6f
    Terminado
  8. F8
    Runbook de propagación

    Mecanizar el orden datos → web → producción.

    1c81b6f
    Terminado
ECohortes, DeepAR y router6/7 · 96%En observación
  1. E0
    Escala única

    Centralizar la escala naïve previa al entrenamiento.

    816d088
    Terminado
  2. E1
    Cohortes causales

    Construir estabilidad sin usar información del hold-out.

    967dfcb
    Terminado
  3. E2
    Scan exploratorio

    Medir lo ya puntuado por cohorte sin reentrenar.

    e8b4629
    Terminado
  4. E3
    Modelos globales

    Entrenar una escalera registrada y documentar también el fracaso.

    850d4bd
    Terminado
  5. E4
    Router por estabilidad

    Competir contra el naïve de cada cohorte bajo el gate canónico.

    2ff4d07
    Terminado
  6. E5
    Propagación científica

    Llevar resultados a tesis, web, RAG y tarjeta con regla cero.

    a53202e
    En observación
  7. E6
    Limpieza pagada

    Unificar universos y corregir catálogo y docstrings fósiles.

    51a83ff
    Terminado
GCierre académico5/7 · 89%En curso
  1. G1
    Overleaf

    Compilar y revisar los tres documentos oficiales desde el repositorio documental.

    Terminado
  2. G2
    Amenazas a la validez

    Documentar el bloqueo de la fuente y la ingesta semiautomática, y retirar la promesa de operación desatendida.

    29ca6cb
    Terminado
  3. G3
    Resultado de cohortes

    Publicar la subsección aunque el resultado sea negativo.

    a53202e
    Terminado
  4. G4
    Paper MICAI

    Propagar corte y cohortes con caveats derivados.

    a8029f2 · corte publicado; campaña nueva calculada, descargo pendiente de reconciliación
    En observación
  5. G5
    Deck de defensa

    Generar las cifras de la presentación desde los artefactos sellados, con procedencia y pruebas anti-deriva.

    Terminado
  6. G6
    Cierre autónomo

    Reconciliar la retroalimentación académica y A6/A7 con el documento principal; después cerrar M74-E localmente antes de autorizar otra campaña.

    Terminado
  7. G7
    Reconciliación de campaña

    La campaña M74-E está calculada y reconciliada en local con sus cuatro complementarias acreditadas; las cifras y figuras re-derivadas y la prosa corregida esperan en candidatos, con el guardián de consistencia en cero. Integrar documental, datos y web en ese orden y validar la transacción antes de autorizar propagación y publicación del corte.

    local · reconciliación
    En curso

Últimos avances

Cada día tiene su propia sección para mostrar qué avanzó. La bitácora cambia únicamente cuando existe evidencia verificable: commit, CI, release o recibo.

1 avance
  1. G7 corrige las figuras de resultados y vuelve a reconciliar sin repetir la campaña

    En curso

    Una auditoría externa encontró dos defectos en las figuras. El listón parsimonioso usaba una métrica de selección sobre ejes del conjunto reservado, y una figura conservaba una referencia fija de una corrida antigua. Ahora el listón se calcula en la misma métrica y sobre las mismas series que se dibujan, y la figura se niega a dibujarse si no puede hacerlo. Cuatro figuras más que dependen de la campaña entraron al contrato de la reconciliación por nombre exacto, y la reconciliación ya no se cierra si falta alguna. Una segunda auditoría mostró que el ranking promediaba algunos modelos sobre menos series que el listón, lo que invertía la comparación. Ahora sólo se ranquean los modelos con cobertura completa, y los parciales se declaran aparte con su cobertura. Cada corrección se hizo con pruebas que fallaban antes y una nueva reconciliación; las anteriores se conservan y siguen verificando. Una auditoría confirmó el cierre en local. Nada se propagó ni se publicó.

1 avance
  1. G7 reconcilia la campaña con sus complementarias y corrige la prosa en candidatos

    En curso

    Un recibo de reconciliación reúne en un árbol desechable las salidas selladas de la campaña y los artefactos de las cuatro complementarias, re-acreditando cada una con su lector, y sella capas, salidas e inventario. Una auditoría externa encontró que una salida borrada tras el cierre seguía acreditada y que el cierre aceptaba salidas antiguas junto a otras nuevas; ambos casos se rechazan ahora. La reconciliación real se ejecutó en local y re-derivó el veredicto, los hechos canónicos y las figuras. Con esos artefactos se corrigió la prosa científica de la tesis, del paper y de la documentación en candidatos sin commit, con una tabla que liga cada frase a su artefacto. Algunas conclusiones cambian de sentido, no sólo de cifra, y se publicarán con el corte. El guardián de consistencia quedó en cero y la tesis compila sin avisos.

2 avances
  1. G7 cierra en local las tres puertas previas a la propagación

    En curso

    La lectura de una transacción en curso y el camino de campaña de los consumidores de CRPS exigen ahora el esquema completo de la transacción. Las figuras de hold-out derivan su ventana del protocolo y rechazan pronósticos de otra añada. La sincronización con publicación activada y sin cambios termina sin consumir el permiso. Una segunda ronda rechaza identificadores de serie vacíos y el staging ajeno, y por decisión del autor retira la vía directa para marcar publicada una campaña: sólo se llega a publicada desde la transacción acreditada.

  2. G7 conecta F4 al CRPS acreditado: sin acreditación, la figura se niega

    En curso

    El panel CRPS de la figura F4 leía el archivo que hubiera en disco. Ahora pasa por el lector de procedencia y, por decisión del autor, rechaza con su motivo un CRPS que no esté acreditado en lugar de rotularlo. El script comprueba la acreditación antes de dibujar ninguna figura, de modo que no deja figuras regeneradas a medias. Una auditoría externa encontró una vía pública que permitía saltarse esa comprobación, y quedó cerrada. Dentro de una campaña el comportamiento no cambia, porque el CRPS de referencia se sella antes de la etapa de figuras. No se regeneró ninguna figura: F4 se regenerará dentro de la secuencia de propagación, después de cerrar las tres puertas pendientes.

1 avance
  1. G7 da contrato al CRPS de referencia y valida el camino de campaña

    En curso

    El CRPS de referencia de los modelos distribucionales, que alimenta el panel CRPS de F4, no tenía recibo ni lector. Ahora tiene su propio tipo de complementaria. El recibo fija el protocolo completo, con modelos, muestras y semilla, y el lector recalcula la sustancia contra el catálogo de la base sellada. Dos auditorías externas encontraron que, cuando una campaña respaldaba el recibo, el consumidor sólo comprobaba la identidad. También encontraron que algunas entradas mal formadas producían excepciones en lugar de rechazos. Ambos consumidores de CRPS validan ahora protocolo, forma y sustancia en todos los caminos. La complementaria quedó acreditada en local y su resultado es idéntico byte a byte al de una corrida independiente. Las cifras todavía no son canónicas ni están propagadas.

2 avances
  1. G7 repara el muestreo de ARIMA/SARIMA y acredita el CRPS campeón

    En curso

    La primera complementaria del CRPS campeón se calculó con procedencia correcta, pero se marcó fallida por sustancia. La versión de la biblioteca de pronóstico fijaba el estado inicial al muestrear ARIMA/SARIMA, así que el primer paso salía determinista y la banda del 95 % tenía ancho nulo. El muestreo ahora usa la distribución predictiva completa, sin cambiar el pronóstico puntual. El lector exige además que una transacción acreditada respalde el recibo y que los conteos sean enteros. Una auditoría externa detectó que el muestreador había perdido el contrato de semillas; se restauró, y las fábricas de ARIMA y SARIMA quedaron sembradas. La nueva complementaria quedó acreditada en local y se reprodujo byte a byte en un segundo entorno aislado. La complementaria fallida se conserva como evidencia. Nada se propagó ni se publicó.

  2. El gate semanal de seguridad y la prueba E2E inestable quedan cerrados en producción

    Terminado

    El portal actualizó sus dependencias para despejar los avisos altos de producción que hacían fallar el control semanal de seguridad. La ejecución manual del control terminó en verde sobre main. La prueba de interfaz que fallaba de forma intermitente ahora recorre la página en pasos acotados y, si se atasca, deja un diagnóstico. Su suite pasó completa en la integración continua, sin reintentos. El gate de producción pasa sin avisos altos ni críticos; persisten avisos de menor severidad y de desarrollo, registrados en el triage con su plan de corrección o a la espera de parche.

3 avances
  1. G7 acredita C3 en local y cierra su evidencia durable

    En curso

    La comparación de conformal se volvió a calcular usando los intervalos profundos producidos por la campaña madre, importados con su procedencia acreditada y sin reentrenarlos. Sólo cambió la columna de comparación con ese baseline; gamma y las coberturas ACI permanecieron idénticos. La complementaria pasó cierre, aceptación y verificación al releerla, y su recibo y evidencia quedaron sellados después de recuperar el acceso a archivos. La figura F4 y las cifras canónicas todavía no se han regenerado. La siguiente tarea es cerrar los límites pendientes y preparar la reconciliación de las seis superficies, con autorizaciones separadas para propagar y publicar.

  2. G7 acredita C4: la semilla declarada conserva los veredictos de E3

    En curso

    Los 42 lanes de E3 se ejecutaron en un worktree separado, con semilla 1, identidad propia y recibos acreditados contra el plan y los hashes de sus salidas. La ejecución terminó sin fallos y la verificación volvió a acreditar el conjunto completo. Los veredictos coinciden con los de la campaña madre. Los recibos originales se conservaron sin cambiarles la identidad ni la semilla. C4 está acreditada en local; sus resultados todavía no son canónicos ni están propagados.

  3. G7 deja M74-F en un único commit local revisado

    En curso

    El commit local de M74-F reúne las correcciones de procedencia, identidad, semillas y aislamiento de campañas, junto al contrato y la CLI de las complementarias. Los sellos comprueban el código, las entradas, el contenido y el catálogo SQL de la DuckDB y las importaciones contra la evidencia archivada de la madre. Las pruebas con Git y bases temporales reales, las baterías completas y la revisión posterior al commit pasaron. El árbol quedó limpio. El commit no está en main ni respaldado en el remoto; los entornos no se recertificaron y los frentes protegidos permanecieron intactos.

1 avance
  1. G7 completa el cálculo de la campaña principal; la consistencia sigue pendiente

    En curso

    La cuarta campaña completó todas sus etapas sin fallos y pasó las puertas de entrada y salida. Los resultados y sus recibos quedaron persistidos, y la transacción terminó en computed con consistencia pendiente. El guardián detectó cifras nuevas que todavía requieren reconciliación documental y propagación. No se publicaron los resultados ni se modificó el corte servido. La evidencia de los intentos fallidos anteriores y la campaña madre permanecen preservadas.

1 avance
  1. G7 respalda M74-E y conserva la evidencia de los tres intentos fallidos

    En curso

    M74-E quedó en 953cd00, con dictamen apto para iniciar una campaña local y respaldo en su rama remota. Las causas de los tres intentos fallidos se corrigieron y sus escenas se conservaron. Este estado no autorizaba por sí mismo ni el cómputo ni la publicación: la campaña permaneció detenida hasta recibir una orden y una ventana continua de ejecución. R9 continuó en custodia.

2 avances
  1. G6 cierra: la reconciliación académica vive ya en la autoridad documental

    Terminado

    La retroalimentación académica y los dos incrementos semanales ya viven en la autoridad documental, que es la única prueba que cuenta: el documento principal los incorpora, compila en verde y quedó verificado también en la superficie de compilación. El cambio no toca datos, modelos ni resultados científicos; el corte publicado y su identidad siguen intactos. Con eso, la reconciliación deja de ser una deuda y el trabajo vuelve a la integridad de campaña, que se cierra en un árbol aislado: acreditar cada consumidor de pronósticos, conectar el productor que hoy falta y sellar los entornos antes de que cualquier campaña nueva pueda autorizarse. Las dos corridas fallidas anteriores permanecen como evidencia diagnóstica y ninguna de sus salidas se reutiliza como resultado oficial.

  2. G6 elimina la reunión como puerta y ordena el cierre autónomo

    En curso

    El avance ya no espera una reunión ni una respuesta externa. Las decisiones técnicas se resuelven con evidencia reproducible, y el propietario conserva únicamente las autorizaciones materiales. El frente inmediato incorpora toda la retroalimentación académica recibida y reconcilia A6 y A7 con el LaTeX principal: ambos paquetes fueron entregados y verificados, pero no se consideran integrados mientras su contenido durable no viva en la autoridad documental y compile allí. Después se retoma M74-E en el entorno aislado para terminar sus guardas y pruebas; sólo con un commit local limpio y un preflight nuevo se podrá autorizar por separado otra campaña. Las dos corridas fallidas permanecen como evidencia diagnóstica y ninguna de sus salidas se reutiliza como resultado oficial. El corte de datos y el release publicados no cambian con esta actualización.

4 avances
  1. G5 deja el material de la defensa generado desde los datos, no escrito a mano

    Terminado

    Una presentación es el sitio donde las cifras envejecen sin que nadie se entere: se copian una vez y nadie vuelve a comprobarlas. El material de la defensa se construye ahora con un programa que lee los archivos sellados del proyecto y arma las láminas con lo que encuentre; si un dato que una lámina necesita no existe, el programa se detiene y lo dice por su nombre, en vez de dejar un hueco o inventar una cifra. Cada número aparece acompañado de su unidad y de la población a la que se refiere, y la última lámina lista las huellas digitales de los archivos de los que salió todo. Un conjunto de comprobaciones automáticas vigila que no se despegue: fallan si alguna cifra visible no viene de un archivo, si el material guardado no coincide con lo que el programa produce hoy, si alguno de los archivos cambió desde la última construcción, o si alguna de las afirmaciones cualitativas dejó de ser cierta. El contenido cubre el panel, el piso difícil de batir, el valor a varios meses, el resultado negativo de las cohortes, la amenaza de disponibilidad de la fuente y las decisiones que siguen abiertas. El material es privado y de uso interno: no se publica en este sitio ni se incorpora a ningún repositorio del proyecto.

  2. G4 lleva al artículo el resultado de las cohortes y la amenaza al suministro, y queda en observación

    En observación

    El artículo defiende un hallazgo incómodo: en este panel, repetir el último valor publicado es difícil de batir, y ningún modelo entrenado lo consigue con significancia. La objeción natural es que ese piso sea un efecto de mezclar series muy distintas. La respuesta ya estaba medida y ahora se publica: se partió el panel en series estables e inestables con una regla escrita antes de mirar ningún resultado, se entrenó cada grupo por separado y se exigió al selector por grupo el mismo listón que al sistema, en tres plazos a la vez. No lo pasa ninguno, ni en una tabla ni en la otra, y en uno de los grupos el propio selector elige el método simple, de modo que compite consigo mismo. Segmentar, por sí solo, no cambia quién gana a un mes. El párrafo no lleva ni una cifra: la afirmación es cualitativa porque el hallazgo lo es, y los números viven en la tesis, derivados de los archivos sellados. Se añade además la limitación de suministro: la fuente oficial rechaza visitas automatizadas, así que la descarga mensual se hace a mano y entra por el mismo procedimiento controlado; eso amenaza la puntualidad, no la integridad de lo ya recogido. La historia queda en observación y no terminada, porque las cifras principales del artículo siguen esperando la re-derivación causal, y el descargo que lo advierte sólo puede retirarse cuando esa medición exista.

  3. G2 documenta lo que el bloqueo de la fuente sí amenaza, y retira una promesa que había dejado de ser cierta

    Terminado

    El sitio oficial que publica los boletines dejó de aceptar visitas automatizadas, así que los últimos meses se descargaron a mano y entraron por la misma orden controlada de siempre. Al revisar la tesis para escribir esa limitación apareció algo más urgente: un apéndice seguía afirmando que el sistema se mantiene al día sin intervención manual, y eso había dejado de ser verdad. La frase se retira y se sustituye por lo que sí se sostiene. El texto nuevo hace una distinción que importa: lo que está en riesgo es la frescura, es decir, la puntualidad con que llega cada mes nuevo y, con ella, la acumulación de evidencia para juzgar los pronósticos a plazos largos; lo que no está en riesgo es la integridad de lo ya recogido, porque cada página quedó congelada, verificada y respaldada, y el corte actual no tiene ningún mes ausente. Cambia quién trae la página, no cómo se valida ni cómo se guarda. Para que la afirmación retirada no vuelva por descuido, una comprobación automática la vigila ahora en todos los documentos del proyecto, no sólo en el sitio, y distingue prometer automatismo de describir el trabajo manual, que sigue siendo legítimo. El estado concreto de la fuente no se copia en ningún documento: se publica en el archivo que viaja con cada corte, de modo que cuando cambie, cambie en un solo lugar.

  4. G1 lleva los documentos a su propia casa y vuelve a compilarlos de punta a punta

    Terminado

    La tesis, el anteproyecto y el artículo vivían dentro del repositorio de datos, mezclados con el código que produce los números. Ahora tienen un repositorio propio, con su propia comprobación automática: cada vez que alguien toca un texto, el sistema los compila los tres y avisa si alguno deja de armarse. Al separarlos se comprobó archivo por archivo que ninguno cambiara ni un byte por el camino. En el repositorio de datos quedan sólo las cinco tablas de cifras que genera el propio pipeline, y una comprobación exige que sean idénticas en los dos lados, para que nadie edite una copia y deje la otra atrás. Con la mudanza hecha, los tres documentos se compilaron y revisaron en la herramienta de edición que usa el autor, sin un solo error. Desde ahora esa herramienta se usa para compilar y mirar el resultado, no para guardar cambios: lo que deba perdurar entra por el repositorio, con su revisión, y desde allí se trae. Es la misma disciplina que ya rige el código, aplicada al texto.

6 avances
  1. E6 pone una sola autoridad y retira lo que ya no era cierto

    Terminado

    El primer hallazgo fue tranquilizador y conviene decirlo tal cual: las seis maneras en que el sistema decidía qué series entran al análisis daban exactamente el mismo resultado, las mismas setenta y cuatro. No había ninguna discrepancia escondida. Lo que sí había era la posibilidad de que se separaran algún día sin que nadie lo notara, y algunos números escritos a mano que lo habrían tapado; ahora hay una sola autoridad que lo calcula y una comprobación que, si alguna copia se desvía, dice cuál y en qué. Después vinieron tres correcciones de cosas que habían dejado de ser verdad. Un modelo estaba archivado como «no funciona aquí» por una razón que el paso anterior desmintió al medirlo bien; vuelve a la categoría de evaluado, sin entrar por eso al ciclo de producción ni acercarse al despliegue. Un modelo híbrido no produce ningún resultado en una de las dos tablas, y eso queda escrito como limitación observada, con la fuente y el alcance exactos, sin rellenar el hueco ni borrar la fila. Y tres comentarios del código afirmaban que cierto método gana a plazos largos cuando el propio archivo de medición del repositorio dice que gana otro; la afirmación se retira y se apunta a donde se mide, en vez de cambiarla por un nombre nuevo que volvería a envejecer.

  2. E5 hace que todas las cifras de la épica salgan de un solo archivo

    En observación

    Cuando un mismo número vive en la tesis, en una tabla, en una figura, en la ficha del modelo y en el sitio, tarde o temprano cuatro de esos cinco quedan desactualizados y nadie lo nota. Aquí se cerró esa puerta: hay un solo archivo con las cifras de toda la etapa, derivado de los cuatro pasos anteriores, y todo lo demás se genera desde él. Ni un conteo, ni un promedio, ni un veredicto se copia a mano, y una comprobación automática recorre el texto nuevo de la tesis y falla si encuentra un número escrito a pulso. La redacción conserva el resultado como salió, que sigue siendo negativo: ningún enrutador gana; en una tabla las mejoras a seis y doce meses no bastan porque a tres no llegan; en otra la mejora grande a doce meses no salva a la celda, que pierde a tres; y el grupo más pequeño no aporta evidencia. El sitio y el asistente quedan preparados para mostrar estas cifras, pero solo cuando viajen selladas en un corte: el corte actual no las trae y, por regla, no se muestra nada en vez de inventar una cohorte. El corte publicado no se regeneró; los archivos nuevos entran al contrato de los cortes futuros con una excepción cerrada y nominal para el actual.

  3. E4 pone a competir el enrutado por grupos, y corrige una frase de más

    Terminado

    Primero la corrección, porque toca algo ya publicado. Al contar el paso anterior escribí que cambiar la forma de medir el error y de escalar los datos era la causa de que la configuración vieja se descontrolara. No se puede afirmar eso: entre las dos configuraciones comparadas cambian varias cosas a la vez, así que lo demostrado es el paquete completo, no ninguna de sus piezas. Y al separarlo con cuidado el cuadro es distinto: lo que ayuda siempre es entrenar sobre el cambio mes a mes; el resto del paquete ayuda en una de las dos tablas y estorba en la otra. La frase queda corregida aquí y en los registros internos. Lo nuevo: se probó un enrutador que, para cada grupo de series y cada distancia de pronóstico, usa el método que mejor se portó en el pasado y se juzga solo con meses que nunca vio. Las condiciones para declararlo ganador estaban escritas desde julio y no se tocaron: mejorar por un margen mínimo, aguantar una prueba estadística exigente y no empeorar en ninguna de las tres distancias. Ninguno de los cuatro grupos las cumple. En una tabla el enrutador mejora bastante a seis y doce meses, pero no lo bastante a tres; en otra mejora mucho a doce meses y aun así queda descalificado por empeorar a tres. Y en el grupo más pequeño el propio enrutador elige el método simple, con lo que se compara consigo mismo. El resultado negativo cierra el paso, y el enrutador no se despliega: eso pediría una prueba en vivo y un permiso aparte.

  4. E3 entrena de verdad, apunta antes de disparar, y falla

    Terminado

    El paso anterior había mirado resultados viejos; este entrena. Antes de encender nada se escribió y se guardó qué se iba a probar: tres recetas y ni una más, con todos sus ajustes fijados, más una lista de modelos de contexto que no pueden ascender a respuesta después. El programa no acepta una receta que no esté en esa lista, así que cambiar de idea a mitad deja huella. Corrieron cuarenta y dos entrenamientos en el procesador de una computadora portátil, sin tarjeta gráfica, cada uno con un recibo que dice qué se corrió, con qué materiales, cuánto tardó, cuánta memoria usó y qué archivos dejó. Los cuarenta y dos terminaron. Ninguno le gana al método de repetir el último valor conocido dentro de su propio grupo. Dos cosas sí quedaron aclaradas, y quedaron porque se apuntó antes: la configuración vieja, que en julio se descontrolaba hasta dar errores diez veces peores, sí se controla cambiándole varias cosas a la vez; y entrenar sobre el cambio mes a mes, en vez de sobre el nivel, importa por sí solo, a veces al doble. Arreglar el descontrol no basta para ganar. El resultado negativo se publica igual, porque un experimento que solo se cuenta cuando sale bien no es un experimento.

  5. E2 pregunta si separar las series sirve de algo, y la respuesta es que no

    Terminado

    Con las series ya separadas en estables e inestables, tocaba la pregunta barata: entre los modelos que ya se habían evaluado, ¿alguno le gana al método más tonto posible —repetir el último valor conocido— dentro de su propio grupo? La comparación se hizo grupo por grupo y contra el método tonto de ESE grupo, nunca contra un promedio de todos: el listón de un grupo que apenas se mueve y el de uno que avanza cada mes son números distintos, y compararse contra la media de los dos es no compararse contra nada. Las reglas del contraste se escribieron antes de mirar ningún número, y se comprobaron enumerando a mano todos los casos posibles en muestras pequeñas. De sesenta y ocho comparaciones concluyentes, sesenta y ocho salieron peor que el método tonto y ninguna mejor. Un cuarto grupo tiene solo cinco series, demasiado pocas para que la prueba pueda decir nada, y así queda escrito en vez de forzar una conclusión. También se publica un detalle incómodo: en uno de los grupos, un modelo es idéntico al método tonto hasta la novena cifra decimal, y la prueba lo declara significativamente peor porque solo mira el sentido de la diferencia, no su tamaño; el veredicto se deja como estaba y se publica al lado de qué tamaño tiene realmente esa diferencia. El resultado es negativo y se conserva: separar por estabilidad, por sí solo y a un mes de distancia, no cambia quién gana.

  6. E1 separa series estables de inestables sin mirar el futuro

    Terminado

    El director pidió entrenar por separado las series estables y las que no lo son. El riesgo de hacerlo mal es sutil: si para decidir qué serie es estable se mira el tramo final que después se usa para evaluar, cualquier ventaja posterior está comprada de antemano. Aquí la partición se calcula únicamente con lo anterior a ese tramo, y la prueba que lo garantiza sustituye el tramo final entero por basura de cuatro maneras distintas y exige que ni una sola medida ni una sola etiqueta se muevan. La regla quedó escrita y congelada antes de mirar ningún resultado, y es deliberadamente pobre: dos condiciones sobre la frecuencia y el tamaño de los retrocesos. Había una trampa medida en agosto: llamar estables a las series sin retrocesos elegía veintitrés que están quietas más de la mitad del tiempo, y una serie quieta es fácil de predecir por definición. Por eso la quietud no decide nada y viaja como anotación aparte: de las treinta y nueve estables, veintiocho están quietas y once avanzan de verdad. También se dice lo que no luce: el segundo umbral no descarta hoy ninguna serie por sí solo. Nada de esto es todavía una conclusión: es la preparación, registrada por escrito para que la comparación que viene después no pueda acomodarse al resultado.

9 avances
  1. E0 deja una sola escala para el MASE, y dos copias dejan de mentir

    Terminado

    El número por el que se divide todo error para volverlo comparable entre series vivía copiado en cuatro sitios. Tres coincidían; dos de ellos, los que puntúan a los modelos fundacionales, hacían algo distinto cuando la serie no daba para calcularlo: en vez de admitir que la escala no existe, devolvían un uno. Dividir por uno no falla, no avisa y deja un número que parece una métrica comparable cuando en realidad son días, mil veces más grande, contaminando cualquier promedio que lo incluya. Antes de tocar nada se midieron las cuatro sobre once series: en las seis que sí tienen escala coinciden hasta el último decimal, y en las cinco que no, dos mentían. Ahora hay una sola implementación, no depende de las bibliotecas de modelado, y las dos que mentían excluyen esa serie en lugar de inventarle un número. De paso, un periodo estacional imposible dejó de calcularse en silencio y ahora se rechaza, y la prueba de la que cuelga toda cifra de precisión publicada —que hasta hoy se saltaba entera cuando faltaban esas bibliotecas— por fin se ejecuta.

  2. F7 y F8 limpian la documentación y fijan el orden de publicación

    Terminado

    Varias páginas de documentación seguían contando boletines en prosa, un número que cambia con cada corte y ya había cambiado; ahora dicen lo que quieren decir sin el conteo, que vive donde se genera. El documento que explica el guardián ilustraba su tolerancia tipográfica con una cifra muerta y describía cuatro clases de regla cuando hay siete. Las entradas fechadas de los registros se dejan como están: son historia, no afirmaciones. Y el orden de publicación —primero los datos, después el sitio, después producción— deja de ser costumbre: queda escrito con sus precondiciones, sus condiciones de parada, cómo se verifica cada etapa y cómo se deshace, y una orden de solo lectura lo comprueba antes de mover nada. Bloquea si algún árbol está sucio, si un artefacto crítico falta o fue manipulado, si el sitio declara un corte distinto del publicado o si va por delante de los datos; que el repositorio del sitio no esté disponible es un fallo, no un permiso.

  3. F6 deja listo el gancho de cohorte, sin inventarla

    Terminado

    La dirección de la tesis pide partir el panel en series estables y no estables y entrenar cada grupo por su lado. Eso llegará como un campo del corte publicado, y hoy ese campo no existe en ninguna de las series. Así que se deja el gancho puesto y nada más: si el corte declara la cohorte de una serie, la galería la muestra tal cual la diga el archivo; mientras no la declare, la interfaz queda exactamente como está, sin una sola insignia. Un valor vacío, de otro tipo o con una estructura ambigua tampoco pinta nada: una etiqueta inventada sería peor que ninguna. La insignia lee el mismo dato que la tarjeta ya tiene, sin descargar nada aparte, y conserva los enlaces profundos, el orden y el modo compacto.

  4. F5 pone reglas donde el paper citaba de memoria

    En observación

    El manuscrito cita decenas de cifras y el guardián solo miraba cuatro de las que tienen dueño en los datos: el error prospectivo del sistema, que aparece cinco veces, no lo vigilaba nadie, ni la cobertura empírica, ni el punto de partida de la comparación. Ahora tres reglas los atan a su fuente, y cada ancla se probó para que capture su cifra y ninguna otra: la versión ingenua de la primera se tragaba también el error de otro modelo. Además, el descargo que reconoce las cifras como provisionales deja de ser prosa suelta: el protocolo bajo el que se midieron se declara, y el guardián exige que el texto lo acompañe —obligatorio mientras precedan a la corrección causal, prohibido en cuanto se re-deriven—, con los dos sentidos probados sin ejecutar la campaña. Lo que falta depende de esa campaña, así que la historia queda en observación.

  5. F4 hace que el asistente lea las cifras, no las recuerde

    Terminado

    El asistente respondía cifras de oídas: su índice se construía solo con prosa —la página, la tarjeta del modelo, la auditoría— y nunca abría los archivos donde viven los números. Por eso una frase corregida en el sitio podía seguir contestándose vieja durante días. Ahora una tarjeta en las dos lenguas se deriva de esos archivos, con la unidad y la población al lado de cada cifra, de modo que un error de medida no se cite como si fuera universal; si falta un dato, una sección o el valor no es del tipo esperado, la construcción se detiene en vez de rellenar con prosa. Se suman cuatro documentos de ingeniería que nadie indexaba —evaluación, limpieza, promoción y el índice normativo—, traídos de la versión exacta del corte, sin resumirlos. Y cuando el sitio declara datos frescos, un índice apuntando a otro corte deja de ser una nota en consola y pasa a detener la construcción.

  6. F2 retira una promesa que había dejado de ser cierta

    En observación

    El sitio prometía que la publicación de un boletín bastaba para que el panel se pusiera al día solo. Dejó de ser verdad el 6 de agosto: la fuente quedó tras un cortafuegos y los dos últimos boletines se cargaron a mano. La frase desaparece de las dos lenguas y también del corpus con el que responde el asistente, donde seguía viva palabra por palabra. En su lugar el sitio informará lo que el pipeline registra, leyéndolo del propio archivo de estado en vez de deducirlo de un texto: si el archivo falta se calla, si está y es ilegible dice que no pudo verificarlo, y nunca inventa un bloqueo. Ese archivo todavía no viaja en el corte publicado y regenerarlo cambiaría el corte que sirve producción, así que entra en el que viene y la historia queda en observación hasta entonces.

  7. F1 deja de teclear cuántos modelos hay

    Terminado

    El número de modelos del marco comparativo era el último dato de portada escrito a mano en el sitio, con una nota que explicaba por qué: el archivo que lo lleva no se descargaba. Resultó que sí viajaba en el corte publicado, y como artefacto crítico; lo único que faltaba era consumirlo. Ahora el sitio lo lee de ahí, validando el artefacto contra su contrato antes de mirarlo, y si el archivo falta, el contrato se incumple o el valor no es un entero positivo, la construcción se detiene diciendo cuál de las tres cosas pasó. No hay respaldo: un número de portada equivocado es peor que una construcción rota. El valor servido no cambia, porque el que estaba tecleado coincidía con el del artefacto.

  8. C9 le pone un papel a cada archivo

    Terminado

    La afirmación que abrió esta épica —que las herramientas habían llegado a pesar casi el doble que el producto— se midió a mano una tarde de agosto y nunca volvió a comprobarse. Nada en el repositorio contaba su propio tamaño. Ahora cada archivo versionado tiene exactamente un papel declarado —producto, pruebas, herramientas, experimentos, generados, y además evidencia, datos, prosa, configuración y código de terceros—, y el reparto se rompe si un archivo se queda sin papel, si dos reglas se lo disputan, si una excepción se declara dos veces o si señala a un archivo que ya no existe. Los entornos quedan fuera porque no están versionados, y eso se comprueba en lugar de suponerse. La razón entre herramientas y producto se mide en cada corrida contra el techo que fijó el autor.

  9. C8 mide lo que decía medir

    Terminado

    Tres reglas que el repositorio ya daba por supuestas no estaban encendidas, así que lo que el tooling afirmaba gobernar y lo que gobernaba eran cosas distintas: 133 supresiones no suprimían nada (sobre todo un orden de imports en archivos que dejaron de manipular la ruta de búsqueda), la política de capturas amplias se apoyaba en una directiva que nunca disparaba, y la complejidad no se medía en ninguna parte. Ahora se mide sobre el producto, con el umbral puesto en el máximo REAL y no en una meta inventada. Además el trinquete deja de publicar un total de supresiones que sumaba deudas de naturaleza distinta: cada regla lleva su contador, y las capturas peores (un except desnudo, un except de BaseException) dejan de ser invisibles con métricas propias. Doce salieron a la luz; el linter señalaba una.

3 avances
  1. C7 y C7b retiran dos caminos muertos

    Terminado

    Las bandas del demostrador tenían un respaldo heredado: si faltaba el archivo de cuantilas o una celda, se estimaba con una raíz cuadrada y un escalar fijo. No era una alternativa equivalente, infra-cubría, y el consumidor no distinguía una banda medida de una estimada; ahora las cuantilas empíricas son obligatorias y una celda ausente detiene el build diciendo cuál falta. Y la pregunta «¿el árbol está sucio?» tenía tres respuestas escritas por separado: pasa a tener una sola, con el alcance restringido documentado en un sitio en vez de deducirse leyendo tres funciones.

  2. C6 parte el almacén en tres

    Terminado

    El módulo que construía el almacén hacía tres trabajos distintos en mil líneas: aplicar la cadena de migraciones, cargar y canonizar las filas, y registrar la identidad del corte. Ahora son tres módulos con una responsabilidad cada uno, y el punto de entrada y su interfaz pública quedan intactos. La huella de contenido del almacén sale idéntica con la misma identidad de build, y el Parquet byte a byte. Está en main con la integración continua en verde.

  3. C5 extrae el kit común de figuras

    Terminado

    El idioma y el tema dejan de vivir en variables globales que alguien re-vinculaba antes de cada pasada: viajan como un contexto inmutable que cada figura recibe, y los ajustes de dibujo se restauran solos aunque algo falle. Importar un generador ya no reconfigura Matplotlib para todo el proceso. Las 72 variantes de las galerías, las figuras de resultados y las 81 páginas de los reportes salen idénticas a las anteriores, y también la salida por consola y el orden en que se emiten. Está en main con la integración continua en verde.

1 avance
  1. C4 tipa los errores del pipeline

    Terminado

    Las seis capturas amplias de los scrapers pasan a excepciones específicas: un fallo de la fuente o del formato se agrega al reporte mensual con etapa, mes y país, y un defecto de programación ya no se disfraza de mes perdido, sino que escapa y pone el proceso en rojo. El trinquete de deuda deja de contarse a sí mismo y baja las capturas sin justificar a cero. Está en main con la integración continua en verde.

4 avances
  1. C3 hace reejecutable la auditoría

    Terminado

    El informe deja de vivir en dos listas globales que se acumulaban entre corridas y pasa a ser un objeto por invocación. La selección de series más cortas se desempata por la clave completa con orden estable, así que ya no depende del orden de entrada. Severidades y veredicto quedan intactos.

  2. C2 unifica la extracción

    Terminado

    Los dos scrapers tenían el mismo extractor por país escrito dos veces; ahora es uno solo, parametrizado por columna y clasificador, con funciones puras probadas y salidas idénticas fila a fila sobre todo el archivo de boletines.

  3. C1 unifica la taxonomía

    Terminado

    Las reglas de categoría migratoria, los dominios y la metadatos dejan de vivir en tres sitios y pasan a una autoridad única, con equivalencia probada contra los clasificadores anteriores sobre las etiquetas reales de 24 años y las salidas del pipeline byte-idénticas.

  4. D8 ordena la documentación

    Terminado

    Un índice normativo declara, por documento, su clase, su autoridad y sus consumidores; una prueba falla si un enlace se rompe, si dos documentos reclaman lo mismo o si falta el enlace de vuelta. Ningún documento se borró.

4 avances
  1. D9 dibuja la arquitectura

    Terminado

    Una página y un SVG generados desde las fuentes canónicas explican el DAG, el cron, campeón y sombra, los gates, la deriva, el guardián y el manifiesto; el guardián vigila ahora también el diagrama.

  2. D7 llegó a main

    En observación

    Tracking mensual mergeado con CI 5/5; comienza la observación de dos rebuilds reales (0/2).

  3. D4 cerró el ciclo de identidad

    Terminado

    El contrato de release_id único está en main y se activará con el próximo boletín real.

  4. D2 completo

    Terminado

    Artefactos vacíos, advisories y warnings quedaron bajo contratos visibles y CI verde.

1 avance
  1. D1 y B4 completos

    Terminado

    El hook DVC bloquea locks rancios y la auditoría web registra cero vulnerabilidades.

1 avance
  1. Higiene 100/100

    Terminado

    Repositorios, plataforma, evidencia y recuperación quedaron verificados sin perder trabajo.

1 avance
  1. Corte 2026-09 publicado

    Terminado

    Producción fue verificada como fresh, con el archivo de instantáneas, los meses del panel y el release inmutable alineados.