03. Glosario de Dominio (Lenguaje Ubicuo)
Fase: 03 — Ingeniería de Requisitos
Entregable: 03
Proyecto: NoteVault (PC, Mac, Android, iPhone)
1. Tabla Canónica de Términos (Domain-Driven Design)
| Término | Definición de Dominio | Equivalente en Código |
|---|---|---|
| Bóveda (Vault) | Carpeta raíz en disco que aloja las notas y la carpeta .notevault/. |
vaultRoot / VaultManager |
| Frontmatter | Encabezado YAML delimitado por --- con metadatos tipados de la nota. |
frontmatter.ts |
| Enlace Wiki (Wikilink) | Sintaxis [[Nota]] para enlazar bidireccionalmente notas en la bóveda. |
backlinks.ts / markdownUtils.ts |
| Adjunto (Attachment) | Archivo multimedia (imagen/video/audio) copiado a attachments/ junto a la nota. |
attachments.ts |
| Racha de Hábito (Streak) | Días consecutivos con un hábito marcado como completado. | habitManager.ts |
| Registro de Serie (Set Log) | Datos de ejecución física de un ejercicio (peso, reps, notas). | exerciseManager.ts |
| Manifiesto de Tema (Topic Manifest) | Archivo de vista (<carpeta>.practica.md) que fija competencias (skills) y dificultad. |
studyTopic.ts |
| Tarjeta SRS (SRS Card) | Unidad atómica de práctica de repetición espaciada con caja Leitner e intervalo. | studySrsManager.ts |
| Plan del Mentor (Mentor Plan) | Plan de estudio mensual generado por IA con reparto de áreas (together / phased). |
mentorPlanBuild.ts |
| Canvas | Mapa visual interactivo de nodos y flechas generado programáticamente en JSON. | kb_canvas.ts / .canvas |
2. Marco Conceptual: Término de Glosario Ubicuo
1. **Entidad principal e independiente.**
2. **Es la entidad líder del conjunto de datos:** posee un identificador global único que fija el significado canónico del término (`glossary_term_id`: `TERM-TOPIC-MANIFEST`) consultado en todo el código base.
3. **Existe por sí misma en el diccionario del dominio sin depender del lenguaje de programación**, y es la única responsable de garantizar que ingenieros, diseñadores y usuarios utilicen el mismo vocabulario.
4. **Punto de entrada y límite de consistencia:** Evita la duplicación o distorsión semántica de los conceptos en los dos repositorios.