Code Review: EPIC-CP1 v4.0
1. Resumen Ejecutivo
- Historias de usuario
- 7
- T4V Items cubiertos
- 25
- Story Points
- 42
- Sprints estimados
- ~2
EPIC-CP1 v4.0 define el flujo de Ingreso de Tela alineado al Trace4Value DPP Data Protocol. Captura datos para 5 de los 8 Info Groups del estandar, cubriendo el 20% del DPP completo (25/126 Item Numbers). El review identifica 9 observaciones — 4 criticas que deben corregirse antes del merge.
Metricas del documento
- Info Groups DPP
- 5 / 8
- Params automaticos
- 30 (68%)
- Params manuales
- 8 (18%)
- Scenarios Gherkin
- 23
- Scoring ICE-M
- 4,374
2. Fortalezas
- Estructura solida — Inventario completo con dual-key (nombre FTL + T4V Item Number), organizado por bloques EPCIS / PEF / Residuos
- Criterios Gherkin claros — Las 7 HUs tienen escenarios concretos con valores ejemplo reales (partida “25-12290”, OP-6228)
- Separacion sistema / supervisor — 30 parametros automaticos (68%) vs 8 manuales (18%) bien definidos
- Cobertura DPP explicita — Tabla de mapeo a Info Groups con porcentajes (25/126 = 20%)
- Definition of Done en 3 niveles — L1 Test Data → L2 Historical → L3 Production es pragmatico
- Implementation Handoff Prompt — Util para onboarding de agentes AI o desarrolladores
3. Observaciones y Problemas Encontrados
Bloqueo de merge: Las observaciones #1, #3, #4 y #5 deben corregirse antes de aprobar el PR. Las observaciones #6–#9 pueden documentarse como notas para implementacion.
3.1 Observaciones Criticas
656.00 (Amounts of Waste Generated) aparece en parametros #38, #41 y #46 para plastico, carton y tela rechazada. 657.00 y 358.00 tambien se repiten. El documento no especifica como se discriminan en el modelo de datos (sub-tipo? array?).waste_category: plastic | cardboard | textile) y el modelo de almacenamiento.POST /api/v1/checkpoint-records/iniciar-cp1 y GET /api/v1/checkpoints/1/lote/{lote_id}/precargado, pero CLAUDE.md establece CP1 como POST /api/v1/checkpoints/cp1/rollos.3.2 Observaciones de Severidad Media
3.50 kgCO2eq/kg cuando la composicion es incompleta, pero ningun escenario Gherkin lo cubre. HU-CP1-04 solo tiene el caso exitoso.3.3 Observaciones Informativas
ABC-INVALIDO, pero no define el regex o patron valido. Es \d{2}-\d{5}?4. Inventario de Parametros
Los 48 parametros organizados por bloque. Los parametros #34–#36 estan marcados como fuera de alcance (N/A o Futuro).
4.1 Bloque 1: Trazabilidad EPCIS (14 parametros)
| # | Nombre FTL | Nombre DPP (T4V) | T4V Item | Dim. | Fuente |
|---|---|---|---|---|---|
| 1 | SGTIN Lote Tela | Unique Product ID | 300.20 | WHAT | Auto |
| 2 | Peso total recibido | Component Weight | 350.50 | WHAT | IoT |
| 3 | Lote proveedor (Partida) | Batch/Lot Number | 304.20 | WHAT | ERP |
| 4 | Timestamp recepcion | Operacional EPCIS | — | WHEN | Auto |
| 5 | Zona horaria | Operacional EPCIS | — | WHEN | Auto |
| 6 | Timestamp registro | Operacional EPCIS | — | WHEN | Auto |
| 7 | GLN zona recepcion | Facility Identifier | 202.10 | WHERE | Auto |
| 8 | GLN almacen materiales | Facility Location | 202.30 | WHERE | Auto |
| 9 | GLN proveedor Tier 2 | Supplier Location | 201.00 | WHERE | ERP |
| 10 | bizStep | Operacional EPCIS | — | WHY | Auto |
| 11 | disposition | Operacional EPCIS | — | WHY | Auto |
| 12 | Orden Compra Tela | PO Number | 305.00 | WHY | ERP |
| 13 | GLN proveedor origen | Supplier Location (source) | 201.00 | HOW | ERP |
| 14 | GLN almacen destino | Facility Location (dest) | 202.30 | HOW | Auto |
4.2 Bloque 2: Core Trazabilidad + PEF (13 + 9 parametros)
| # | Nombre FTL | Nombre DPP (T4V) | T4V Item | Fuente |
|---|---|---|---|---|
| 15 | ID Lote Tela (GTIN+Batch) | Product Identification Value | 300.10 | Auto |
| 16 | Codigo de Tela | Article Number | 304.00 | ERP |
| 17 | Proveedor Tier 2 (GLN) | Operator Identifier | 203.10 | ERP |
| 18 | Orden de Produccion | PO Number (internal) | 305.00 | ERP |
| 19 | Guia de Remision | Operacional | — | ERP |
| 20 | Fecha/Hora Recepcion | Operacional | — | Auto |
| 21 | Operador Receptor | Operator Identifier (user) | 203.10 | Auto |
| 22 | Nombre Proveedor | Supplier Name | 200.00 | ERP |
| 23 | Tipo Tela | Material | 350.10 | ERP |
| 24 | Color / Lote Tintura | Color (Brand) | 310.00 | ERP |
| 25 | Composicion Fibra | Content Name + Value | 350.20 + 350.21 | ERP |
| 26 | Peso Neto Recibido (rollo) | Component Weight | 350.50 | Manual |
| 27 | Huella Upstream | Carbon Footprint | 653.00 | Auto |
Bloque 2b: PEF Datos Extendidos
| # | Nombre FTL | T4V Item | Fuente | Factor PEF | Estado |
|---|---|---|---|---|---|
| 28 | Algodon (%) | 350.21 | ERP | 2.15 kgCO2eq/kg | Activo |
| 29 | Elastano (%) | 350.21 | ERP | 12.50 kgCO2eq/kg | Activo |
| 30 | Poliester (%) | 350.21 | ERP | 3.80 kgCO2eq/kg | Activo |
| 31 | Contenido Reciclado | 351.00 + 351.10 | Manual | Ajuste CFF | Activo |
| 32 | Pais Origen Fibra | 350.22 | ERP | Grid mix | Activo |
| 33 | Certificaciones Material | 501.00 | ERP | — | Activo |
| 34 | Lote Hilado Tier 4 | — | — | — | N/A |
| 35 | Proceso Tenido Tier 3 | 355.00 | Proveedor | — | N/A |
| 36 | Consumo Agua Tenido | 652.00 | Proveedor | L/kg | Futuro |
Obs. #2: Los parametros #34–#36 estan fuera de Sprint 14. Deben excluirse del conteo o marcarse como roadmap futuro.
4.3 Bloque 3: Gestion de Residuos EU (12 parametros)
| # | Nombre FTL | Nombre DPP (T4V) | T4V Item | Cod. EU | Fuente |
|---|---|---|---|---|---|
| 37 | Embalaje Plastico (LDPE) | Packaging Weight (plastic) | 219.20 | 15 01 02 | Auto |
| 38 | Peso plastico recibido | Amounts of Waste Generated | 656.00 | kg | Manual |
| 39 | Destino plastico | Waste Type + Recovery Mat. | 657.00 + 358.00 | — | Manual |
| 40 | Embalaje Carton (Tubos) | Packaging Weight (cardboard) | 219.20 | 15 01 01 | Auto |
| 41 | Peso carton recibido | Amounts of Waste Generated | 656.00 | kg | Manual |
| 42 | Destino carton | Waste Type + Recovery Mat. | 657.00 + 358.00 | — | Manual |
| 43 | Pallets Madera | Packaging Weight (wood) | 219.20 | 15 01 03 | Manual |
| 44 | Estado pallet | Operacional QC | — | — | Manual |
| 45 | Tela Defectuosa | Recovery Materials | 358.00 | 04 02 09 | Manual |
| 46 | Peso tela rechazada | Amounts of Waste Generated | 656.00 | kg | Manual |
| 47 | Tipo defecto | Operacional QC | — | — | Manual |
| 48 | Destino tela rechazada | Recovery Materials | 358.00 | — | Manual |
Obs. #3: T4V Item 656.00 aparece en #38, #41 y #46 sin discriminador. 657.00 y 358.00 tambien se repiten. Se necesita definir un discriminador para la implementacion.
5. Cobertura DPP — Mapeo a Info Groups Trace4Value
Cobertura por Info Group
CP1 cubre 25 de 126 Item Numbers del DPP completo (20%). Los Info Groups Brand (100), Digital Identifier (370), Care (400) y Circularity (600) se completan en checkpoints posteriores.
Sistema vs Supervisor
Distribucion por fuente de datos
Principio de diseno: El supervisor en zona de acopio NO conoce terminologia EPCIS, PEF ni DPP. El sistema precarga el 68% de los datos y solicita solo lo que requiere observacion fisica directa (8 campos).
6. Historias de Usuario
Estimacion total: 42 Story Points — ~2 Sprints
Definition of Done — 3 Niveles
| Nivel | Criterio | T4V Items verificados |
|---|---|---|
| L1 Test Data | 48 params capturados con dataset clonado. 25 T4V Items persistidos. Carbon Footprint (653.00) calculado. | Todos los 25 |
| L2 Historical | Datos reales de Trento mapeados. Content Name/Value coincide con ERP. Supplier Name verificado. | 200.00, 304.20, 350.20, 350.21, 501.00 |
| L3 Production | Supervisor ejecuta en planta. QR fisico con Unique Product ID. JSON EPCIS exportable como fragmento DPP. | Los 25 + exportacion JSON |
7. Veredicto
El documento es solido como especificacion funcional. Estructura clara, criterios Gherkin concretos, mapeo DPP explicito y separacion sistema/supervisor bien definida.
Estado del review
- Veredicto
- Changes Requested
- Corregir antes del merge
- 4 issues
- Documentar para impl.
- 5 issues
Proximos Pasos
Corregir antes del merge (bloqueantes)
- Obs. #1 — Reconciliar el conteo de parametros (44 vs 48 vs numeracion real)
- Obs. #3 — Definir discriminador para T4V Items duplicados (656.00, 657.00, 358.00)
- Obs. #4 — Alinear endpoints entre EPIC y CLAUDE.md
- Obs. #5 — Remover credenciales del documento versionado
Documentar como notas de implementacion
- Obs. #2 — Excluir params #34-#36 del conteo o marcar como “fuera de Sprint 14”
- Obs. #6 — Definir formato/regex de Batch/Lot Number
- Obs. #7 — Verificar rango de Component Weight con operaciones de planta
- Obs. #8 — Agregar scenario Gherkin para Carbon Footprint con composicion incompleta
- Obs. #9 — Corregir conteo de campos operacionales (9, no 6)