MII-007: Retroalimentacion
id: MII-007
type: Epic
status: Pendiente
priority: P1
phase: 2
story_points: 13
created_date: 2026-01-10
updated_date: 2026-01-10
simco_version: "4.0.0"
Metadata
| Campo |
Valor |
| ID |
MII-007 |
| Nombre |
Retroalimentacion |
| Fase |
2 - Retroalimentacion |
| Prioridad |
P1 |
| Story Points |
13 |
| Estado |
Pendiente |
1. Descripcion
Implementar el sistema de retroalimentacion que permite a los usuarios corregir errores de deteccion, etiquetar productos desconocidos, y contribuir a la mejora del modelo de IA.
Objetivo
Permitir a los usuarios mejorar la precision del sistema corrigiendo errores y etiquetando productos, creando un ciclo de mejora continua.
2. Requerimientos Relacionados
| RF |
Descripcion |
Prioridad |
| FR-060 |
Correccion de SKU (cambiar producto identificado) |
P1 |
| FR-061 |
Correccion de cantidad (ajuste manual) |
P1 |
| FR-062 |
Etiquetado de desconocidos (foto, marca, presentacion) |
P1 |
| FR-063 |
Registro de Ground Truth (correcciones trazables) |
P0 |
3. Criterios de Aceptacion
AC-001: Corregir SKU
DADO que veo un item mal identificado
CUANDO selecciono "Corregir"
ENTONCES puedo buscar el producto correcto
Y al seleccionarlo, se actualiza el item
Y la correccion queda registrada como ground truth
AC-002: Corregir Cantidad
DADO que veo una cantidad incorrecta
CUANDO ajusto el numero manualmente
ENTONCES la cantidad se actualiza
Y el cambio queda registrado
Y se muestra la cantidad original vs corregida
AC-003: Etiquetar Desconocido
DADO que hay un producto "Desconocido"
CUANDO selecciono "Etiquetar"
ENTONCES puedo:
- Tomar foto close-up
- Seleccionar marca de una lista
- Escribir presentacion
Y el producto se crea/asocia
Y contribuye al entrenamiento del modelo
AC-004: Confirmar Item Correcto
DADO que veo un item con duda
CUANDO confirmo que es correcto
ENTONCES su status cambia a CONFIRMED
Y se registra como ground truth positivo
AC-005: Trazabilidad
DADO que hice correcciones
CUANDO reviso el historial de un item
ENTONCES puedo ver:
- Valor original detectado
- Valor corregido
- Quien corrigio
- Cuando se corrigio
4. Tareas Tecnicas
| ID |
Tarea |
Estimacion |
Estado |
| T-001 |
Crear modal de correccion de SKU |
2 SP |
Pendiente |
| T-002 |
Implementar busqueda de productos |
2 SP |
Pendiente |
| T-003 |
Crear input de correccion de cantidad |
1 SP |
Pendiente |
| T-004 |
Implementar flujo de etiquetado |
3 SP |
Pendiente |
| T-005 |
Crear formulario nuevo producto |
2 SP |
Pendiente |
| T-006 |
Implementar registro ground truth |
2 SP |
Pendiente |
| T-007 |
Crear endpoints de correcciones |
1 SP |
Pendiente |
5. Modelo de Datos
Tabla: corrections
CREATE TABLE corrections (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
item_id UUID REFERENCES inventory_items(id),
session_id UUID REFERENCES inventory_sessions(id),
user_id UUID REFERENCES users(id),
correction_type VARCHAR(20), -- 'SKU', 'QUANTITY', 'LABEL'
original_value JSONB,
corrected_value JSONB,
confidence_before DECIMAL(5,2),
evidence_url VARCHAR(500),
created_at TIMESTAMP DEFAULT NOW()
);
Tabla: ground_truth
CREATE TABLE ground_truth (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
product_id UUID REFERENCES products(id),
image_url VARCHAR(500),
bounding_box JSONB,
source_type VARCHAR(20), -- 'CORRECTION', 'VALIDATION', 'UPLOAD'
source_id UUID,
user_id UUID REFERENCES users(id),
status VARCHAR(20) DEFAULT 'PENDING', -- 'PENDING', 'APPROVED', 'REJECTED'
reviewed_by UUID REFERENCES users(id),
reviewed_at TIMESTAMP,
created_at TIMESTAMP DEFAULT NOW()
);
Tabla: product_submissions
CREATE TABLE product_submissions (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
submitted_by UUID REFERENCES users(id),
name VARCHAR(200),
brand VARCHAR(100),
category VARCHAR(100),
presentation VARCHAR(100),
image_url VARCHAR(500),
status VARCHAR(20) DEFAULT 'PENDING', -- 'PENDING', 'APPROVED', 'REJECTED', 'MERGED'
merged_to UUID REFERENCES products(id),
reviewed_by UUID REFERENCES users(id),
reviewed_at TIMESTAMP,
created_at TIMESTAMP DEFAULT NOW()
);
6. Endpoints API
| Metodo |
Endpoint |
Descripcion |
Auth |
| PATCH |
/inventory/items/:id/correct-sku |
Corregir SKU |
JWT |
| PATCH |
/inventory/items/:id/correct-quantity |
Corregir cantidad |
JWT |
| POST |
/inventory/items/:id/confirm |
Confirmar correcto |
JWT |
| POST |
/products/submit |
Enviar nuevo producto |
JWT |
| GET |
/products/search |
Buscar productos |
JWT |
| POST |
/ground-truth |
Registrar ground truth |
JWT |
| GET |
/inventory/items/:id/history |
Historial correcciones |
JWT |
7. Pantallas Mobile
| Pantalla |
Componentes |
| CorrectSKUModal |
Buscador, lista resultados, confirmar |
| CorrectQuantityModal |
Input numerico, original vs nuevo |
| LabelProductScreen |
Camara, form producto, submit |
| ProductSearchScreen |
Buscador, filtros, resultados |
| ConfirmItemModal |
Vista item, boton confirmar |
8. Flujo de Etiquetado
┌─────────────────────────────────────────────────────────────────┐
│ FLUJO DE ETIQUETADO │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Producto │──▶│ Tomar │──▶│ Llenar │──▶│ Enviar │ │
│ │Desconocido│ │ Foto │ │ Form │ │ Producto │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ │ │
│ ▼ │
│ ┌──────────┐ │
│ │ Moderador│ │
│ │ Revisa │ │
│ └────┬─────┘ │
│ ┌───────────────┼───────────┐ │
│ ▼ ▼ ▼ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐│
│ │Aprobado │ │Rechazado│ │ Merged ││
│ │(nuevo) │ │ │ │(existia)││
│ └─────────┘ └─────────┘ └─────────┘│
│ │
└─────────────────────────────────────────────────────────────────┘
9. Metricas de Mejora
| Metrica |
Descripcion |
| Correction Rate |
% de items corregidos por sesion |
| Product Submissions |
Nuevos productos enviados |
| Approval Rate |
% de submissions aprobados |
| Model Improvement |
Cambio en precision tras reentrenamiento |
10. Dependencias
Entrada (Requiere)
- MII-005: Procesamiento IA
- MII-006: Reportes de Inventario
Salida (Bloquea)
- Pipeline de reentrenamiento del modelo (futuro)
11. Incentivos (Opcional)
| Accion |
Recompensa |
| Corregir 10 items |
Badge "Contribuidor" |
| Producto aprobado |
+0.1 creditos |
| 100 correcciones |
Badge "Experto" |
12. Riesgos
| Riesgo |
Probabilidad |
Impacto |
Mitigacion |
| Correcciones falsas |
Media |
Alto |
Moderacion, reputation |
| Spam de productos |
Media |
Medio |
Rate limit, moderacion |
| Confusion UX |
Media |
Medio |
Tutorial, tooltips |
13. Notas de Implementacion
- Guardar siempre el valor original antes de corregir
- Implementar busqueda fuzzy para productos
- Considerar autocompletado de marcas/categorias
- La foto de etiquetado debe tener buena resolucion
- Validar consentimiento para usar datos en entrenamiento
14. Referencias
Ultima Actualizacion: 2026-01-10