dual storage: sesiones en BD + markdown como output

- 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
This commit is contained in:
2026-05-28 13:38:19 -05:00
parent b974788a16
commit 066047f3d1
6 changed files with 467 additions and 122 deletions
+13 -10
View File
@@ -1,6 +1,7 @@
import { callAI } from '@/services/ai'
export interface SessionExtraction {
sessionDate: string // YYYY-MM-DD
sessionTitle: string
summary: string
objectives: { text: string; isNew: boolean }[]
@@ -14,19 +15,21 @@ export interface SessionExtraction {
const SESSION_SYSTEM_PROMPT = `Eres un asistente de gestión de proyectos. Analizás transcripciones de reuniones y extraés información estructurada.
Reglas:
1. Identificá el título de la sesión basado en el contenido y fecha
2. Extraé un resumen ejecutivo de 2-3 oraciones
3. Listá objetivos mencionados, marcando cuáles son NUEVOS vs existentes
4. Extraé tareas pendientes con su origen y prioridad (Alta/Media/Baja)
5. Identificá compromisos con responsable, fecha límite y estado
6. Listá decisiones tomadas durante la sesión
7. Detectá tareas completadas (si hay evidencia)
8. Incluí puntos clave, bloqueos o descubrimientos
9. No inventes información que no esté en la transcripción
10. Respondé SOLO con JSON válido
1. Identificá la fecha de la sesión (si no está explícita, usá la fecha actual)
2. Identificá el título de la sesión basado en el contenido
3. Extraé un resumen ejecutivo de 2-3 oraciones
4. Listá objetivos mencionados, marcando cuáles son NUEVOS vs existentes
5. Extraé tareas pendientes con su origen y prioridad (Alta/Media/Baja)
6. Identificá compromisos con responsable, fecha límite y estado
7. Listá decisiones tomadas durante la sesión
8. Detectá tareas completadas (si hay evidencia)
9. Incluí puntos clave, bloqueos o descubrimientos
10. No inventes información que no esté en la transcripción
11. Respondé SOLO con JSON válido
Formato de respuesta JSON:
{
"sessionDate": "YYYY-MM-DD",
"sessionTitle": "Título descriptivo de la sesión",
"summary": "Resumen ejecutivo de 2-3 oraciones",
"objectives": [