# US-MMD003-004: Comparar Resultados vs Referencias ## Metadata | Campo | Valor | |-------|-------| | **ID** | US-MMD003-004 | | **Epica** | EPIC-MMD-003 - Diagnosticos | | **Modulo** | diagnosticos | | **Prioridad** | P0 | | **Story Points** | 5 | | **Sprint** | Sprint 3 | | **Estado** | Backlog | --- ## Historia de Usuario **Como** mecanico, **quiero** comparar automaticamente los resultados de pruebas contra valores de referencia, **para** determinar rapidamente si un componente esta dentro de especificaciones. ## Descripcion Detallada El sistema tiene una base de datos de especificaciones por marca y modelo de motor. Al registrar resultados, compara automaticamente y muestra semaforo visual. --- ## Criterios de Aceptacion **Escenario 1: Comparacion automatica** ```gherkin DADO que registro prueba de inyector Cummins ISX15 CUANDO ingreso presion de apertura: 2950 PSI ENTONCES el sistema busca referencia ISX15: | Min | Max | | 2800 | 3200 | Y muestra: ✅ OK (dentro de rango) ``` **Escenario 2: Semaforo de estado** ```gherkin DADO que tengo multiples parametros CUANDO veo el resumen ENTONCES cada parametro tiene indicador: | Parametro | Valor | Ref | Estado | | Presion | 2950 | 2800-3200 | ✅ Verde | | Caudal | 58 | 45-55 | ⚠️ Amarillo | | Retorno | 35 | 0-20 | ❌ Rojo | ``` **Escenario 3: Valor fuera de rango** ```gherkin DADO que un valor esta fuera de rango CUANDO el sistema detecta la desviacion ENTONCES: - Muestra indicador rojo - Calcula porcentaje de desviacion: "+75%" - Sugiere accion: "Retorno excesivo - revisar sellos" ``` **Escenario 4: Sin referencia disponible** ```gherkin DADO que no hay referencia para el componente CUANDO registro el valor ENTONCES el sistema muestra: - Indicador gris "Sin referencia" - Permite guardar el valor - Sugiere agregar referencia ``` **Escenario 5: Tolerancia configurable** ```gherkin DADO que un valor esta en zona limite CUANDO esta a 5% del limite ENTONCES muestra indicador amarillo "Cerca del limite" ``` --- ## Logica de Semaforo | Estado | Condicion | Color | |--------|-----------|-------| | OK | Dentro de rango | Verde | | Atencion | 90-100% del limite | Amarillo | | Fuera | Fuera de rango | Rojo | | Sin ref | No hay especificacion | Gris | --- ## Tareas Tecnicas **Database:** - [ ] DB-067: Crear tabla `reference_specs` - [ ] DB-068: Poblar con especificaciones comunes **Backend:** - [ ] BE-133: Servicio de comparacion - [ ] BE-134: Calcular desviacion porcentual - [ ] BE-135: Sugerencias automaticas **Frontend:** - [ ] FE-134: Crear ComparisonBadge component - [ ] FE-135: Crear ResultsTable con semaforo - [ ] FE-136: Tooltip con detalles de referencia --- ## Especificaciones Base (Ejemplo) ```yaml cummins_isx15: injector: opening_pressure: min: 2800 max: 3200 unit: PSI return: min: 0 max: 20 unit: ml/min flow: min: 45 max: 55 unit: ml/100 pump: max_pressure: value: 1800 tolerance: 5% unit: PSI ``` --- ## Definition of Done (DoD) - [ ] Comparacion automatica al registrar - [ ] Semaforo visual - [ ] Calculo de desviacion - [ ] Manejo de sin referencia - [ ] Tests pasando --- **Creada por:** Requirements-Analyst **Fecha:** 2025-12-06