Some checks are pending
CI Pipeline / changes (push) Waiting to run
CI Pipeline / core (push) Blocked by required conditions
CI Pipeline / trading-backend (push) Blocked by required conditions
CI Pipeline / trading-data-service (push) Blocked by required conditions
CI Pipeline / trading-frontend (push) Blocked by required conditions
CI Pipeline / erp-core (push) Blocked by required conditions
CI Pipeline / erp-mecanicas (push) Blocked by required conditions
CI Pipeline / gamilit-backend (push) Blocked by required conditions
CI Pipeline / gamilit-frontend (push) Blocked by required conditions
Gamilit: - Backend: Teacher services, assignments, gamification, exercise submissions - Frontend: Admin/Teacher/Student portals, module 4-5 mechanics, monitoring - Database: DDL functions, seeds for dev/prod, auth/gamification schemas - Docs: Architecture, features, guides cleanup and reorganization Core/Orchestration: - New workspace directives index - Documentation directive Trading-platform: - Database seeds and inventory updates - Tech leader validation report 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1135 lines
43 KiB
YAML
1135 lines
43 KiB
YAML
seeds_inventory:
|
|
version: 1.3.0
|
|
fecha: '2025-12-18'
|
|
metadata:
|
|
proyecto: GAMILIT - Plataforma de Aprendizaje Gamificada
|
|
proposito: Inventario completo de seeds (datos iniciales) DEV y PROD
|
|
ubicacion_base: apps/database/seeds/
|
|
ultima_migracion: '2025-12-18 (Carga usuarios producción desde backup)'
|
|
modelo_datos: JSONB puro (consistente)
|
|
|
|
resumen_ejecutivo:
|
|
total_seeds_prod: 53 # ✅ Actualizado 2025-12-18 (+2 seeds usuarios producción)
|
|
total_seeds_dev: 54 # ✅ Actualizado 2025-12-18
|
|
ejercicios_prod: 23
|
|
ejercicios_dev: 24
|
|
estado_prod: production-ready
|
|
completitud_prod: 100%
|
|
alineacion_dev_prod: 99% # ✅ Mejorado: Seeds principales idénticos
|
|
p0_seeds_coverage: 100%
|
|
notas_actualizacion: |
|
|
2025-12-18 (Carga Usuarios Producción desde Backup):
|
|
========================================================
|
|
NUEVOS SEEDS:
|
|
- auth/02-production-users.sql: 44 usuarios de producción
|
|
- auth_management/06-profiles-production.sql: 44 perfiles corregidos
|
|
|
|
FUENTE DE DATOS:
|
|
- backup-prod/auth_users_2025-12-18.csv
|
|
- backup-prod/profiles_2025-12-18.csv
|
|
|
|
USUARIOS EXCLUIDOS:
|
|
- rckrdmrd@gmail.com (usuario de pruebas del owner)
|
|
- ju188an@gmail.com (registro incompleto)
|
|
|
|
CORRECCIONES APLICADAS:
|
|
- profiles.id = user_id (corregido para consistencia)
|
|
- tenant_id = GAMILIT Platform principal
|
|
- Preservación de UUIDs y hashes bcrypt originales
|
|
|
|
INICIALIZACIÓN AUTOMÁTICA:
|
|
- Trigger trg_initialize_user_stats se ejecuta al insertar profiles
|
|
- Crea automáticamente: user_stats, user_ranks, comodines_inventory, module_progress
|
|
|
|
2025-12-15 (Simplificación Estructura - SOLO DEFAULTS):
|
|
========================================================
|
|
CAMBIOS MAYORES:
|
|
- 01-schools.sql: VACIADO - No más escuelas demo (Marie Curie, IEI removidas)
|
|
- 02-classrooms.sql: SIMPLIFICADO - Solo classroom DEFAULT
|
|
- 03-classroom-members.sql: SIMPLIFICADO - Todos los estudiantes → DEFAULT
|
|
- 08-assign-admin-schools.sql: EXPANDIDO - Asigna TODOS los usuarios a escuela default
|
|
|
|
DECISIÓN DE DISEÑO:
|
|
- Solo 1 escuela (Sistema - Por Asignar)
|
|
- Solo 1 classroom (Sin Asignar - Aula Default)
|
|
- Trigger trg_assign_default_classroom asigna automáticamente
|
|
- Admin crea entidades adicionales desde UI
|
|
|
|
ENTIDADES ELIMINADAS:
|
|
- Escuela Primaria Marie Curie (CDMX)
|
|
- Instituto de Educación Integral (Guadalajara)
|
|
- Aulas demo: 5to A, 5to B, 6to A, Aula Pruebas, Parent Portal Demo
|
|
|
|
CORRECCIÓN MENOR:
|
|
- enrollment_method: 'auto_assignment' → 'admin_add' (constraint fix)
|
|
|
|
2025-12-15 (Flujo Usuarios - Tech-Leader):
|
|
- Agregado 00-schools-default.sql (Escuela Sistema - Por Asignar)
|
|
- Agregado 08-assign-admin-schools.sql (Asignar escuela a usuarios)
|
|
- Modificado 02-classrooms.sql (classroom default → escuela sistema)
|
|
|
|
2025-12-14 (Validación Automatizada):
|
|
- Corregido 04-friendships.sql (v1.2 - ajustado a DDL actual)
|
|
- Movido 05-profiles-demo.sql a _deprecated/ (requiere auth.users)
|
|
- Total seeds activos: 49 PROD, 50 DEV
|
|
- Paridad script vs filesystem: 100%
|
|
|
|
2025-12-14: AUDIT-DB-001 - P0 Seeds críticos agregados:
|
|
- 07-user_roles.sql (8 roles)
|
|
- 10-mission_templates.sql (11 templates)
|
|
- 11-module_dependencies.sql (6 dependencias)
|
|
- 12-taxonomies.sql (4 taxonomías)
|
|
- 02-marie_curie_content.sql (6 artículos)
|
|
|
|
2025-11-23: Actualizado tras corrección ADR-010.
|
|
Total ejercicios: 23 según DocumentoDeDiseño v6.4
|
|
|
|
produccion:
|
|
ubicacion: apps/database/seeds/prod/
|
|
total_archivos: 49 # ✅ Actualizado 2025-12-14
|
|
estado: production-ready
|
|
completitud: 100%
|
|
ultima_actualizacion: '2025-12-14'
|
|
|
|
schemas:
|
|
# ===========================================================================
|
|
# AUDIT LOGGING
|
|
# ===========================================================================
|
|
audit_logging:
|
|
archivos: 1
|
|
seeds:
|
|
- nombre: 01-default-config.sql
|
|
descripcion: Configuración por defecto de auditoría
|
|
tablas:
|
|
- audit_logs (estructura)
|
|
registros_estimados: 0
|
|
dependencias: []
|
|
estado: activo
|
|
|
|
# ===========================================================================
|
|
# AUTH (Base auth)
|
|
# ===========================================================================
|
|
auth:
|
|
archivos: 2
|
|
seeds:
|
|
- nombre: 01-demo-users.sql
|
|
descripcion: Usuarios de demostración y testing
|
|
tablas:
|
|
- users
|
|
registros_estimados: 3
|
|
perfiles:
|
|
- admin@gamilit.com
|
|
- teacher@gamilit.com
|
|
- student@gamilit.com
|
|
dependencias: []
|
|
estado: activo
|
|
|
|
- nombre: 02-production-users.sql
|
|
descripcion: Usuarios estudiantes registrados en producción
|
|
tablas:
|
|
- users
|
|
registros_estimados: 45
|
|
version: 3.0.0
|
|
fecha_actualizacion: '2025-12-18'
|
|
fuente: backup-prod/auth_users_2025-12-18.csv
|
|
notas: |
|
|
- 45 estudiantes reales de producción
|
|
- Excluido: rckrdmrd@gmail.com (usuario pruebas owner)
|
|
- Preserva UUIDs originales para integridad FK
|
|
- Preserva hashes bcrypt originales
|
|
lotes:
|
|
- fecha: 2025-11-18
|
|
cantidad: 13
|
|
- fecha: 2025-11-24
|
|
cantidad: 23
|
|
- fecha: 2025-11-25
|
|
cantidad: 6
|
|
- fecha: 2025-12-08/17
|
|
cantidad: 2
|
|
dependencias: []
|
|
estado: activo
|
|
|
|
# ===========================================================================
|
|
# AUTH MANAGEMENT
|
|
# ===========================================================================
|
|
auth_management:
|
|
archivos: 7
|
|
seeds:
|
|
- nombre: 01-tenants.sql
|
|
descripcion: Tenants (organizaciones)
|
|
tablas:
|
|
- tenants
|
|
registros_estimados: 3
|
|
tenants:
|
|
- Gamilit Demo (principal)
|
|
- Colegio Demo
|
|
- Universidad Demo
|
|
dependencias: []
|
|
estado: activo
|
|
|
|
- nombre: 02-auth_providers.sql
|
|
descripcion: Proveedores de autenticación
|
|
tablas:
|
|
- auth_providers
|
|
registros_estimados: 3
|
|
providers:
|
|
- email/password
|
|
- Google OAuth
|
|
- Microsoft OAuth
|
|
dependencias: []
|
|
estado: activo
|
|
|
|
- nombre: 03-profiles.sql
|
|
descripcion: Perfiles básicos de usuarios
|
|
tablas:
|
|
- profiles
|
|
registros_estimados: 5-10
|
|
dependencias:
|
|
- auth.users
|
|
- auth_management.tenants
|
|
estado: activo
|
|
|
|
- nombre: 04-profiles-complete.sql
|
|
descripcion: Perfiles completos para usuarios de testing
|
|
tablas:
|
|
- profiles
|
|
registros_estimados: 3
|
|
incluye:
|
|
- admin@gamilit.com
|
|
- teacher@gamilit.com
|
|
- student@gamilit.com
|
|
alcance: Usuarios de testing SOLO
|
|
dependencias:
|
|
- auth.users
|
|
- auth_management.tenants
|
|
estado: activo
|
|
|
|
- nombre: 06-profiles-production.sql
|
|
descripcion: Perfiles para usuarios de producción
|
|
tablas:
|
|
- profiles
|
|
registros_estimados: 45
|
|
version: 3.0.0
|
|
fecha_actualizacion: '2025-12-18'
|
|
fuente: backup-prod/profiles_2025-12-18.csv
|
|
notas: |
|
|
- 45 perfiles de estudiantes de producción
|
|
- Excluido: rckrdmrd@gmail.com (usuario pruebas owner)
|
|
- profiles.id = user_id para TODOS (corregido)
|
|
- tenant_id = GAMILIT Platform principal
|
|
- Trigger trg_initialize_user_stats crea user_stats, user_ranks, etc.
|
|
lotes:
|
|
- fecha: 2025-11-18
|
|
cantidad: 13
|
|
- fecha: 2025-11-24
|
|
cantidad: 23
|
|
- fecha: 2025-11-25
|
|
cantidad: 6
|
|
- fecha: 2025-12-08/17
|
|
cantidad: 3
|
|
dependencias:
|
|
- auth/02-production-users.sql
|
|
- auth_management.tenants
|
|
estado: activo
|
|
|
|
- nombre: 07-user_roles.sql
|
|
descripcion: Asignación de roles a usuarios (P0 AUDIT-DB-001)
|
|
tablas:
|
|
- user_roles
|
|
registros_estimados: 8
|
|
roles:
|
|
- 1 super_admin (admin@gamilit.com)
|
|
- 2 admin_teacher (teacher@gamilit.com, Laura Martínez)
|
|
- 5 student (estudiantes demo)
|
|
uuids: '10000001-0000-0000-0000-00000000000N'
|
|
dependencias:
|
|
- auth_management.profiles
|
|
- auth_management.tenants
|
|
estado: activo
|
|
audit: AUDIT-DB-001-P0
|
|
fecha_creacion: '2025-12-14'
|
|
|
|
- nombre: 08-assign-admin-schools.sql
|
|
descripcion: Asignación de escuela default a TODOS los usuarios
|
|
tablas:
|
|
- profiles (UPDATE)
|
|
registros_estimados: todos los usuarios sin school_id
|
|
version: 2.0.0
|
|
usuarios_afectados:
|
|
- TODOS los roles (super_admin, admin_teacher, student, parent)
|
|
- Cualquier usuario nuevo sin school_id
|
|
logica: |
|
|
UPDATE auth_management.profiles
|
|
SET school_id = (escuela SYSTEM-UNASSIGNED)
|
|
WHERE school_id IS NULL
|
|
dependencias:
|
|
- auth_management.profiles
|
|
- social_features.schools (00-schools-default.sql)
|
|
estado: activo
|
|
fecha_creacion: '2025-12-15'
|
|
fecha_actualizacion: '2025-12-15'
|
|
notas: |
|
|
v2.0 (2025-12-15): Expandido para asignar TODOS los usuarios.
|
|
Garantiza integridad referencial school_id.
|
|
Admin puede reasignar usuarios desde UI.
|
|
|
|
# ===========================================================================
|
|
# CONTENT MANAGEMENT
|
|
# ===========================================================================
|
|
content_management:
|
|
archivos: 2
|
|
seeds:
|
|
- nombre: 01-default-templates.sql
|
|
descripcion: Templates de contenido predeterminados
|
|
tablas:
|
|
- content_templates
|
|
registros_estimados: 5-10
|
|
templates:
|
|
- Biografía Marie Curie
|
|
- Historia científica
|
|
- Experimentos
|
|
dependencias: []
|
|
estado: activo
|
|
|
|
- nombre: 02-marie_curie_content.sql
|
|
descripcion: Contenido biográfico de Marie Curie (P0 AUDIT-DB-001)
|
|
tablas:
|
|
- marie_curie_content
|
|
registros_estimados: 6
|
|
articulos:
|
|
- Primeros Años en Polonia
|
|
- Llegada a París y la Sorbona
|
|
- Descubrimiento de la Radiactividad
|
|
- Premios Nobel
|
|
- Mujeres en la Ciencia
|
|
- Legado Científico
|
|
uuids: '50000001-0000-0000-0000-00000000000N'
|
|
dependencias:
|
|
- content_management.content_templates
|
|
estado: activo
|
|
audit: AUDIT-DB-001-P0
|
|
fecha_creacion: '2025-12-14'
|
|
|
|
# ===========================================================================
|
|
# EDUCATIONAL CONTENT ⭐ PRINCIPAL
|
|
# ===========================================================================
|
|
educational_content:
|
|
archivos: 10
|
|
total_ejercicios: 23
|
|
modelo_datos: JSONB puro
|
|
descripcion: Seeds completos de módulos y ejercicios (production-ready)
|
|
|
|
seeds:
|
|
- nombre: 01-modules.sql
|
|
descripcion: 5 módulos educativos principales
|
|
tablas:
|
|
- modules
|
|
registros: 5
|
|
modulos:
|
|
- MOD-01-LITERAL: Comprensión Literal
|
|
- MOD-02-INFERENCIAL: Comprensión Inferencial
|
|
- MOD-03-CRITICA: Comprensión Crítica
|
|
- MOD-04-DIGITAL: Textos Digitales
|
|
- MOD-05-CREATIVO: Producción Creativa
|
|
dependencias: []
|
|
estado: activo
|
|
|
|
- nombre: 02-exercises-module1.sql
|
|
descripcion: Módulo 1 - Comprensión Literal (Alineado con Doc v6.2)
|
|
tablas:
|
|
- exercises
|
|
registros: 5
|
|
lineas_codigo: 630
|
|
ultima_actualizacion: '2025-11-23'
|
|
ejercicios:
|
|
- 1.1: Crucigrama Científico (order_index 1)
|
|
- 1.2: Línea de Tiempo (order_index 2)
|
|
- 1.3: Completar Espacios en Blanco (order_index 3) - Datos biográficos de Marie
|
|
- 1.4: Verdadero o Falso (order_index 4) - Hechos sobre juventud de Marie
|
|
- 1.5: Sopa de Letras BONUS (order_index 5) - Vocabulario científico
|
|
mecanicas:
|
|
- crucigrama
|
|
- linea_tiempo
|
|
- completar_espacios
|
|
- verdadero_falso
|
|
- sopa_letras
|
|
dependencias:
|
|
- educational_content.modules (MOD-01-LITERAL)
|
|
estado: activo
|
|
modelo: JSONB puro (config, content, solution)
|
|
cambios_v6_2:
|
|
- ejercicio_1_3: cambiado de Sopa de Letras a Completar Espacios en Blanco
|
|
- ejercicio_1_4: cambiado de Mapa Conceptual a Verdadero o Falso
|
|
- ejercicio_1_5: cambiado de Emparejamiento a Sopa de Letras (BONUS)
|
|
- referencia: DocumentoDeDiseño v6.2 (DB-121)
|
|
correccion_2025_11_23:
|
|
- ejercicio_1_3_espacios_5_6: corregida asimetría de alternativas
|
|
- antes: espacio_5 solo 'ciencias', espacio_6 'matemáticas' o 'física'
|
|
- despues: ambos espacios aceptan cualquiera de ['ciencias', 'matemáticas', 'física']
|
|
- restriccion_backend: espacio_5 ≠ espacio_6 (NO redundancias)
|
|
- combinaciones_validas: 6 de 9 posibles
|
|
- documentacion: orchestration/agentes/database/ejercicio-1-3-correccion-implementada-2025-11-23/
|
|
- backups_creados: 02-exercises-module1.sql.backup.20251123_ejercicio13
|
|
|
|
- nombre: 03-exercises-module2.sql
|
|
descripcion: Módulo 2 - Comprensión Inferencial
|
|
tablas:
|
|
- exercises
|
|
registros: 5
|
|
lineas_codigo: 587
|
|
ejercicios:
|
|
- 2.1: Detective Textual
|
|
- 2.2: Construcción de Hipótesis
|
|
- 2.3: Predicción Narrativa
|
|
- 2.4: Puzzle de Contexto
|
|
- 2.5: Rueda de Inferencias
|
|
mecanicas:
|
|
- detective_textual
|
|
- construccion_hipotesis
|
|
- prediccion_narrativa
|
|
- puzzle_contexto
|
|
- rueda_inferencias
|
|
dependencias:
|
|
- educational_content.modules (MOD-02-INFERENCIAL)
|
|
estado: activo
|
|
modelo: JSONB puro (config, content, solution)
|
|
|
|
- nombre: 04-exercises-module3.sql
|
|
descripcion: Módulo 3 - Comprensión Crítica (Alineado con Doc v6.4)
|
|
tablas:
|
|
- exercises
|
|
registros: 5
|
|
lineas_codigo: 608
|
|
ultima_actualizacion: '2025-11-23'
|
|
ejercicios:
|
|
- 3.1: Tribunal de Opiniones (order_index 1) - Clasificar afirmaciones HECHO/OPINIÓN/INTERPRETACIÓN
|
|
- 3.2: Debate Digital (order_index 2) - ¿La fama afectó negativamente a Marie Curie?
|
|
- 3.3: Análisis de Fuentes (order_index 3) - Método CRAAP
|
|
- 3.4: Podcast Argumentativo (order_index 4) - Impacto en equidad de género
|
|
- 3.5: Matriz de Perspectivas (order_index 5) - 6 perspectivas incluyendo Marie y Pierre Curie
|
|
mecanicas:
|
|
- tribunal_opiniones
|
|
- debate_digital
|
|
- analisis_fuentes
|
|
- podcast_argumentativo
|
|
- matriz_perspectivas
|
|
dependencias:
|
|
- educational_content.modules (MOD-03-CRITICA)
|
|
estado: activo
|
|
modelo: JSONB puro (config, content, solution)
|
|
cambios_v6_3:
|
|
- tribunal_opiniones: formato statements con 8 afirmaciones
|
|
- debate_digital: tema actualizado sobre fama post-Nobel
|
|
- matriz_perspectivas: perspectivas 5-6 ahora son Marie y Pierre Curie
|
|
cambios_v6_4:
|
|
- ejercicio_3_2: timeLimit reducido de 1500s (25min) a 600s (10min) - GAP-004, homologación PO
|
|
- ejercicio_3_4: duración reducida de 180-300s a 120s (2min exactos) - GAP-003, ADR-009
|
|
- referencia: commit 6962423 (2025-11-23)
|
|
|
|
- nombre: 05-exercises-module4.sql
|
|
descripcion: Módulo 4 - Lectura Digital y Multimodal (5 ejercicios oficiales)
|
|
tablas:
|
|
- exercises
|
|
registros: 5
|
|
lineas_codigo: 407
|
|
referencia: DocumentoDeDiseño_Mecanicas_GAMILIT_v6_1.md líneas 782-965
|
|
ejercicios:
|
|
- 4.1: Verificador de Fake News (verificador_fake_news)
|
|
- 4.2: Infografía Interactiva (infografia_interactiva)
|
|
- 4.3: Quiz TikTok (quiz_tiktok)
|
|
- 4.4: Navegación Hipertextual (navegacion_hipertextual)
|
|
- 4.5: Análisis de Memes (analisis_memes)
|
|
mecanicas:
|
|
- verificador_fake_news
|
|
- infografia_interactiva
|
|
- quiz_tiktok
|
|
- navegacion_hipertextual
|
|
- analisis_memes
|
|
estructura_jsonb_navegacion_hipertextual:
|
|
nodes:
|
|
descripcion: "Array de nodos hipertextuales navegables"
|
|
estructura_nodo:
|
|
id: "string - identificador único del nodo"
|
|
title: "string - título del documento/sección"
|
|
content: "string - contenido del nodo (texto con formato)"
|
|
links: "array de {targetId, label} - enlaces a otros nodos"
|
|
startNodeId: "string - ID del nodo donde inicia el estudiante"
|
|
targetNodeId: "string - ID del nodo objetivo a alcanzar"
|
|
optimalPath: "array de strings - ruta óptima recomendada"
|
|
researchQuestion: "string - pregunta de investigación guía"
|
|
dependencias:
|
|
- educational_content.modules (MOD-04-DIGITAL)
|
|
estado: activo
|
|
modelo: JSONB puro (config, content, solution)
|
|
|
|
- nombre: 06-exercises-module5.sql
|
|
descripcion: Módulo 5 - Producción Creativa (EXPANDIDO Fase 1)
|
|
tablas:
|
|
- exercises
|
|
registros: 3
|
|
lineas_codigo: 835
|
|
version: 2.0.0
|
|
fecha_expansion: '2025-11-11'
|
|
incremento: 861%
|
|
ejercicios:
|
|
- 5.1: Diario Multimedia
|
|
- 5.2: Cómic Digital
|
|
- 5.3: Video-Carta
|
|
mecanicas:
|
|
- diario_multimedia
|
|
- comic_digital
|
|
- video_carta
|
|
estructura_jsonb_completa:
|
|
diario_multimedia:
|
|
- 3 templates (clásico, científico, carta)
|
|
- 5 prompts detallados con contexto histórico
|
|
- Rúbricas de creatividad (4 criterios)
|
|
- Ejemplo de entrada (156 palabras)
|
|
comic_digital:
|
|
- 4 panel layouts
|
|
- 5 estilos visuales
|
|
- 6 story beats con descripciones visuales
|
|
- Guía de emociones y técnicas
|
|
video_carta:
|
|
- 6 temas completos
|
|
- Script de ejemplo (487 palabras)
|
|
- 8 delivery tips
|
|
- Estructura guiada
|
|
dependencias:
|
|
- educational_content.modules (MOD-05-CREATIVO)
|
|
estado: activo
|
|
modelo: JSONB puro (config, content, solution)
|
|
|
|
- nombre: 07-assessment-rubrics.sql
|
|
descripcion: Rúbricas de evaluación para ejercicios
|
|
tablas:
|
|
- assessment_rubrics
|
|
registros: 20-30
|
|
cobertura:
|
|
- Rúbricas por mecánica
|
|
- Criterios de evaluación
|
|
- Escalas de puntuación
|
|
dependencias:
|
|
- educational_content.exercises
|
|
estado: activo
|
|
|
|
- nombre: 08-difficulty_criteria.sql
|
|
descripcion: Criterios de dificultad y progresión CEFR
|
|
tablas:
|
|
- difficulty_criteria
|
|
registros: 15-20
|
|
incluye:
|
|
- Niveles CEFR (A1, A2, B1, B2, C1, C2)
|
|
- Criterios por nivel
|
|
- Progresión de dificultad
|
|
dependencias: []
|
|
estado: activo
|
|
|
|
- nombre: 11-module_dependencies.sql
|
|
descripcion: Dependencias y prerrequisitos entre módulos (P0 AUDIT-DB-001)
|
|
tablas:
|
|
- module_dependencies
|
|
registros_estimados: 6
|
|
dependencias_modulo:
|
|
- MOD-02 requires MOD-01 (80%)
|
|
- MOD-03 requires MOD-02 (80%)
|
|
- MOD-04 requires MOD-01 (50%)
|
|
- MOD-04 recommends MOD-02 (60%)
|
|
- MOD-05 requires MOD-03 (80%)
|
|
- MOD-05 recommends MOD-04 (50%)
|
|
tipos_dependencia:
|
|
- required (4)
|
|
- recommended (2)
|
|
uuids: '30000001-0000-0000-0000-00000000000N'
|
|
dependencias:
|
|
- educational_content.modules
|
|
estado: activo
|
|
audit: AUDIT-DB-001-P0
|
|
fecha_creacion: '2025-12-14'
|
|
|
|
- nombre: 12-taxonomies.sql
|
|
descripcion: Taxonomías educativas para clasificación (P0 AUDIT-DB-001)
|
|
tablas:
|
|
- taxonomies
|
|
registros_estimados: 4
|
|
taxonomias:
|
|
- Bloom (cognitiva, 6 niveles)
|
|
- SOLO (estructural, 5 niveles)
|
|
- Webb DOK (profundidad, 4 niveles)
|
|
- GAMILIT (personalizada, 5 niveles)
|
|
tipos:
|
|
- bloom
|
|
- solo
|
|
- webb
|
|
- custom
|
|
uuids: '40000001-0000-0000-0000-00000000000N'
|
|
dependencias: []
|
|
estado: activo
|
|
audit: AUDIT-DB-001-P0
|
|
fecha_creacion: '2025-12-14'
|
|
|
|
archivos_deprecated:
|
|
- nombre: _deprecated/02-exercises-demo.sql
|
|
razon: Migrado a 02-06 (2025-11-11)
|
|
destino: 02-exercises-module1.sql y otros
|
|
- nombre: _deprecated/03-exercises-complete.sql
|
|
razon: Migrado a 02-06 (2025-11-11)
|
|
destino: 02-exercises-module1.sql y otros
|
|
- nombre: _deprecated/04-exercise-mechanics.sql.deprecated
|
|
razon: Tabla no existe, config integrado en exercises
|
|
- nombre: _deprecated/05-exercise-options.sql.deprecated
|
|
razon: Tipos actuales no usan exercise_options
|
|
- nombre: _deprecated/06-exercise-answers.sql
|
|
razon: Modelo dual eliminado, JSONB puro (2025-11-11)
|
|
|
|
# ===========================================================================
|
|
# GAMIFICATION SYSTEM
|
|
# ===========================================================================
|
|
gamification_system:
|
|
archivos: 10
|
|
seeds:
|
|
- nombre: 01-achievement_categories.sql
|
|
descripcion: Categorías de logros
|
|
tablas:
|
|
- achievement_categories
|
|
registros: 5-8
|
|
categorias:
|
|
- Explorador
|
|
- Maestro
|
|
- Colaborador
|
|
- Innovador
|
|
dependencias: []
|
|
estado: activo
|
|
|
|
- nombre: 02-leaderboard_metadata.sql
|
|
descripcion: Metadatos de leaderboards
|
|
tablas:
|
|
- leaderboard_metadata
|
|
registros: 4
|
|
leaderboards:
|
|
- Global XP
|
|
- ML Coins
|
|
- Streaks
|
|
- Por mecánica
|
|
dependencias: []
|
|
estado: activo
|
|
|
|
- nombre: 03-maya_ranks.sql
|
|
descripcion: Rangos maya del sistema
|
|
tablas:
|
|
- maya_ranks
|
|
registros: 7
|
|
rangos:
|
|
- Novato
|
|
- Aprendiz
|
|
- Experto
|
|
- Maestro
|
|
- Sabio
|
|
- Guardián
|
|
- Leyenda
|
|
dependencias: []
|
|
estado: activo
|
|
|
|
- nombre: 04-achievements.sql
|
|
descripcion: Logros del sistema (20 logros demo)
|
|
tablas:
|
|
- achievements
|
|
registros: 20
|
|
tipos:
|
|
- Por progreso
|
|
- Por maestría
|
|
- Por colaboración
|
|
- Por constancia
|
|
dependencias:
|
|
- gamification_system.achievement_categories
|
|
estado: activo
|
|
|
|
- nombre: 05-user_stats.sql
|
|
descripcion: Estadísticas iniciales de usuarios
|
|
tablas:
|
|
- user_stats
|
|
registros: 5-10
|
|
dependencias:
|
|
- auth.users
|
|
estado: activo
|
|
|
|
- nombre: 06-user_ranks.sql
|
|
descripcion: Rangos asignados a usuarios
|
|
tablas:
|
|
- user_ranks
|
|
registros: 5-10
|
|
dependencias:
|
|
- gamification_system.user_stats
|
|
- gamification_system.maya_ranks
|
|
estado: activo
|
|
|
|
- nombre: 07-ml_coins_transactions.sql
|
|
descripcion: Transacciones iniciales de ML coins
|
|
tablas:
|
|
- ml_coins_transactions
|
|
registros: 10-20
|
|
dependencias:
|
|
- gamification_system.user_stats
|
|
estado: activo
|
|
|
|
- nombre: 08-user_achievements.sql
|
|
descripcion: Logros desbloqueados por usuarios
|
|
tablas:
|
|
- user_achievements
|
|
registros: 5-15
|
|
dependencias:
|
|
- gamification_system.achievements
|
|
- auth.users
|
|
estado: activo
|
|
|
|
- nombre: 09-comodines_inventory.sql
|
|
descripcion: Inventario de comodines
|
|
tablas:
|
|
- comodines_inventory
|
|
registros: 5-10
|
|
comodines:
|
|
- Pistas
|
|
- Visión Lectora
|
|
- Segunda Oportunidad
|
|
dependencias:
|
|
- auth.users
|
|
estado: activo
|
|
|
|
- nombre: 10-mission_templates.sql
|
|
descripcion: Templates de misiones diarias/semanales/especiales (P0 AUDIT-DB-001)
|
|
tablas:
|
|
- mission_templates
|
|
registros_estimados: 11
|
|
templates:
|
|
daily:
|
|
- Calentamiento Científico (3 ejercicios)
|
|
- Mente Brillante (5 racha)
|
|
- Acumulador de Sabiduría (100 XP)
|
|
- Perfeccionista del Día (1 perfect)
|
|
weekly:
|
|
- Maratón de Conocimiento (15 ejercicios)
|
|
- Constancia Científica (5 días racha)
|
|
- Ascenso Semanal (500 XP)
|
|
- Explorador Curioso (3 módulos)
|
|
- Semana de Excelencia (5 perfectos)
|
|
special:
|
|
- Dominio del Módulo (completar módulo 80%)
|
|
- Estratega Sabio (3 comodines)
|
|
target_types:
|
|
- complete_exercises
|
|
- correct_streak
|
|
- earn_xp
|
|
- perfect_scores
|
|
- daily_streak
|
|
- explore_modules
|
|
- complete_modules
|
|
- use_comodines
|
|
uuids: '20000001-0000-0000-0000-00000000000N'
|
|
dependencias: []
|
|
estado: activo
|
|
audit: AUDIT-DB-001-P0
|
|
fecha_creacion: '2025-12-14'
|
|
|
|
# ===========================================================================
|
|
# LTI INTEGRATION
|
|
# ===========================================================================
|
|
lti_integration:
|
|
archivos: 1
|
|
seeds:
|
|
- nombre: 01-lti_consumers.sql
|
|
descripcion: Consumidores LTI (LMS externos)
|
|
tablas:
|
|
- lti_consumers
|
|
registros: 2-3
|
|
consumers:
|
|
- Moodle Demo
|
|
- Canvas Demo
|
|
dependencias: []
|
|
estado: activo
|
|
|
|
# ===========================================================================
|
|
# PROGRESS TRACKING
|
|
# ===========================================================================
|
|
progress_tracking:
|
|
archivos: 1
|
|
seeds:
|
|
- nombre: 01-module_progress.sql
|
|
descripcion: Progreso inicial de módulos
|
|
tablas:
|
|
- module_progress
|
|
registros: 5-10
|
|
dependencias:
|
|
- educational_content.modules
|
|
- auth.users
|
|
estado: activo
|
|
|
|
# ===========================================================================
|
|
# SOCIAL FEATURES (SIMPLIFICADO 2025-12-15)
|
|
# ===========================================================================
|
|
social_features:
|
|
archivos: 4
|
|
version: 3.0.0
|
|
fecha_simplificacion: '2025-12-15'
|
|
nota_arquitectura: |
|
|
DECISIÓN DE DISEÑO (2025-12-15):
|
|
Solo entidades DEFAULT del sistema. El admin crea otras desde UI.
|
|
- 1 escuela (SYSTEM-UNASSIGNED)
|
|
- 1 classroom (DEFAULT)
|
|
- Trigger automático asigna estudiantes nuevos al DEFAULT
|
|
seeds:
|
|
- nombre: 00-schools-default.sql
|
|
descripcion: Escuela del sistema para usuarios pendientes de asignación
|
|
tablas:
|
|
- schools
|
|
registros: 1
|
|
version: 1.0.0
|
|
escuelas:
|
|
- name: Sistema - Por Asignar
|
|
code: SYSTEM-UNASSIGNED
|
|
uuid: '99999999-9999-9999-9999-999999999999'
|
|
is_default: true
|
|
dependencias:
|
|
- auth_management.tenants
|
|
estado: activo
|
|
created: '2025-12-15'
|
|
notas: |
|
|
Escuela default ÚNICA del sistema.
|
|
Todos los usuarios se asignan aquí automáticamente.
|
|
|
|
- nombre: 01-schools.sql
|
|
descripcion: NO-OP - Solo verificación (escuelas demo removidas)
|
|
tablas:
|
|
- schools (solo verificación, sin INSERTs)
|
|
registros: 0
|
|
version: 3.0.0
|
|
escuelas_removidas:
|
|
- Escuela Primaria Marie Curie (CDMX)
|
|
- Instituto de Educación Integral (Guadalajara)
|
|
dependencias:
|
|
- 00-schools-default.sql
|
|
estado: activo
|
|
notas: |
|
|
Archivo sin INSERTs desde v3.0.
|
|
Las escuelas adicionales se crean desde UI por el admin.
|
|
|
|
- nombre: 02-classrooms.sql
|
|
descripcion: SOLO classroom DEFAULT para asignación automática
|
|
tablas:
|
|
- classrooms
|
|
registros: 1
|
|
version: 3.0.0
|
|
classrooms:
|
|
- name: Sin Asignar - Aula Default
|
|
code: DEFAULT
|
|
uuid: '00000000-0000-0000-0000-000000000001'
|
|
school_code: SYSTEM-UNASSIGNED
|
|
is_default: true
|
|
metadata:
|
|
is_default: true
|
|
system_classroom: true
|
|
auto_assignment: true
|
|
classrooms_removidos:
|
|
- 5to A - Comprensión Lectora (Marie Curie)
|
|
- 5to B - Lectura Digital (Marie Curie)
|
|
- 6to A - Producción de Textos (Marie Curie)
|
|
- Aula de Pruebas - Todos los Niveles (IEI)
|
|
- Demo Parent Portal - 4to A (IEI)
|
|
dependencias:
|
|
- social_features.schools (SYSTEM-UNASSIGNED)
|
|
- auth_management.profiles (teacher default)
|
|
estado: activo
|
|
notas: |
|
|
Solo classroom DEFAULT desde v3.0.
|
|
Los classrooms adicionales se crean desde UI por el admin.
|
|
|
|
- nombre: 03-classroom-members.sql
|
|
descripcion: Asignar TODOS los estudiantes al classroom DEFAULT
|
|
tablas:
|
|
- classroom_members
|
|
registros: dinamico (todos los estudiantes)
|
|
version: 3.0.0
|
|
enrollment_method: admin_add
|
|
logica: |
|
|
INSERT SELECT de auth_management.profiles WHERE role='student'
|
|
Asigna automáticamente a classroom DEFAULT.
|
|
ON CONFLICT: actualiza metadata y updated_at.
|
|
dependencias:
|
|
- social_features.classrooms (DEFAULT)
|
|
- auth_management.profiles (role='student')
|
|
estado: activo
|
|
notas: |
|
|
Todos los estudiantes van al DEFAULT automáticamente.
|
|
El admin/teacher puede reasignarlos desde la UI.
|
|
|
|
# ===========================================================================
|
|
# SYSTEM CONFIGURATION
|
|
# ===========================================================================
|
|
system_configuration:
|
|
archivos: 4
|
|
seeds:
|
|
- nombre: 01-system_settings.sql
|
|
descripcion: Configuración del sistema
|
|
tablas:
|
|
- system_settings
|
|
registros: 10-15
|
|
configuraciones:
|
|
- Límites de intentos
|
|
- Timeouts
|
|
- Notificaciones
|
|
dependencias: []
|
|
estado: activo
|
|
|
|
- nombre: 02-feature_flags.sql
|
|
descripcion: Feature flags del sistema
|
|
tablas:
|
|
- feature_flags
|
|
registros: 10-20
|
|
features:
|
|
- Gamificación
|
|
- Misiones
|
|
- Colaboración
|
|
dependencias: []
|
|
estado: activo
|
|
|
|
- nombre: 03-notification_settings_global.sql
|
|
descripcion: Configuración global de notificaciones
|
|
tablas:
|
|
- notification_settings_global
|
|
registros: 5-10
|
|
dependencias: []
|
|
estado: activo
|
|
|
|
- nombre: 04-rate_limits.sql
|
|
descripcion: Límites de tasa (rate limiting)
|
|
tablas:
|
|
- rate_limits
|
|
registros: 5-10
|
|
limites:
|
|
- API requests
|
|
- Intentos de login
|
|
- Submissions
|
|
dependencias: []
|
|
estado: activo
|
|
|
|
# =============================================================================
|
|
# DESARROLLO (DEV SEEDS)
|
|
# =============================================================================
|
|
desarrollo:
|
|
ubicacion: apps/database/seeds/dev/
|
|
total_archivos: 34
|
|
total_ejercicios: 24
|
|
completitud: 100%
|
|
alineacion_con_prod: 100%
|
|
nota: Seeds DEV alineados completamente con PROD tras migración Fase 1
|
|
|
|
diferencias_con_prod:
|
|
adicionales_dev:
|
|
- Más usuarios de testing
|
|
- Datos de auditoría de ejemplo
|
|
- Intentos de ejercicios de prueba
|
|
- Métricas de sistema de ejemplo
|
|
cobertura:
|
|
ejercicios_dev: 24
|
|
ejercicios_prod: 23
|
|
diferencia: +1 (ejercicio extra de testing en DEV)
|
|
|
|
schemas:
|
|
audit_logging:
|
|
archivos: 2
|
|
adicional_vs_prod:
|
|
- 01-audit-logs.sql (logs de ejemplo)
|
|
- 02-system-metrics.sql (métricas de prueba)
|
|
|
|
auth:
|
|
archivos: 2
|
|
adicional_vs_prod:
|
|
- 02-test-users.sql (usuarios adicionales de testing)
|
|
|
|
auth_management:
|
|
archivos: 7
|
|
adicional_vs_prod:
|
|
- 04-user_roles.sql
|
|
- 05-user_preferences.sql
|
|
- 06-auth_attempts.sql
|
|
- 07-security_events.sql
|
|
|
|
content_management:
|
|
archivos: 3
|
|
adicional_vs_prod:
|
|
- 02-media-files.sql
|
|
- 03-tags.sql
|
|
|
|
educational_content:
|
|
archivos: 7
|
|
nota: Idénticos a PROD (01-06) más rúbricas
|
|
seeds:
|
|
- 01-modules.sql
|
|
- 02-exercises-module1.sql
|
|
- 03-exercises-module2.sql
|
|
- 04-exercises-module3.sql
|
|
- 05-exercises-module4.sql
|
|
- 06-exercises-module5.sql (835 líneas, expandido Fase 1)
|
|
- 07-assessment-rubrics.sql
|
|
|
|
gamification_system:
|
|
archivos: 5
|
|
reducido_vs_prod: Menos seeds inicializados (solo estructura)
|
|
|
|
progress_tracking:
|
|
archivos: 2
|
|
adicional_vs_prod:
|
|
- 02-exercise-attempts.sql (intentos de ejemplo)
|
|
|
|
social_features:
|
|
archivos: 4
|
|
adicional_vs_prod:
|
|
- 04-teams.sql (equipos de ejemplo)
|
|
|
|
system_configuration:
|
|
archivos: 2
|
|
reducido_vs_prod: Configuración mínima de desarrollo
|
|
|
|
# =============================================================================
|
|
# ESTADÍSTICAS Y MÉTRICAS
|
|
# =============================================================================
|
|
metricas:
|
|
cobertura_ejercicios:
|
|
total_mecanicas_definidas: 27
|
|
mecanicas_con_seeds_prod: 23
|
|
porcentaje_cobertura: 85%
|
|
mecanicas_faltantes:
|
|
- Algunas mecánicas avanzadas aún sin seeds
|
|
|
|
modelo_datos:
|
|
estrategia: JSONB puro
|
|
ventajas:
|
|
- Flexibilidad para 27+ mecánicas
|
|
- Sin necesidad de JOINs complejos
|
|
- Fácil extensión
|
|
- Frontend consume directamente
|
|
- Backend mapea a entities
|
|
decisiones_arquitectonicas:
|
|
- Eliminación modelo dual (2025-11-11)
|
|
- Consolidación en JSONB
|
|
- Tablas legacy deprecated
|
|
|
|
calidad_seeds:
|
|
prod_completitud: 100%
|
|
prod_production_ready: true
|
|
dev_completitud: 100%
|
|
alineacion_dev_prod: 100%
|
|
estructura_jsonb_completa: true
|
|
validacion: pendiente (Fase 5)
|
|
|
|
mantenimiento:
|
|
ultima_migracion: '2025-11-11 (Fase 1)'
|
|
proxima_validacion: '2025-11-11 (Fase 5)'
|
|
esquema_versionado: true
|
|
deprecacion_controlada: true
|
|
|
|
# =============================================================================
|
|
# DEPENDENCIAS ENTRE SEEDS
|
|
# =============================================================================
|
|
grafo_dependencias:
|
|
orden_carga_produccion:
|
|
fase_1_sin_dependencias:
|
|
- system_configuration/*
|
|
- audit_logging/*
|
|
fase_2_auth:
|
|
- auth/01-demo-users.sql
|
|
- auth_management/01-tenants.sql
|
|
- auth_management/02-auth_providers.sql
|
|
fase_3_perfiles:
|
|
- auth_management/04-profiles-complete.sql
|
|
fase_4_contenido:
|
|
- educational_content/01-modules.sql
|
|
- educational_content/02-exercises-module1.sql
|
|
- educational_content/03-exercises-module2.sql
|
|
- educational_content/04-exercises-module3.sql
|
|
- educational_content/05-exercises-module4.sql
|
|
- educational_content/06-exercises-module5.sql
|
|
- educational_content/07-assessment-rubrics.sql
|
|
- educational_content/08-difficulty_criteria.sql
|
|
fase_5_gamificacion:
|
|
- gamification_system/01-achievement_categories.sql
|
|
- gamification_system/02-leaderboard_metadata.sql
|
|
- gamification_system/03-maya_ranks.sql
|
|
- gamification_system/04-achievements.sql
|
|
- gamification_system/05-user_stats.sql
|
|
- gamification_system/06-user_ranks.sql
|
|
- gamification_system/07-ml_coins_transactions.sql
|
|
- gamification_system/08-user_achievements.sql
|
|
- gamification_system/09-comodines_inventory.sql
|
|
fase_6_social:
|
|
- social_features/01-schools.sql
|
|
- social_features/02-classrooms.sql
|
|
- social_features/03-classroom-members.sql
|
|
fase_7_otros:
|
|
- content_management/01-default-templates.sql
|
|
- lti_integration/01-lti_consumers.sql
|
|
- progress_tracking/01-module_progress.sql
|
|
|
|
# =============================================================================
|
|
# CHANGELOG
|
|
# =============================================================================
|
|
changelog:
|
|
- fecha: '2025-12-15'
|
|
version: 3.0.0
|
|
fase: Simplificación Estructura - Solo Defaults
|
|
cambios:
|
|
- social_features/01-schools.sql vaciado (escuelas demo removidas)
|
|
- social_features/02-classrooms.sql simplificado (solo DEFAULT)
|
|
- social_features/03-classroom-members.sql simplificado (todos → DEFAULT)
|
|
- auth_management/08-assign-admin-schools.sql expandido (TODOS usuarios)
|
|
entidades_eliminadas:
|
|
- Escuela Primaria Marie Curie (CDMX)
|
|
- Instituto de Educación Integral (Guadalajara)
|
|
- 5 aulas demo (5to A, 5to B, 6to A, Pruebas, Parent Portal)
|
|
decision_arquitectonica: |
|
|
Solo entidades DEFAULT del sistema. El admin crea otras desde UI.
|
|
Trigger trg_assign_default_classroom asigna automáticamente.
|
|
impacto: |
|
|
- 1 escuela (SYSTEM-UNASSIGNED) en lugar de 3
|
|
- 1 classroom (DEFAULT) en lugar de 6
|
|
- Todos los usuarios con school_id garantizado
|
|
- Integridad referencial mejorada
|
|
correcciones_menores:
|
|
- enrollment_method cambiado de 'auto_assignment' a 'admin_add'
|
|
|
|
- fecha: '2025-11-21'
|
|
version: 2.1.0
|
|
fase: Alineación Módulo 3 con Doc v6.3
|
|
cambios:
|
|
- Tribunal de Opiniones (3.1) - PROD actualizado a formato statements
|
|
- Debate Digital (3.2) - Tema actualizado sobre fama de Marie Curie
|
|
- Matriz de Perspectivas (3.5) - Perspectivas 5-6 actualizadas (Marie y Pierre Curie)
|
|
impacto: Módulo 3 100% alineado con DocumentoDeDiseño_Mecanicas_GAMILIT_v6_1.md
|
|
referencia: DB-127
|
|
|
|
- fecha: '2025-11-11'
|
|
version: 2.0.0
|
|
fase: Fase 1 - Correcciones P0
|
|
cambios:
|
|
- Module 5 expandido (97 → 835 líneas, +861%)
|
|
- Migración completa seeds DEV → PROD (27 ejercicios)
|
|
- Eliminación modelo dual (JSONB puro)
|
|
- Creación 02-06-exercises-module[1-5].sql
|
|
- Deprecación 02/03-exercises-{demo,complete}.sql
|
|
- Deprecación 06-exercise-answers.sql
|
|
- Actualización create-database.sh
|
|
impacto: Seeds PROD 100% production-ready
|
|
|
|
- fecha: '2025-11-08'
|
|
version: 1.5.0
|
|
cambios:
|
|
- Corrección seeds 03-exercises-complete v3.0
|
|
- Corrección 06-exercise-answers v2.0
|
|
- Deprecación 04/05 (mechanics/options)
|
|
|
|
- fecha: '2025-11-07'
|
|
version: 1.0.0
|
|
cambios:
|
|
- Estructura inicial de seeds
|
|
- Seeds básicos de módulos
|
|
- Seeds iniciales de ejercicios
|