- enrichHU ahora incluye status, priority y story_points en el return
- Nueva columna SP (story points) entre Título y Estado en tabla HUs
- Filtro prioridad acepta valores numéricos (1/2/3)
- KappaUserStory: status_name, status/priority aceptan number
- parseAssignedUser: separa employee_id (asignado_a) de user_id (assigned_to)
employee_id se guarda negativo en Turso para distinguirlo
- enrichHU: usa status_name de KAPPA directo, fallback a resolveStatusName
- DashboardView: resolveEmployeeToUser() busca employee→user via employees store
- assignedName: muestra nombre real desde employee→user, fallback asignado_a_names
- Filtros: placeholder Estado/Prioridad/Asignado en vez de Todos
- assignedUsers: filtro solo muestra desarrolladores asignados a HUs del proyecto
- KappaUserStory ampliado con assigned_to, asignado_a, assigned_name
- EnrichedUserStory ahora tiene _assignedUserId, _assignedName, _statusName
- parseAssignedUser() extrae user ID desde múltiples formatos de KAPPA
- syncHUsToTurso persiste assigned_to en BD local
- DashboardView: columna Asignado muestra nombre real desde KAPPA (texto, no Select)
- statuses-db.ts: lookup de estados con seed en Dexie + resolveStatusName()
seguro para booleanos/números (String() antes de trim)
- tauri-db.ts: fallback Dexie para get/save user_stories (funciona en bun dev)
- db.ts: nueva tabla user_stories en Dexie (version 8)
- Filtros de tabla alineados a la derecha (justify-end)
- buildContext() ahora incluye team members del proyecto
(nombres, roles, célula) desde storage per-project
- HUs incluyen story_points (sp) y sprint para que la IA
pueda balancear cargas de trabajo
- Épicas incluyen assigned_name y story_points
- System prompt instruye a la IA a:
· Usar el equipo para asignar HUs
· Detectar sobrecarga por sprint
· Sugerir recursos transversales cuando aplique
· Alertar sobre riesgo de cronograma
- Bug: App.vue llama fetchProjects() antes de que ProjectListView
monte, el watch de projects.length nunca se disparaba
- Fix: watch con immediate:true + dependencia dual (projects +
users), guard teamInitialized para ejecutar una sola vez
- Garantiza que loadAllTeams corra cuando AMBOS datos estén listos
- Roles ordenados por jerarquía: PM, BA, TL, Dev, QA, Asistente
- Selector de rol al añadir miembro a una célula
- Badges con color por rol (morado, azul, ámbar, verde, rosa, celeste)
- Miembros ordenados por jerarquía dentro de cada célula
- Botón de eliminar miembro visible solo al hover (interfaz más limpia)
- Sección "Equipo" con label visible y botón "Gestionar equipo" en la card
- Team dialog ahora incluye buscador (filtro por nombre, email, rol, célula)
- Lista filtrada en vivo + contador de seleccionados
- Avatar show hasta 5 miembros (+N badge)
- Descripción clickeable abre Dialog con texto completo
- Avatares de miembros del equipo en cada card (tooltip + max 4 + +N)
- Gestor de equipo: selección curada de miembros por proyecto
- Persistencia local vía storage (L1/L2/L3)
- i18n es/en con 7 keys nuevas
- filtros por rol y proyecto restaurados (Select dropdowns)
- paginacion con navegacion numerica (‹ 1 2 ... N ›)
- columna Célula en tabla de usuarios
- contador de asignaciones en header
- db.ts v7: tablas cells + cell_members con compound key
- cells-db.ts: CRUD celulas, miembros, getAllCellsWithCounts
- UsersView: rediseñado con cards de celulas en vez de roles
- UsersView: crear/editar/eliminar celulas (normal/transversal)
- UsersView: añadir/remover miembros por celula
- UsersView: tabla de usuarios muestra celulas a las que pertenece
- tauri-db.ts: fallbackInvoke() para hu_drafts y users via Dexie
- storage-router.ts: deteccion de entorno Tauri vs browser
- storage-adapter.ts: capa unificada (preparada para futuros dominios)
- build: en bun dev todo funciona sin Tauri
- UsersView: tabla nativa con busqueda, paginacion (15/page), iniciales
- UsersView: eliminada dependencia ag-grid (mantenida en bundle por otros modulos)
- DashboardView: QA metrics con desglose auto/parcial/manual
- DashboardView: seccion expandible con planes QA detallados
- qa-analyzer: fix field name automatizable
- ToDo: K-09 eliminada
- project-analyzer: saveAsDrafts genera QA plan por cada HU sugerida
- DashboardView: cancelAnalysis con AbortController + mensaje limpio
- HuDrafts: DatePicker con Calendar + Popover (shadcn-vue)
- HuDrafts: formulario dinámico segun tipo (Epic vs HU/Feature/etc)
- components/ui: Popover + Calendar creados
- qa_plans: tabla separada (cubre drafts + user_stories existentes)
- DashboardView: borradores antes de épicas, HuDrafts antes de tabla HUs
- DashboardView: skeletons eliminados
- DashboardView: fix duplicate const project (causaba ReferenceError)
- HuDrafts: i18n para tipos (Epic, Feature, Task, HU, Bug)
- HuDrafts: tipo Epic (E) agregado al selector
- i18n: +hierarchy section con labels en es/en
- services/qa-analyzer.ts: genera plan QA (tests, automatizable/manual, pasos)
- db.ts v5: tabla qa_plans
- DashboardView: push HU/épica auto-genera QA plan
- DashboardView: stats card QA con conteo de planes
- DashboardView: boton QA por draft + visualización de planes
- project-analyzer: saveAsDrafts actualizado con metadata para épicas
- AnalysisEpic: name, description, linkedHuTitles, estimated dates
- saveAsDrafts: guarda épicas como drafts tipo 'E' con metadata JSON
- HuDraftRecord: +metadata field (JSON string)
- DashboardView: push épica busca HUs vinculadas con kappaId
- DashboardView: push HU guarda kappaId del response, no elimina draft
- UI: badge tipo (Epica/HU), HUs vinculadas visibles, estado Enviada con ID
- db.ts v4: tabla hu_drafts (id, projectId, title, description, syncStatus)
- hu-drafts-db.ts: CRUD Dexie para drafts
- project-analyzer.ts: saveAsDrafts() guarda en BD local, no crea en KAPPA
- DashboardView: borradores desde Dexie con boton Enviar individual
- pushDraft: endpoint /api/userstorys/create/ con payload exacto
- pushDraft: elimina draft solo si KAPPA responde ok
- services/project-analyzer.ts: analiza sesiones + resumenes + HUs existentes
- generateMissingHUs: proposicion inteligente sin duplicados
- createMissingHUs: crea en KAPPA solo las que no existen (comparacion por titulo)
- AiProjectChat: sin limite de HUs en contexto JSON compacto
- DashboardView: card 'Generar HUs faltantes' con resultado
- ai.ts: stripThinkTags() para eliminar bloques de razonamiento
- analyzeAsSession: detecta duplicados por UTC timestamp antes de guardar
- TranscriptionsView: sessionDatesList reemplaza sessionOffsets
- session dates se leen directo de tabla sessions (no desde markdown)
- scrollToSession busca por fecha en markdown con regex escapada
- calendario usa BD como fuente de verdad
- services/timezone.ts: parseTeamsUTC(), toColombiaTime(), isTeamsFile()
- TranscriptionsView: fecha prioriza UTC del filename sobre AI/hoy
- TranscriptionsView: muestra conversion UTC → Colombia en resultados
- rumbo/timezone.md: documentacion arquitectura horaria para RUMBO
- db.ts: v3 con tablas sessions, session_summaries, project_state
- transcriptions-db.ts: CRUD para sesiones, summaries, project state
- project-doc.ts: generateMasterDoc() desde BD (no desde datos en memoria)
- session-analyzer.ts: +sessionDate en prompt y extraction
- TranscriptionsView: flujo parse -> guardar BD -> IA -> project_state -> MD
- docs/arquitectura_transcripciones.md: documentacion oficial del patron