# Plan: Migración a Bitácoras Web (DB-First) > Manifiesto de Proyecto | Referencia: [`adn/07_proyectos.md`](../../../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**](../../../nodos/srv-ns8.md) | `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 ``` Fase A: ██████████ 100% Web reemplaza al MD Fase B: ██████████ 100% ADN habla con DB Fase C: ██████████ 100% MD se genera desde DB Fase D: ██████████ 100% Verificación y Cierre ``` --- --- ## 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 `` en MDs exportados | ✅ | --- ## Comandos ADN (Referencia) ```bash # Flujo diario (DB-First) ./adn/tools/run db evento:crear --nodo NODO --inicio HH:MM --descripcion "..." ./adn/tools/run db evento:listar --desde FECHA --detalle # Importar MD existente → DB ./adn/tools/run db migrar:md FECHA [--sobrescribir] ./adn/tools/run db migrar:md --todo [--sobrescribir] # Exportar DB → MD (respaldo) ./adn/tools/run db exportar:md FECHA ./adn/tools/run db exportar:md --todo # Auditoría ./adn/tools/run db verificar ./adn/tools/run db estadisticas ``` --- ## 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 - **ADN**: [Ontología](../../../adn/01_ontologia.md) | [Proyectos](../../../adn/07_proyectos.md) | [Bitácora](../../../adn/02_bitacora.md) - **Proyecto relacionado**: [P2603 Bitácoras](../P2603_Bitacoras/P2603_bitacoras.md) - **Bitácoras**: Consultar en DB vía `./adn/tools/run db evento:listar --detalle`