109 lines
3.5 KiB
Markdown
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)
|