Especificación de Módulo: MOD-MENTOR (Mentor IA y Planes de Estudio)
Fase: 03 — Ingeniería de Requisitos
Entregable: 07 de 09 — Especificación Detallada de Módulos
Módulo ID: MOD-MENTOR (14 de 15)
Bounded Context: AdaptiveMentorship / Tutoría Inteligente y Planificación Curricular
Ubicación de Almacenamiento: .notevault/mentor/ (plans/, sessions/, mentor_memory.json, route.json)
Responsable Técnico: NoteVault Core Engineering
1. Alcance y Responsabilidades del Módulo
El módulo MOD-MENTOR actúa como el tutor pedagógico y estratega de aprendizaje de NoteVault, orquestando el ritmo de estudio y evaluando la retención del estudiante:
- Generador de Planes Mensuales Curriculares: Algoritmo de planificación de estudio que distribuye temas de Matemáticas, Programación e Inglés a lo largo de 4 semanas según la disponibilidad horaria del usuario.
- Estrategias de Aprendizaje Configurables:
- Modo Simultáneo (Together): Las tres áreas avanzan de forma equilibrada en paralelo dentro de cada semana.
- Modo Secuencial (Phased): Bloques de inmersión profunda concentrados en una materia antes de transicionar a la siguiente.
- Temporizador Pomodoro Integrado con Ticker Superior: Control de intervalos de trabajo profundo (25 min, 50 min) y descansos (5 min, 10 min) visible en todo momento desde
TopBarPomodoro.tsx. - Evaluación Post-Sesión (Pomodoro Assessment Modal): Al expirar una sesión de estudio, se abre un modal de reflexión para registrar: estado anímico (1 a 5), nivel de comprensión percibido, notas clave y obstáculos encontrados.
- Memoria Continua del Mentor (Mentor Memory): Registro de correcciones y retroalimentaciones pasadas (
mentor_memory.json) para afinar futuras recomendaciones de estudio y no repetir consejos ineficaces. - Chat Conversacional con Asistente Pedagógico: Interfaz de diálogo contextual que responde dudas sobre el temario, propone ejercicios alternativos y guía el proceso metacognitivo.
2. Marco Conceptual: Entidad Plan de Mentor en el Dominio
3. Requisitos Funcionales del Módulo (RF)
| ID RF | Declaración del Requisito Funcional | Prioridad MoSCoW | Criterio de Verificación |
|---|---|---|---|
| RF-MEN-01 | El sistema DEBE generar planes mensuales de estudio en modo together o phased calculando la distribución horaria por tema. |
Must Have | Componente MentorModule.tsx genera el esqueleto del plan y lo serializa en JSON. |
| RF-MEN-02 | El sistema DEBE proveer un temporizador Pomodoro en la barra superior con soporte para iniciar, pausar, resetear y cambiar de bloque. | Must Have | Store usePomodoro y componente TopBarPomodoro.tsx reflejan el tiempo en segundos en tiempo real. |
| RF-MEN-03 | El sistema DEBE desplegar automáticamente el modal de evaluación post-sesión al finalizar cada bloque Pomodoro de estudio. | Must Have | Al llegar a 00:00, se abre PomodoroAssessmentModal.tsx capturando autoevaluación obligatoria. |
| RF-MEN-04 | El sistema DEBE registrar el historial de sesiones de estudio en .notevault/mentor/sessions/ con fecha, tema, duración y calificación. |
Must Have | Cada sesión finalizada escribe un registro estructurado con guardado atómico. |
| RF-MEN-05 | El sistema DEBE calcular el índice de adherencia al plan (horas_estudiadas / horas_planeadas * 100). |
Should Have | Visualización de gráfico de barras comparando lo planificado vs lo ejecutado por semana. |
| RF-MEN-06 | El sistema DEBE mantener una memoria de correcciones metodológicas (mentor_memory.json) que persista retroalimentaciones del usuario. |
Should Have | El asistente consulta la memoria antes de emitir sugerencias para evitar consejos descartados. |
| RF-MEN-07 | El sistema DEBE ofrecer una interfaz de chat con el Mentor IA con historial persistente por sesión. | Could Have | Las conversaciones se almacenan localmente y permiten reanudar hilos de discusión pasados. |
4. Requisitos No Funcionales del Módulo (RNF Local)
| ID RNF | Dimensión ISO 25010 | Declaración y Métrica Cuantitativa | Método de Medición |
|---|---|---|---|
| RNF-MEN-01 | Eficiencia de Desempeño | Tiempo de Generación de Plan: El algoritmo de asignación horaria para 120 horas mensuales de estudio debe resolverse en < 100 ms. | Benchmark de ejecución sobre mentorPlanBuild.ts. |
| RNF-MEN-02 | Confiabilidad | Precisión de Temporizador en Segundo Plano: El Pomodoro no debe atrasarse ni pausarse cuando la ventana de NoteVault esté minimizada. | Verificación de sincronización con Date.now() para evitar desfases del event loop. |
| RNF-MEN-03 | Seguridad | Privacidad de Reflexiones: Las notas y estados de ánimo del estudiante jamás se transmiten fuera del equipo local. | Monitoreo de peticiones de red certificando operación aislada. |
| RNF-MEN-04 | Usabilidad | Alertas No Intrusivas: Las notificaciones de finalización de Pomodoro deben sonar de forma clara pero no estridente (máximo 70 dB). | Pruebas de audio con archivos de sonido estandarizados en assets/. |
5. Historias de Usuario con Criterios Gherkin
US-MEN-01: Generación de plan mensual equilibrado (Together)
Como estudiante universitario cursando matemáticas y programación,
Quiero generar un plan mensual donde dedique 15 horas semanales distribuidas equilibradamente,
Para avanzar de forma constante en ambas materias sin descuidar ninguna.
Escenario: Creación de plan mensual en modo Together
Dado que el usuario solicita un plan para Noviembre indicando 15 horas/semana y modo "Together"
Cuando el algoritmo procesa los temas pendientes del temario
Entonces genera un plan de 4 semanas dividiendo equitativamente el tiempo entre Matemáticas y Código
Y distribuye los bloques de estudio de lunes a viernes
Y guarda el plan en ".notevault/mentor/plans/plan_2026_11.json".
US-MEN-02: Evaluación post-pomodoro de comprensión
Como estudiante que acaba de terminar un bloque de 50 minutos de teoría de grupos,
Quiero registrar que me costó comprender la noción de subgrupo normal,
Para que el Mentor lo registre en mi memoria de estudio y programe un refuerzo específico.
Escenario: Registro de obstáculo post-sesión
Dado que el temporizador Pomodoro llega a 00:00 en un bloque de Matemáticas
Cuando se despliega el modal de evaluación
Entonces el usuario califica su comprensión con 2/5 e ingresa la nota "Dificultad con subgrupos normales"
Y al confirmar, el sistema archiva el registro de sesión
Y añade la recomendación de revisión conceptual a la lista de prioridades del día siguiente.
6. Especificación Detallada de Casos de Uso
UC-MEN-01: Ejecutar Sesión Pomodoro y Evaluación Post-Sesión
| Campo | Detalle de Especificación |
|---|---|
| ID y Nombre | UC-MEN-01 — Ejecutar Sesión Pomodoro y Evaluación Post-Sesión |
| Actor Principal | Estudiante / Usuario Registrado |
| Precondición | La aplicación NoteVault está abierta. |
| Flujo Principal | 1. El usuario selecciona la materia de estudio (ej. "Matemáticas") y presiona "Iniciar Pomodoro" en la barra superior. 2. El temporizador arranca una cuenta regresiva de 50 minutos con indicación en el ticker superior. 3. El usuario realiza su sesión de estudio concentrado. 4. El temporizador alcanza 00:00. 5. El sistema reproduce un sonido de campana suave y abre el modal PomodoroAssessmentModal.tsx.6. El usuario selecciona su nivel de concentración (1 a 5 estrellas) y escribe brevemente qué logró aprender. 7. Presiona "Guardar y Descansar". 8. El sistema guarda el registro de la sesión en .notevault/mentor/sessions/session_YYYYMMDD_HHMM.json.9. Inicia automáticamente la cuenta regresiva del descanso de 10 minutos. 10. Actualiza las métricas de minutos estudiados hoy en el panel Home. |
| Flujos Alternativos | A1 (Pausa manual): El usuario puede pausar el temporizador si surge una emergencia y reanudarlo cuando esté listo sin perder los minutos transcurridos. |
| Excepciones | E1 (Cierre de app durante Pomodoro): Al reabrir la app, el sistema calcula el tiempo transcurrido mediante Date.now(). Si el tiempo expiró mientras la app estaba cerrada, abre el modal de evaluación indicando el bloque culminado. |
| Postcondición | La sesión queda registrada formalmente en el histórico y suma al cumplimiento del plan mensual. |
7. Diagrama de Actividad del Módulo
flowchart TD
A[Usuario Inicia Pomodoro en Barra Superior] --> B[Registrar Timestamp Inicio]
B --> C[Iniciar Ticker Decremental TopBarPomodoro]
C --> D{¿Temporizador Llega a 00:00?}
D -->|No| E[Seguir Tiqueando cada Segundo]
E --> C
D -->|Sí| F[Emitir Sonido de Notificación]
F --> G[Desplegar PomodoroAssessmentModal]
G --> H[Capturar Estado de Ánimo 1-5]
H --> I[Capturar Nivel de Comprensión y Obstáculos]
I --> J[Click en Guardar y Continuar]
J --> K[Estructurar Objeto MentorSessionRecord]
K --> L[Escritura Atómica en .notevault/mentor/sessions/]
L --> M[Actualizar Horas Estudiadas en Home y Plan]
M --> N[Iniciar Temporizador de Descanso]
N --> O[Fin de Ciclo]
8. Implicación de Compuerta de Fase (Gate 3 Criteria)
- ¿Bloquea el avance a Modelado/Fase 4?: No.
- Condición de Pase: El generador de planes y el temporizador Pomodoro desacoplan su lógica del motor de renderizado, garantizando precisión cronométrica ininterrumpida y persistencia de evaluaciones.