# Fase D2 — Base de actas y versiones Versión: `0.16.0` ## Objetivo Crear la base documental de las actas. D2.1 corrige posteriormente la cardinalidad para que cada visita contenga una única acta. El acta conserva identidad oficial, activos vinculados y todas sus versiones, sin duplicar información del Maestro de Activos. ## Numeración oficial Al crear un acta el servidor asigna `ACTA-AAAA-NNNNNN`. El contador es global para todas las actas del año y se incrementa dentro de la misma transacción que crea el documento. Los números cancelados no se reutilizan. `document_annual_sequences` reserva también la serie `REPORT` para el futuro informe consolidado, pero D2 sólo emite números de tipo `ACT`. ## Modelo e integridad - `inspection_acts`: identidad, visita, número, estado y contenido actual; - `inspection_act_assets`: referencias a activos incluidos en la visita; - `inspection_act_versions`: snapshots inmutables de cada guardado; - `document_annual_sequences`: contadores transaccionales por tipo y año. Los snapshots congelan el contenido del acta, el contexto de la visita y la identidad y versión actual de cada activo seleccionado. La API runtime no tiene permisos para borrar estas tablas ni para modificar versiones históricas. ## Flujo D2 - la visita debe estar `IN_PROGRESS`; - un integrante asignado, o gestión, puede crear y editar el acta; - cada acta nace `DRAFT` y recibe número oficial inmediatamente; - sólo un borrador puede editarse; - admin o supervisor pueden cancelar un borrador con motivo obligatorio; - la cancelación agrega una versión y conserva el número y todo el historial. Los estados `READY`, `CLOSED` y `RECTIFIED` quedan reservados. D2 no implementa todavía cierre, firma, PDF, hash, token público ni rectificación. ## Permisos y rutas - `inspection_acts.read`: consultar actas y versiones; - `inspection_acts.create`: crear actas en visitas asignadas; - `inspection_acts.update`: actualizar borradores; - `inspection_acts.cancel`: cancelar borradores. Rutas: - `GET|POST /api/v3/inspection-visits/:visitId/acts`; - `GET|PATCH /api/v3/inspection-acts/:id`; - `POST /api/v3/inspection-acts/:id/cancel`. La pantalla de visita contiene su acta. El editor permite elegir los activos de esa visita y consultar las versiones inmutables. ## Continuidad D2.1 garantiza un acta por visita. La siguiente subfase incorporará múltiples hallazgos dentro de esa acta. Luego se agregarán cierre y firma, documentos verificables, rectificativas e informe técnico de la visita.