# _MAP: MAI-006 - Calidad

**Épica:** MAI-006
**Nombre:** Calidad
**Fase:** 1 - Alcance Inicial
**Presupuesto:** $25,000 MXN
**Story Points:** 45 SP
**Estado:** 📝 A crear
**Sprint:** Sprint 11-12 (Semanas 16.5-19)
**Prioridad:** P1
**Última actualización:** 2025-12-06

---

## 📋 Propósito

Implementar sistema completo de gestión de calidad en obra con:
- **Inspecciones de calidad** con checklists configurables
- **Reportes de no conformidad (RNC)** con workflow de resolución
- **Pruebas de laboratorio** (concreto, suelos, materiales)
- **Certificaciones y aprobaciones** (clientes, supervisores externos)
- **Integración con apps móviles** MOB-003 (Supervisor) y MOB-004 (Capataz)
- **Trazabilidad completa** por vivienda/frente de obra

**Justificación:** El control de calidad es crítico para cumplimiento con normativas de construcción, certificación INFONAVIT, y garantía de entrega de viviendas sin defectos. Reduce costos de corrección y rework en postventa.

**Reutilización GAMILIT:** 10% (concepto básico de checklist, adaptado extensivamente)

---

## 📁 Contenido

### Requerimientos Funcionales (5)

| ID | Archivo | Título | Estado |
|----|---------|--------|--------|
| RF-QUA-001 | [RF-QUA-001-inspecciones-calidad.md](./requerimientos/RF-QUA-001-inspecciones-calidad.md) | Sistema de Inspecciones de Calidad | 📝 A crear |
| RF-QUA-002 | [RF-QUA-002-no-conformidades.md](./requerimientos/RF-QUA-002-no-conformidades.md) | Reportes de No Conformidad (RNC) | 📝 A crear |
| RF-QUA-003 | [RF-QUA-003-pruebas-laboratorio.md](./requerimientos/RF-QUA-003-pruebas-laboratorio.md) | Pruebas de Laboratorio | 📝 A crear |
| RF-QUA-004 | [RF-QUA-004-certificaciones.md](./requerimientos/RF-QUA-004-certificaciones.md) | Certificaciones y Aprobaciones | 📝 A crear |
| RF-QUA-005 | [RF-QUA-005-trazabilidad-vivienda.md](./requerimientos/RF-QUA-005-trazabilidad-vivienda.md) | Trazabilidad de Calidad por Vivienda | 📝 A crear |

### Especificaciones Técnicas (5)

| ID | Archivo | Título | RF | Estado |
|----|---------|--------|-------|--------|
| ET-QUA-001 | [ET-QUA-001-modelo-inspecciones.md](./especificaciones/ET-QUA-001-modelo-inspecciones.md) | Modelo de Datos de Inspecciones | RF-QUA-001 | 📝 A crear |
| ET-QUA-002 | [ET-QUA-002-workflow-rnc.md](./especificaciones/ET-QUA-002-workflow-rnc.md) | Workflow de No Conformidades | RF-QUA-002 | 📝 A crear |
| ET-QUA-003 | [ET-QUA-003-integracion-laboratorio.md](./especificaciones/ET-QUA-003-integracion-laboratorio.md) | Integración con Laboratorio | RF-QUA-003 | 📝 A crear |
| ET-QUA-004 | [ET-QUA-004-sistema-certificaciones.md](./especificaciones/ET-QUA-004-sistema-certificaciones.md) | Sistema de Certificaciones | RF-QUA-004 | 📝 A crear |
| ET-QUA-005 | [ET-QUA-005-integracion-apps-moviles.md](./especificaciones/ET-QUA-005-integracion-apps-moviles.md) | Integración MOB-003 y MOB-004 | RF-QUA-001, RF-QUA-002 | 📝 A crear |

### Historias de Usuario (9)

| ID | Archivo | Título | SP | Estado |
|----|---------|--------|----|--------|
| US-QUA-001 | [US-QUA-001-crear-checklist-inspeccion.md](./historias-usuario/US-QUA-001-crear-checklist-inspeccion.md) | Crear Checklist de Inspección | 5 | 📝 A crear |
| US-QUA-002 | [US-QUA-002-realizar-inspeccion-movil.md](./historias-usuario/US-QUA-002-realizar-inspeccion-movil.md) | Realizar Inspección desde App Móvil | 8 | 📝 A crear |
| US-QUA-003 | [US-QUA-003-registrar-no-conformidad.md](./historias-usuario/US-QUA-003-registrar-no-conformidad.md) | Registrar Reporte de No Conformidad | 5 | 📝 A crear |
| US-QUA-004 | [US-QUA-004-workflow-resolucion-rnc.md](./historias-usuario/US-QUA-004-workflow-resolucion-rnc.md) | Workflow de Resolución de RNC | 5 | 📝 A crear |
| US-QUA-005 | [US-QUA-005-solicitar-prueba-laboratorio.md](./historias-usuario/US-QUA-005-solicitar-prueba-laboratorio.md) | Solicitar Prueba de Laboratorio | 3 | 📝 A crear |
| US-QUA-006 | [US-QUA-006-registrar-resultados-laboratorio.md](./historias-usuario/US-QUA-006-registrar-resultados-laboratorio.md) | Registrar Resultados de Laboratorio | 5 | 📝 A crear |
| US-QUA-007 | [US-QUA-007-generar-certificacion.md](./historias-usuario/US-QUA-007-generar-certificacion.md) | Generar Certificación de Calidad | 5 | 📝 A crear |
| US-QUA-008 | [US-QUA-008-dashboard-calidad.md](./historias-usuario/US-QUA-008-dashboard-calidad.md) | Dashboard de Calidad y KPIs | 5 | 📝 A crear |
| US-QUA-009 | [US-QUA-009-historial-calidad-vivienda.md](./historias-usuario/US-QUA-009-historial-calidad-vivienda.md) | Historial de Calidad por Vivienda | 4 | 📝 A crear |

**Total Story Points:** 45 SP

### Implementación

📊 **Inventarios de trazabilidad:**
- [TRACEABILITY.yml](./implementacion/TRACEABILITY.yml) - Matriz completa de trazabilidad
- [DATABASE.yml](./implementacion/DATABASE.yml) - Objetos de base de datos
- [BACKEND.yml](./implementacion/BACKEND.yml) - Módulos backend
- [FRONTEND.yml](./implementacion/FRONTEND.yml) - Componentes frontend
- [MOBILE.yml](./implementacion/MOBILE.yml) - Integración con MOB-003 y MOB-004

### Pruebas

📋 Documentación de testing:
- [TEST-PLAN.md](./pruebas/TEST-PLAN.md) - Plan de pruebas
- [TEST-CASES.md](./pruebas/TEST-CASES.md) - Casos de prueba
- [INTEGRATION-TESTS.md](./pruebas/INTEGRATION-TESTS.md) - Tests de integración con apps móviles

---

## 🔗 Referencias

- **README:** [README.md](./README.md) - Descripción detallada de la épica
- **Fase 1:** [../README.md](../README.md) - Información de la fase completa
- **Apps Móviles:** [../../08-epicas/EPIC-MAI-019-mobile-apps.md](../../08-epicas/EPIC-MAI-019-mobile-apps.md) - MOB-003 y MOB-004
- **Control de Obra:** [../MAI-005-control-obra-avances/README.md](../MAI-005-control-obra-avances/README.md) - Integración con avances
- **Postventa:** [../MAI-009-calidad-postventa/README.md](../MAI-009-calidad-postventa/README.md) - Continuidad en garantías

---

## 📊 Métricas

| Métrica | Valor |
|---------|-------|
| **Presupuesto estimado** | $25,000 MXN |
| **Presupuesto target** | $25,000 MXN ±5% |
| **Story Points estimados** | 45 SP |
| **Duración estimada** | 2.5 semanas (12.5 días) |
| **Reutilización GAMILIT** | 10% |
| **Integraciones móviles** | 2 (MOB-003, MOB-004) |
| **RF a implementar** | 5/5 |
| **ET a implementar** | 5/5 |
| **US a completar** | 9/9 |

---

## 🎯 Módulos Afectados

### Base de Datos
- **Schema:** `quality`
- **Tablas principales:**
  * `quality_checklists` - Plantillas de checklist
  * `quality_checklist_items` - Items de checklist
  * `quality_inspections` - Inspecciones realizadas
  * `quality_inspection_results` - Resultados de inspección
  * `quality_non_conformities` - Reportes de No Conformidad (RNC)
  * `quality_nc_actions` - Acciones correctivas/preventivas
  * `quality_lab_tests` - Pruebas de laboratorio
  * `quality_lab_results` - Resultados de laboratorio
  * `quality_certifications` - Certificaciones emitidas
  * `quality_approval_history` - Historial de aprobaciones
- **Funciones:** Cálculo de % cumplimiento, validaciones de inspección
- **ENUMs:**
  * `inspection_type` (structural, finishing, electrical, plumbing, general)
  * `inspection_status` (pending, in_progress, passed, failed, conditional)
  * `nc_severity` (critical, major, minor, observation)
  * `nc_status` (open, in_progress, resolved, verified, closed, rejected)
  * `lab_test_type` (concrete_compression, soil_compaction, steel_tensile, moisture)
  * `certification_type` (infonavit, client, internal, regulatory)

### Backend
- **Módulo:** `quality`
- **Path:** `apps/backend/src/modules/quality/`
- **Services:**
  * `ChecklistService` - CRUD de checklists
  * `InspectionService` - Registro y gestión de inspecciones
  * `NonConformityService` - Gestión de RNC
  * `LabTestService` - Solicitud y registro de pruebas
  * `CertificationService` - Emisión de certificaciones
  * `QualityAnalyticsService` - KPIs y reportes
- **Controllers:** QualityController, InspectionController, LabTestController
- **Middlewares:** QualityAuthGuard, ProjectAccessGuard

### Frontend Web
- **Features:** `quality`, `inspections`, `lab-tests`, `certifications`
- **Path:** `apps/frontend/src/features/quality/`
- **Componentes:**
  * ChecklistBuilder - Constructor de checklists
  * InspectionForm - Formulario de inspección
  * NCReportForm - Reporte de no conformidad
  * NCWorkflow - Estado y workflow de RNC
  * LabTestRequest - Solicitud de prueba
  * LabResultsViewer - Visualizador de resultados
  * CertificationGenerator - Generador de certificaciones
  * QualityDashboard - Dashboard con KPIs
  * QualityHistory - Historial por vivienda
- **Stores:** qualityStore, inspectionStore, ncStore, labTestStore

### App Móvil (React Native)
- **Integración con MOB-003 (Supervisor de Obra):**
  * Realizar inspecciones con checklist offline
  * Registrar RNC con fotos geoetiquetadas
  * Solicitar pruebas de laboratorio desde campo
  * Aprobar/rechazar avances con criterios de calidad
- **Integración con MOB-004 (Capataz):**
  * Consultar checklists pendientes
  * Ver RNC de su cuadrilla
  * Marcar resolución de RNC
- **Features compartidas:**
  * Scanner QR de elementos/viviendas
  * Captura de fotos con marcas de calidad
  * Modo offline con sincronización
  * Notificaciones de RNC urgentes

---

## 🔄 Flujo de Trabajo de Calidad

### 1. Inspección de Calidad

```mermaid
flowchart TD
    A[Ingeniero crea checklist] --> B[Asigna inspección a Supervisor]
    B --> C{Supervisor en campo}
    C -->|App MOB-003| D[Escanea QR de vivienda/área]
    D --> E[Completa checklist item por item]
    E --> F[Toma fotos de evidencia]
    F --> G{¿Todos items OK?}
    G -->|Sí| H[Marca inspección aprobada]
    G -->|No| I[Genera RNC automático]
    H --> J[Sincroniza a servidor]
    I --> J
    J --> K[Notifica a Residente/Ingeniero]
```

### 2. Reporte de No Conformidad (RNC)

```mermaid
flowchart TD
    A[Detección de NC] --> B[Registro de RNC]
    B --> C[Clasificación de severidad]
    C --> D{Severidad}
    D -->|Crítica| E[Notificación inmediata]
    D -->|Mayor/Menor| F[Workflow normal]
    E --> G[Asignación a responsable]
    F --> G
    G --> H[Análisis de causa raíz]
    H --> I[Plan de acción correctiva]
    I --> J[Ejecución de corrección]
    J --> K[Verificación de resolución]
    K --> L{¿Aceptada?}
    L -->|Sí| M[Cierre de RNC]
    L -->|No| N[Re-trabajo]
    N --> J
    M --> O[Actualización de KPIs]
```

### 3. Pruebas de Laboratorio

```mermaid
flowchart TD
    A[Solicitud de prueba] --> B[Toma de muestra en campo]
    B --> C{¿Laboratorio interno?}
    C -->|Sí| D[Registro en sistema]
    C -->|No| E[Envío a laboratorio externo]
    D --> F[Ejecución de prueba]
    E --> G[Espera de resultados]
    F --> H[Captura de resultados]
    G --> H
    H --> I{¿Cumple especificación?}
    I -->|Sí| J[Aprobación de material/proceso]
    I -->|No| K[Generación de RNC]
    J --> L[Actualización de trazabilidad]
    K --> M[Workflow de corrección]
```

---

## 📱 Funcionalidades en Apps Móviles

### MOB-003: App Supervisor de Obra

**Funcionalidades de Calidad:**

1. **Inspecciones Digitales**
   - Lista de inspecciones pendientes
   - Checklist interactivo con checkbox/radio/texto
   - Captura de fotos con anotaciones
   - Geolocalización automática
   - Modo offline completo

2. **Registro de RNC**
   - Formulario rápido de RNC
   - Clasificación de severidad con colores
   - Asignación de responsable
   - Adjuntar fotos/videos
   - Estado en tiempo real

3. **Validación de Avances**
   - Criterios de calidad antes de aprobar avance
   - Checklist de pre-entrega
   - Bloqueo de avance si hay RNC críticas

### MOB-004: App Capataz

**Funcionalidades de Calidad:**

1. **Consulta de Estándares**
   - Ver checklists de calidad por actividad
   - Especificaciones técnicas
   - Fotos de referencia (buenas prácticas)

2. **Gestión de RNC de Cuadrilla**
   - Ver RNC asignadas a su cuadrilla
   - Marcar acciones completadas
   - Solicitar re-inspección
   - Comunicación con Supervisor

3. **Auto-inspección**
   - Checklist simplificado antes de solicitar inspección oficial
   - Reducir rechazo por errores obvios

---

## 📋 Tipos de Inspecciones

### Inspecciones Estructurales

| Tipo | Frecuencia | Checklist Típico |
|------|-----------|------------------|
| **Cimentación** | Por vivienda | - Profundidad excavación<br>- Nivel de desplante<br>- Resistencia concreto<br>- Armado de acero |
| **Estructura** | Por nivel | - Verticalidad muros<br>- Niveles y plomadas<br>- Resistencia elementos<br>- Juntas constructivas |
| **Losa** | Por losa | - Espesor<br>- Armado<br>- Resistencia concreto<br>- Nivelación |

### Inspecciones de Acabados

| Tipo | Frecuencia | Checklist Típico |
|------|-----------|------------------|
| **Instalaciones** | Por vivienda | - Instalación eléctrica certificada<br>- Instalación hidráulica sin fugas<br>- Gas con dictamen<br>- Drenaje funcional |
| **Acabados** | Por vivienda | - Aplanados sin fisuras<br>- Pisos nivelados<br>- Pintura uniforme<br>- Cancelería funcional |
| **Pre-entrega** | Por vivienda | - Limpieza general<br>- Servicios funcionando<br>- Llaves y protecciones<br>- Manual de usuario |

### Inspecciones de Cumplimiento

| Tipo | Frecuencia | Responsable |
|------|-----------|-------------|
| **INFONAVIT** | Por proyecto | Verificador externo |
| **Protección Civil** | Por etapa | Autoridad municipal |
| **Desarrollos Urbanos** | Al finalizar | Municipio |
| **Cliente Final** | Pre-escritura | Derechohabiente + Notario |

---

## 🧪 Pruebas de Laboratorio

### Pruebas de Concreto

| Prueba | Norma | Frecuencia | Especificación |
|--------|-------|-----------|----------------|
| **Resistencia a compresión** | NMX-C-083 | 1 cilindro/10m³ | f'c ≥ especificado (150, 200, 250 kg/cm²) |
| **Revenimiento** | NMX-C-156 | Por revoltura | 10±2 cm típico |
| **Temperatura** | NMX-C-435 | Por colado | ≤ 32°C |

### Pruebas de Suelos

| Prueba | Norma | Frecuencia | Especificación |
|--------|-------|-----------|----------------|
| **Compactación Proctor** | ASTM D698 | Por capa | 95% PM mínimo |
| **Capacidad de carga** | ASTM D1194 | Por lote | Según proyecto estructural |
| **Granulometría** | ASTM C136 | Por banco | Según especificación |

### Pruebas de Acero

| Prueba | Norma | Frecuencia | Especificación |
|--------|-------|-----------|----------------|
| **Tensión** | NMX-B-172 | Por lote | fy ≥ 4200 kg/cm² |
| **Doblado** | NMX-B-172 | Por lote | Sin fisuras |

---

## 📈 KPIs de Calidad

### Indicadores Principales

| KPI | Fórmula | Meta | Frecuencia |
|-----|---------|------|------------|
| **% Cumplimiento Inspecciones** | (Inspecciones aprobadas / Total inspecciones) × 100 | ≥ 90% | Semanal |
| **Índice de No Conformidad** | RNC / Viviendas inspeccionadas | ≤ 2.0 | Mensual |
| **Tiempo Resolución RNC** | Promedio días (apertura → cierre) | ≤ 7 días | Mensual |
| **% RNC Críticas** | RNC críticas / Total RNC × 100 | ≤ 10% | Mensual |
| **% Pruebas Aprobadas** | Pruebas aprobadas / Total pruebas × 100 | ≥ 95% | Mensual |
| **Tasa de Re-trabajo** | Viviendas con correcciones / Total viviendas × 100 | ≤ 15% | Mensual |

### Dashboard de Calidad

**Vista Director/Ingeniero:**
```
┌─────────────────────────────────────────────────────────┐
│  DASHBOARD DE CALIDAD - Fraccionamiento Los Pinos       │
│  Periodo: Noviembre 2025                                │
├─────────────────────────────────────────────────────────┤
│                                                          │
│  📊 KPIs Principales                                    │
│  ┌──────────────┬──────────────┬──────────────┐        │
│  │ Cumplimiento │ RNC Abiertas │ Tiempo Resol │        │
│  │    92.5%     │      18      │   5.2 días   │        │
│  │    ✅ Meta   │    ⚠️ Alto   │   ✅ Meta    │        │
│  └──────────────┴──────────────┴──────────────┘        │
│                                                          │
│  📋 Inspecciones (Última semana)                        │
│  • Realizadas: 45 / 50 programadas (90%)                │
│  • Aprobadas: 38 (84%)                                  │
│  • Rechazadas: 7 (16%)                                  │
│  • Pendientes: 5                                        │
│                                                          │
│  🚨 RNC por Severidad                                   │
│  • Críticas: 2 (URGENTE)                                │
│  • Mayores: 8                                           │
│  • Menores: 8                                           │
│                                                          │
│  🧪 Pruebas de Laboratorio                              │
│  • Pendientes: 3                                        │
│  • En proceso: 5                                        │
│  • Aprobadas: 28 (93%)                                  │
│  • Rechazadas: 2 (7%)                                   │
│                                                          │
│  📈 Tendencia Mensual                                   │
│  • RNC: ↓ -15% vs mes anterior                         │
│  • Cumplimiento: ↑ +3% vs mes anterior                 │
│                                                          │
└─────────────────────────────────────────────────────────┘
```

---

## 🔌 Integraciones

### Con Módulo MAI-005 (Control de Obra)

**Integración:** Bloqueo de avances si hay RNC críticas pendientes

```typescript
// Validación al registrar avance
async validateProgressQuality(conceptId: string, unitId: string) {
  const criticalNCs = await this.ncService.findCriticalNCsByUnit(unitId, conceptId);

  if (criticalNCs.length > 0) {
    throw new QualityBlockException(
      `No se puede registrar avance. Existen ${criticalNCs.length} RNC críticas pendientes.`,
      criticalNCs
    );
  }

  const requiredInspection = await this.inspectionService.isInspectionRequired(conceptId);

  if (requiredInspection && !requiredInspection.passed) {
    throw new QualityBlockException(
      `Se requiere inspección de calidad aprobada antes de registrar avance.`
    );
  }

  return { valid: true };
}
```

### Con Módulo MAI-009 (Postventa)

**Integración:** Historial de calidad de vivienda pasa a postventa

- Todas las inspecciones realizadas
- RNC generadas y resueltas
- Pruebas de laboratorio
- Certificaciones emitidas
- Checklist de pre-entrega

### Con Apps Móviles (MOB-003, MOB-004)

**APIs Clave:**

```typescript
// Endpoints para app móvil
GET    /api/mobile/quality/inspections/pending       // Inspecciones pendientes
GET    /api/mobile/quality/checklists/:id            // Detalle de checklist
POST   /api/mobile/quality/inspections/:id/complete  // Completar inspección
POST   /api/mobile/quality/nc/create                 // Crear RNC
PATCH  /api/mobile/quality/nc/:id/resolve            // Marcar resolución
GET    /api/mobile/quality/nc/assigned               // RNC asignadas (MOB-004)
POST   /api/mobile/quality/photos/upload             // Upload fotos
```

**Sincronización Offline:**

- Cache de checklists asignados (actualizado diariamente)
- Queue de inspecciones completadas
- Queue de RNC registradas
- Compresión de fotos antes de sincronizar
- Retry automático con backoff exponencial

---

## 🚨 Casos de Uso Críticos

### Caso 1: Inspección de Cimentación con RNC Crítica

**Escenario:**
1. Supervisor en campo para inspección de cimentación de lote 45
2. Detecta que profundidad de desplante es 20cm menor a especificación
3. Genera RNC crítica desde app MOB-003
4. Sistema notifica inmediatamente a Ingeniero y Residente
5. Se bloquea automáticamente siguiente actividad (armado) en ese lote
6. Ingeniero analiza y determina acción: profundizar excavación
7. Capataz ejecuta corrección
8. Supervisor re-inspecciona y aprueba
9. Se desbloquea actividad de armado

**Flujo en Sistema:**
```
MOB-003 → [RNC Crítica] → Backend → [Notificación Push] → Ingeniero
                       → [Bloqueo Avance] → MAI-005
Ingeniero → [Plan Acción] → RNC → Capataz (MOB-004)
Capataz → [Marcar Resuelto] → RNC
Supervisor → [Re-inspección] → [Aprobar] → [Desbloqueo] → MAI-005
```

### Caso 2: Prueba de Resistencia de Concreto Rechazada

**Escenario:**
1. Se colaron 20 viviendas con concreto del mismo proveedor
2. Prueba de cilindro a 28 días: 180 kg/cm² (especificación: 200 kg/cm²)
3. Sistema genera RNC automática
4. Se bloquean avances de las 20 viviendas afectadas
5. Se solicita estudio estructural
6. Ingeniero determina: refuerzo adicional en elementos
7. Se ejecuta refuerzo
8. Se solicita nueva prueba de concreto de refuerzo
9. Nueva prueba: 220 kg/cm² - APROBADA
10. Se cierran RNC y se desbloquean avances

### Caso 3: Pre-entrega a INFONAVIT

**Escenario:**
1. 50 viviendas listas para entrega
2. Sistema genera checklist de pre-entrega por vivienda
3. Supervisor realiza inspección final con MOB-003
4. De 50 viviendas:
   - 45 aprobadas
   - 5 con observaciones menores (detalles de pintura)
5. Se generan 5 RNC menores
6. Capataz ejecuta correcciones en 2 días
7. Supervisor re-inspecciona y aprueba
8. Sistema genera certificación de calidad por vivienda
9. Certificaciones se adjuntan a expediente de escrituración

---

## 🧪 Testing

### Unit Tests (Backend)

```typescript
describe('InspectionService', () => {
  it('should create inspection from checklist template')
  it('should calculate pass/fail based on critical items')
  it('should block progress when critical NC exists')
  it('should notify stakeholders on NC creation')
})

describe('NonConformityService', () => {
  it('should classify NC by severity automatically')
  it('should create workflow states correctly')
  it('should calculate resolution time SLA')
  it('should prevent closure without verification')
})

describe('LabTestService', () => {
  it('should validate test results against specifications')
  it('should generate NC when test fails')
  it('should link test to affected units')
})
```

### E2E Tests (App Móvil)

```typescript
describe('Quality Inspection E2E', () => {
  it('should complete full inspection flow offline')
  it('should create NC with photos from field')
  it('should sync inspection results when online')
  it('should show pending inspections by priority')
})
```

### Integration Tests

```typescript
describe('Quality-Progress Integration', () => {
  it('should block progress when critical NC exists')
  it('should require inspection before progress')
  it('should unlock progress after NC resolution')
})
```

---

## 🚨 Riesgos Específicos

| Riesgo | Probabilidad | Impacto | Mitigación |
|--------|-------------|---------|------------|
| **Usuarios omiten inspecciones** | Alta | Alto | Validación automática, bloqueos de avance |
| **RNC no se resuelven a tiempo** | Media | Alto | SLA automáticos, alertas escalonadas |
| **Pruebas de laboratorio tardadas** | Alta | Medio | Buffer de tiempo, laboratorio interno |
| **Rechazo masivo en inspección final** | Media | Muy Alto | Inspecciones intermedias, auto-inspección |
| **Pérdida de trazabilidad** | Baja | Alto | Blockchain de inspecciones (futuro) |

---

## 📋 Checklist de Implementación

### Backend
- [ ] Modelo de datos de checklists configurables
- [ ] CRUD de inspecciones con validaciones
- [ ] Workflow de estados de RNC
- [ ] Servicio de notificaciones por severidad
- [ ] Integración con MAI-005 (bloqueos de avance)
- [ ] API para apps móviles (MOB-003, MOB-004)
- [ ] Sistema de pruebas de laboratorio
- [ ] Generación de certificaciones PDF
- [ ] Dashboard con KPIs de calidad

### App Móvil (MOB-003, MOB-004)
- [ ] Sincronización de checklists offline
- [ ] Formulario de inspección con checklist interactivo
- [ ] Captura de fotos con anotaciones
- [ ] Registro rápido de RNC
- [ ] Scanner QR de viviendas/elementos
- [ ] Modo offline completo
- [ ] Sincronización de inspecciones y RNC
- [ ] Notificaciones push de RNC urgentes

### Frontend Web
- [ ] Constructor de checklists (drag & drop)
- [ ] Vista de inspecciones con filtros
- [ ] Dashboard de calidad con gráficos
- [ ] Workflow visual de RNC (Kanban)
- [ ] Gestión de pruebas de laboratorio
- [ ] Generador de certificaciones
- [ ] Historial de calidad por vivienda
- [ ] Reportes exportables (PDF/Excel)

### Database
- [ ] Schemas y tablas
- [ ] Funciones de validación y cálculo
- [ ] Triggers de notificación
- [ ] Índices optimizados
- [ ] Views de reportes

### Testing
- [ ] Unit tests >80% coverage
- [ ] E2E tests de flujos completos
- [ ] Integration tests con MAI-005
- [ ] Tests de app móvil (offline, sync)
- [ ] Load tests (1000 inspecciones/día)

### Despliegue
- [ ] Variables de entorno
- [ ] Configuración de notificaciones
- [ ] Integración con storage de fotos
- [ ] Monitoreo de SLA de RNC
- [ ] Documentación de uso

---

## 💡 Lessons Learned (a documentar post-implementación)

1. **Checklists deben ser flexibles:** No todas las obras tienen los mismos criterios
2. **Notificaciones críticas no deben saturar:** Solo lo urgente es urgente
3. **Modo offline es obligatorio:** Campo rara vez tiene buena conexión
4. **Fotos son evidencia legal:** Almacenar con metadatos completos (GPS, timestamp, hash)

---

## 🎯 Siguiente Paso

Crear documentación de requerimientos funcionales (RF-QUA-001 a RF-QUA-005) y especificaciones técnicas (ET-QUA-001 a ET-QUA-005).

**Prioridad de documentación:**
1. RF-QUA-001: Sistema de Inspecciones (core del módulo)
2. RF-QUA-002: Reportes de No Conformidad (crítico para workflow)
3. ET-QUA-005: Integración con apps móviles (alta dependencia)

---

**Generado:** 2025-12-06
**Mantenedores:** @tech-lead @backend-team @mobile-team @quality-team
**Estado:** 📝 A crear
**Prioridad:** P1 - Crítico para certificación y cumplimiento
