Plan: Migración a Bitácoras Web (DB-First)
Manifiesto de Proyecto | Referencia: adn/07_proyectos.md
Identificación
| Campo |
Valor |
| Código |
P2603.00 |
| Nombre |
Migración a Bitácoras Web (DB-First) |
| Estado |
✅ Completado |
| Inicio |
05/03/2026 |
| Fin |
12/03/2026 |
Objetivo
Dejar de editar manualmente archivos .md. La Web y los comandos ADN escriben en la DB; el .md se genera automáticamente como respaldo.
Stakeholders
| Rol |
Persona |
Visibilidad |
| Responsable Técnico |
Lic. Ricardo MONLA |
Operador directo |
| Dirección de TIC |
(Jerárquico superior) |
Dashboard asíncrono |
Nodos Involucrados
Nodos Exclusivos (Core)
| Nodo |
IP |
Rol en el Proyecto |
| srv-ns8 |
10.0.10.8 |
Servidor de la aplicación web (Docker) |
Herramientas
| Herramienta |
Uso |
| React 18 + TypeScript |
Frontend SPA (bitácora web) |
| Node.js + Express |
Backend API REST |
| PostgreSQL 15 |
Base de datos relacional |
| Docker Compose |
Orquestación de servicios |
| Ruby CLI (ADN) |
Comandos db migrar:md, db exportar:md, db verificar |
Hitos Clave
| Fecha |
ID |
Estado |
Hito |
| 05/03 |
A1-A6 |
✅ |
Etapa A: Web puede reemplazar al MD (esquema DB, API, UI gestión, formulario, rollover) |
| 08/03 |
B1-B3 |
✅ |
Etapa B: Comandos ADN hablan con DB (inicio, cierre, backup → DB-First) |
| 10/03 |
C1-C2 |
✅ |
Etapa C: MD se genera desde DB (exportar:md, exportación masiva) |
| 12/03 |
D1-D3 |
✅ |
Etapa D: Verificación y cierre (migración histórica, auditoría, header automático) |
Progreso
Detalle de Etapas
Etapa A — La Web reemplaza al MD (Entrada de datos)
| # |
Hito |
Qué resuelve |
Estado |
| A1 |
Esquema DB: gestion + resumen_nodos |
Tablas para Pendientes, En Proceso y Resumen Integral |
✅ |
| A2 |
API: endpoints gestion y resumen |
Backend para crear/editar/eliminar desde la Web |
✅ |
| A3 |
UI: Panel de Gestión |
Editar Pendientes y En Proceso desde el Dashboard |
✅ |
| A4 |
UI: Editor Resumen Integral |
Editar resumen por nodo desde el Dashboard |
✅ |
| A5 |
UI: Formulario de Entradas |
Crear entradas I-F-D-E desde la Web |
✅ |
| A6 |
Rollover automático |
Pendientes activos pasan al día siguiente (vía activo=true) |
✅ |
Etapa B — Comandos ADN hablan con la DB (Automatización)
| # |
Hito |
Qué resuelve |
Estado |
| B1 |
Refactor inicio.rb → DB-First |
adn inicio de jornada escribe en DB |
✅ |
| B2 |
Refactor cierre.rb → DB-First |
adn cierre de jornada escribe en DB |
✅ |
| B3 |
Refactor backup → DB |
Registrar eventos de backup como entradas en DB |
✅ |
Etapa C — MD se genera desde la DB (Respaldo)
| # |
Hito |
Qué resuelve |
Estado |
| C1 |
Exportador Ruby: md_exporter.rb |
adn db exportar:md FECHA genera MD desde DB |
✅ |
| C2 |
Exportación masiva |
adn db exportar:md --todo regenera todos los MDs |
✅ |
Etapa D — Verificación y cierre (Confianza)
| # |
Hito |
Qué resuelve |
Estado |
| D1 |
Migración histórica |
adn db migrar:md --todo importa historial |
✅ |
| D2 |
Verificación de cobertura |
adn db verificar audita MD ↔ DB |
✅ |
| D3 |
Desactivar edición manual |
Header <!-- GENERADO AUTOMÁTICAMENTE --> en MDs exportados |
✅ |
Comandos ADN (Referencia)
Estado: COMPLETO ✅
| Etapa |
Progreso |
| A — Web reemplaza al MD |
6/6 ✅ |
| B — ADN habla con DB |
3/3 ✅ |
| C — MD se genera desde DB |
2/2 ✅ |
| D — Verificación y cierre |
3/3 ✅ |
Cobertura de migración: 88.9% (16/18 bitácoras con entradas). Las 2 restantes son días sin actividades detalladas.
Referencias