Commit Graph

20 Commits

Author SHA1 Message Date
ricardo 3035351e6f Sistema de códigos jerárquicos 2-niveles + asignación determinista post-IA
- hierarchy.ts: Spike (S) agregado, buildHierarchyPath genera [E01-F04] (2 niveles)
  Legacy [E05-F04-U01] preservado (regex opcional 3er segmento)
- hierarchy-generator.ts (nuevo): analyzeExisting() computa contadores por épica+tipo
  assignEpicCodes() asigna E{max+1} secuencial
  assignItemCodes() asigna {epic}-{tipo}{n+1} a cada HU dentro de su épica
- project-analyzer.ts: post-procesa épicas y HUs con generador de códigos
  saveEpicDrafts usa epicCode en metadata y título con [E01]
- prompts-db.ts: prompt FASE 2 instruye a la IA a no generar códigos
- workitems.ts: EnrichedEpic._epicCode, EnrichedUserStory._epicCode/_itemCode
- DashboardView: muestra códigos en drafts y tabla de épicas
2026-05-29 18:13:17 -05:00
ricardo 9cf12b482f Análisis IA en dos fases: épicas primero, luego HUs vinculadas con epic_development
- project-analyzer.ts: dividido en analyzeProjectEpics() y analyzeProjectHUs()
  Fase 1: genera solo épicas con linkedHuTitles
  Fase 2: genera HUs dentro de épicas con epicName
- saveEpicDrafts / saveHUDrafts separados para cada tipo
- DashboardView: dos botones '1. Generar Épicas' y '2. Generar HUs'
- pushDraft épica: al crear en KAPPA, actualiza metadata de HUs vinculadas con epicDevelopment
- pushDraft HU: envía epic_development + payload completo (feature, sprint, asignado_a, etc.)
- project_gap prompt: instrucciones separadas para FASE 1 (épicas) y FASE 2 (HUs)
2026-05-29 17:33:47 -05:00
ricardo a4245017f8 DashboardView: tabla de épicas, columna descripción con modal, auto-delete drafts, notificación inline
- Epics reemplazados de cards a tabla con columnas: código, rol, título, descripción (modal), HUs, estado
- HUs tabla: nueva columna Desc con icono ojo que abre modal con descripción completa
- enrichHU ahora incluye description en el objeto
- pushDraft: al recibir 200 OK elimina el draft de Dexie y refresca
- Notificación inline (esquina inferior derecha) reemplaza toast global que no funcionaba en Tauri
- Eliminado useToast / ToastNotification (no funcional en Tauri)
2026-05-29 15:28:59 -05:00
ricardo 19c6fb3153 DashboardView: columna SP + fix priority/story_points perdidos en enrichHU
- 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)
2026-05-29 08:41:37 -05:00
ricardo c8228b315d Fix: mapeo employee_id→user_id + status_name de KAPPA + filtro asignado solo desarrolladores asignados
- 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
2026-05-29 03:15:33 -05:00
ricardo 2f8d79a624 DashboardView: asignación real desde KAPPA + status_name desde lookup + columna asignado como texto
- 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)
2026-05-29 02:52:27 -05:00
ricardo 7d299554bf K-10 pipeline transcripciones + settings IA + cache-aside + session doc
Nuevos modulos:
- services/ai.ts: cliente IA provider-agnostico (OpenRouter, MiniMax)
- services/db.ts: Dexie core con tabla settings + project_docs
- services/storage.ts: Cache-Aside + Write-Through (L1 Map → L2 Dexie → L3 localStorage)
- services/parse-transcription.ts: parser .docx/.vtt/.txt/.md
- services/session-analyzer.ts: extraccion IA de sesiones (resumen, tareas, decisiones)
- services/project-doc.ts: documento maestro MD (Bloque 1 resumen + Bloque 2 sesiones)
- stores/settings.ts: proveedores IA, modelos, API keys separadas por provider
- stores/transcriptions.ts: pipeline upload → analyze → create HU en KAPPA
- views/SettingsView.vue: configuracion IA (OpenRouter, MiniMax, OpenCode bridge)
- views/TranscriptionsView.vue: subida multiple + analisis sesion + visor MD + calendario
- components/AiProjectChat.vue: chat contextual por proyecto con selector de modelo

Cambios en existentes:
- stores/auth.ts, kappa-api.ts, upload-hu.ts: migrados a storage service (Dexie + localStorage)
- stores/projects.ts, workitems.ts: kappa_last_project via storage
- DashboardView.vue: descripcion reemplazada por AiProjectChat
- NewDashboardView.vue: tabs transcriptions + settings + navigate-settings events
- NavMain.vue: items Transcripciones + Configuracion
- SiteHeader.vue: labels tabs + language via storage
- LoginView.vue: remember_email via storage
- i18n: +80 keys español/ingles
- vite.config.ts: proxy CORS para MiniMax
- package.json: +mammoth.js
2026-05-28 12:42:30 -05:00
ricardo 278d2bf075 agregar sprint, has_impairment, tabla impairments + sync pendings KAPPA 2026-05-27 23:03:14 -05:00
ricardo 0339aa23f6 criterios aceptacion: parsear Quill HTML a lista JSON + tooltip en dashboard 2026-05-27 22:51:30 -05:00
ricardo cf770a6a44 hierarchy: parsear nomenclatura [E05-F04-U02], badges de tipo en dashboard, clean title 2026-05-27 21:59:37 -05:00
ricardo 9ae2af3ea2 proyectos: status true/false ahora muestra Activo/Inactivo via i18n 2026-05-27 21:44:41 -05:00
ricardo f39faf61a2 forzar conversion de tipos KAPPA a string antes de guardar en Turso 2026-05-27 20:34:57 -05:00
ricardo 9898d4a414 corregir recursion infinita en safeInvoke + status.toLowerCase con booleans 2026-05-27 20:29:30 -05:00
ricardo 023d4694bd agregar logs a sync Turso para diagnosticar guardado de HUs 2026-05-27 18:25:18 -05:00
ricardo e905fa5712 cache inteligente: Turso primero, luego KAPPA con deteccion de cambios 2026-05-27 18:12:33 -05:00
ricardo 5ef2b2c8e5 agregar paginacion a /userstorys/ + redisenar dashboard de proyecto con epicas y HUs 2026-05-27 13:48:07 -05:00
ricardo 0f26506d54 agregar endpoint /epicdevelopment/ + store de epicas y HUs por proyecto 2026-05-27 13:46:18 -05:00
Ricardo Gonzalez 72662852bf rename proyecto a Alpha, refactor imports a components/ui, fix types en stores 2026-05-23 17:38:15 -05:00
Ricardo Gonzalez 640f0ea889 Dashboard shadcn-vue sidebar + i18n + NavProjects conectado a KAPPA API
- Dashboard-01 block de shadcn-vue instalado (sidebar con tabs)
- vue-i18n para traducciones ES/EN (detecta idioma del navegador)
- NavProjects ahora usa initiative_name de KAPPA API
- Dashboard stats conectados a API (HUs, sesiones, planeaciones)
- Work items table con datos reales de KAPPA
- Login: toggle password con icono de ojo
- Toggle theme restaurado en SiteHeader
- i18n con locale/en.json y locale/es.json
-Nuevos componentes: NavMain, NavDocuments, NavSecondary en dashboard/
- NavUser原来的 - NavUser原来的
2026-05-23 14:59:17 -05:00
ricardo 66fd4e175a Alpha v0.1.0 — KAPPA Hub inicial
- Auth con KAPPA (login + token Bearer)
- Cliente HTTP para 10 endpoints (proyectos, HUs, bitácoras, planeaciones)
- Dashboard multi-proyecto con concepto médico Teloprax
- Calendario colombiano con 19 feriados (Ley Emiliani + Pascua)
- Scheduler tipo cron con Dexie (reglas recurrentes, toasts, log)
- Diseño marca Teloprax: Inter, Space Grotesk, #1A1A2E, rojo #E63946
- Stack: Vue 3 + TypeScript + Pinia + Vite + Bun
2026-05-22 20:18:54 -05:00