erp-construccion/docs/97-adr/ADR-012-complete-traceability-policy.md

109 lines
3.5 KiB
Markdown

# ADR-012: Politica de Trazabilidad Completa
**Estado:** Aceptado
**Fecha:** 2025-11-24
**Responsable:** Architecture-Analyst
**Proyecto:** ERP Construccion
## Contexto
El ERP de Construccion es un sistema complejo con multiples capas y cientos de objetos. Para mantener coherencia, facilitar mantenimiento y permitir analisis de impacto, necesitamos trazabilidad completa.
## Decision
**Adoptamos la politica de "Trazabilidad Completa End-to-End".**
### Principio Fundamental
```
+---------------------------------------------------------------------+
| TRAZABILIDAD COMPLETA |
| |
| RF (Requerimiento) --> ET-Backend --> ET-Frontend --> US (Stories) |
| | | | | |
| v v v v |
| +---------+ +---------+ +---------+ +---------+ |
| | Tablas |<-------->| APIs |<--->| Comps |<-->| Tests | |
| | BD | | Backend | | Frontend| | E2E | |
| +---------+ +---------+ +---------+ +---------+ |
+---------------------------------------------------------------------+
```
### Inventarios Requeridos
| Inventario | Ubicacion | Contenido |
|------------|-----------|-----------|
| Objetos BD | `02-modelado/trazabilidad/INVENTARIO-OBJETOS-BD.yml` | Tablas, funciones, triggers |
| Objetos Backend | `02-modelado/trazabilidad/INVENTARIO-OBJETOS-BACKEND.yml` | Controllers, services, DTOs |
| Objetos Frontend | `02-modelado/trazabilidad/INVENTARIO-OBJETOS-FRONTEND.yml` | Components, pages, hooks |
| Matriz Completa | `02-modelado/trazabilidad/MATRIZ-TRAZABILIDAD-COMPLETA.md` | RF -> ET -> BD -> Codigo |
### Reglas de Mantenimiento
```
REGLA 1: CREAR -> DOCUMENTAR
- Agregar al inventario correspondiente
- Documentar RF/ET/US de origen
- Mapear dependencias y dependientes
REGLA 2: MODIFICAR -> ACTUALIZAR
- Actualizar inventario si cambio estructura
- Verificar impacto en dependientes
- Actualizar documentacion relacionada
REGLA 3: ELIMINAR -> LIMPIAR
- Eliminar del inventario
- Actualizar dependientes que lo usaban
- Eliminar referencias huerfanas
REGLA 4: PR -> VALIDAR TRAZABILIDAD
- Incluir actualizacion de inventarios
- Verificar dependencias actualizadas
```
## Justificacion
### Alineacion con ERP Generico
- Misma politica de trazabilidad
- Inventarios compatibles
### Especifico para Construccion
- Trazabilidad para auditorias INFONAVIT
- Impacto de cambios en estimaciones
- Control de cambios en presupuestos
## Consecuencias
### Positivas
- Analisis de impacto antes de cambios
- Debugging eficiente (UI a BD)
- Onboarding rapido
- Refactoring seguro
- Auditorias INFONAVIT facilitadas
### Negativas
- Overhead inicial: Requiere disciplina
- Mitigacion: Templates y automatizacion
## Directiva para Agentes
```
DIRECTIVA ADR-012 - TRAZABILIDAD COMPLETA
Los agentes DEBEN:
- Verificar trazabilidad antes de crear objetos
- Actualizar inventarios al crear/modificar/eliminar
- Documentar dependencias y dependientes
- Mantener referencias cruzadas entre capas
- Incluir seccion de trazabilidad en documentos
Los agentes NO DEBEN:
- Crear objetos sin documentar origen (RF/ET/US)
- Modificar objetos sin actualizar dependientes
- Eliminar objetos sin limpiar referencias
- Ignorar impacto en otras capas
```
## Referencias
- [ERP Generico ADR-012](../../erp-generic/docs/adr/ADR-012-complete-traceability-policy.md)