# BACKLOG — InQ ROI > Features de producto pendientes. Decisión del director (qué entra, cuándo). > No incluye deuda técnica ni hallazgos de sprint actual (ver TECH_DEBT.md y OBSERVATIONS.md). --- ## Convención de etiquetas Cada ítem tiene una etiqueta de estado: - `[SPRINT-2]` — Comprometido para el próximo sprint - `[BACKLOG]` — Disponible para asignar en planning de sprint futuro - `[FASE-2]` — Versión 2.0 del producto, más allá del horizonte actual - `[DEFERRED]` — Pospuesto sin sprint asignado, requiere decisión Al cerrar un sprint, los ítems `[SPRINT-N]` se promocionan a `[SPRINT-(N+1)]` o vuelven a `[BACKLOG]`. --- ## Features de alta prioridad ### [RESOLVED] Ver procesos asociados a un recurso + navegar a ellos Implementado en Sprint 5 Etapa 4. `ResourceCatalogPage` muestra columna "Procesos" con conteo. Click expande lista de procesos con links. `resource-repo.ts` provee `getProcessCountsByResourceId()` y `getProcessesByResourceId()`. Confirmado 2026-06-23. ### [RESOLVED] Campo "empresa" en perfil de usuario Implementado en Sprint 5 Etapa 4. Columna `company` en tabla `users` (Supabase), campo editable en `ProfileSheet`, visible en dropdown `AppHeader`. Confirmado 2026-06-23. ### [RESOLVED] Indicador de simulación desactualizada Implementado en Sprint 3. Confirmado funcionando en validación visual Sprint 4 (muestra "Hay cambios sin simular" junto al botón Simular). Cerrado Sprint 5 planning (2026-06-19). ### [BACKLOG] Múltiples simulaciones por proceso Historial de simulaciones con comparación de escenarios. ### [BACKLOG] Recursos con costo por hora Link actividad ↔ recurso (rol, persona, sistema) con cálculo automático del costo agregado. ### [RESOLVED] Edición del nombre de proceso y cliente desde el workspace Implementado en Sprint 2. Confirmado funcionando en validación visual Sprint 4. Cerrado Sprint 5 planning (2026-06-19). ### [BACKLOG] Gateway OR inclusivo nativo Actualmente se simula como XOR. Implementar propagación OR real con probabilidades independientes. ### [BACKLOG] Distribuciones de probabilidad Gamma/triangular por actividad en lugar de valores fijos. Permite análisis de sensibilidad. --- ## Features de media prioridad ### [BACKLOG] Export a Excel (.xlsx) Múltiples hojas: resumen + por actividad + metodología. Útil para clientes que necesitan análisis adicional en planillas. ### [BACKLOG] Modo oscuro Dark mode para el web app. ### [BACKLOG] i18n: inglés + español configurable Necesario cuando InQuality empiece a vender fuera de LATAM. ### [BACKLOG] PWA installable Manifest + service worker para uso offline. ### [BACKLOG] Zoom/pan del heatmap desde el reporte Hoy es visualización estática. Permitir interacción. ### [RESOLVED] Controles de zoom en canvas BPMN (fit-to-screen / zoom-in / zoom-out) Implementado en Sprint 5 Etapa 2. fit-viewport con centering correcto, botones zoom-in/zoom-out/fit en esquina inferior izquierda (1.2x factor, límites 0.1x–4x). OK formal del director 2026-06-19. ### [BACKLOG] Detalle de recursos por actividad en el PDF Tabla de costos por recurso asignado dentro de cada actividad. ### [BACKLOG] Importación por URL Cargar BPMN desde enlace directo (GitHub, Confluence, etc.). ### [RESOLVED] Columna "Eficiencia de automatización" en ComparisonTable Implementado en Sprint 5 Etapa 5. Dos columnas: "Ahorro esperado" (`ahorro$ × executionProbability`) y "Eficiencia" (`ahorro$ × executionProbability / executionTimeMinutes` en `currency/min`). Barras de progreso proporcionales, sort multi-columna, tooltips. A/B para focus group con clientes. OK formal del director 2026-06-23. ### [BACKLOG] ComparisonTable — whitespace-nowrap en celda de Eficiencia El valor y la unidad ("1.02 USD/min") se cortan en dos líneas por ancho de celda. **Fix:** agregar `whitespace-nowrap` al `` del número en `MetricCell` dentro de `ComparisonTable.tsx`. Una línea de cambio. --- ## Features Fase 2 (versión 2.0 del producto) ### [RESOLVED] Login y multi-tenant Implementado en Sprint 4. Supabase + Google Workspace OAuth, PostgreSQL, RLS, catálogo de recursos global, identidad en UI. Ver `sprints/sprint-4/BRIEF.md`. Cerrado 2026-05-xx. ### [FASE-2] Versionado de procesos Historial de cambios con diff visual. ### [FASE-2] Gobernanza / RACI Asignación de responsables por actividad (Responsible, Accountable, Consulted, Informed). ### [FASE-2] Jerarquía organizacional Integración con orgchart para asignar costos por área de la empresa. ### [FASE-2] IA / asistente Sugerencias de optimización, benchmarking automático. ### [FASE-2] Marketplace de procesos Biblioteca de BPMNs precostos por industria. ### [FASE-2] Elementos RPA y agentes Soporte para costos de bots y workflows automatizados. ### [FASE-2] Tutoriales interactivos Onboarding guiado para usuarios nuevos. --- ## Decisiones de producto pendientes ### [DEFERRED] Footer "Hecho desde Paraguay 🇵🇾" Mantener en web app o eliminar cuando InQuality venda a clientes internacionales no-LATAM. **A favor:** identidad regional, toque humano, diferenciador. **En contra:** sesgo gringo en clientes corporativos. **Decisión pendiente para:** Sprint 3-4 con feedback de uso real en talleres y demos. ### [BACKLOG] Logo InQuality en header de PDFs Los assets SÍ existen en `assets/` (4 PNGs documentados en `simulador-web/CLAUDE.md`). La justificación original ("aún no existen") era incorrecta. **Assets disponibles:** - `MARCA FINAL 2023 AREA DE SEGURIDAD 1 COLOR.png` — logo horizontal color (candidato principal) - `MARCA FINAL 2023 AREA DE SEGURIDAD 1 BCO.png` — logo horizontal blanco (para fondos oscuros) **Trabajo pendiente:** cargar el PNG vía `html2canvas` o convertirlo a base64 e inyectarlo en el header de los 3 PDFs (Actual, Automatizado, ROI). Ya existe la regla en CLAUDE.md de usar el PNG en lugar de texto "InQ"/"InQuality". **Estimación:** Sprint 6 o posterior. Baja prioridad — los PDFs ya tienen "Powered by InQuality" en footer. ### [SPRINT-8] Consolidación modelo de cliente: organizations → areas → procesos Refactorización de modelo de datos para unificar los tres conceptos paralelos de "cliente" (process_groups, clientName, org_id) en una jerarquía de dos niveles. **Scope:** - Nueva tabla `areas (id, org_id, name)` — reemplaza `process_groups` - `area_id` en `processes` — reemplaza `group_id` - Eliminar campo `clientName` (texto libre) del dominio y la UI - `LibraryPage`: agrupa por org → área (en lugar de por clientName) - Workspace sidebar: org como contexto (read-only), área como selector normalizado - Admin UI: CRUD de áreas por org - RLS para `areas` - Migración: bulk-assign 154 procesos de prueba a InQuality, eliminar process_groups de prueba - Tests E2E del flujo completo **Referencia:** `STRATEGIC_DIRECTION.md` → "Consolidación del modelo de cliente" (2026-07-07). --- ### [BACKLOG] Ocultar Settings y ruta /settings para roles de cliente El ícono de tuerca (⚙) en LibraryPage es visible y navegable para `client_editor` y `client_viewer`. La página de configuración ("Etiqueta de grupos") es una feature interna de InQuality — un cliente no debería ver ni editar esta preferencia. **Trabajo pendiente:** - Ocultar el botón de Settings en LibraryPage para `client_editor` y `client_viewer` - Agregar guard en la ruta `/settings` (componente-level, mismo patrón que `/admin/*` y `/import`) - Verificar si `/recursos` también debe ser inaccesible para roles de cliente **No es riesgo de seguridad** (es solo preferencia de UI local, sin datos sensibles). **Estimación:** 1h — agregar al sprint siguiente junto con otros ajustes de UX de cliente.