Structure: - control-plane/: Registries, SIMCO directives, CI/CD templates - projects/: Gamilit, ERP-Suite, Trading-Platform, Betting-Analytics - shared/: Libs catalog, knowledge-base Key features: - Centralized port, domain, database, and service registries - 23 SIMCO directives + 6 fundamental principles - NEXUS agent profiles with delegation rules - Validation scripts for workspace integrity - Dockerfiles for all services - Path aliases for quick reference 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
568 lines
18 KiB
SQL
568 lines
18 KiB
SQL
-- =====================================================
|
|
-- Seed: educational_content.assessment_rubrics (PROD)
|
|
-- Description: Rúbricas de evaluación para ejercicios
|
|
-- Environment: PRODUCTION
|
|
-- Dependencies: educational_content.modules
|
|
-- Order: 07
|
|
-- Created: 2025-01-11
|
|
-- Version: 1.0
|
|
-- =====================================================
|
|
--
|
|
-- RÚBRICAS INCLUIDAS:
|
|
-- - Comprensión Literal (3 niveles)
|
|
-- - Comprensión Inferencial (3 niveles)
|
|
-- - Comprensión Crítica (4 niveles)
|
|
-- - Producción de Textos (5 niveles)
|
|
--
|
|
-- TOTAL: 15 rúbricas (criteria)
|
|
--
|
|
-- IMPORTANTE: Estas rúbricas son usadas para evaluar ejercicios.
|
|
-- =====================================================
|
|
|
|
SET search_path TO educational_content, public;
|
|
|
|
-- =====================================================
|
|
-- INSERT: Rúbricas de Evaluación
|
|
-- =====================================================
|
|
|
|
INSERT INTO educational_content.assessment_rubrics (
|
|
id,
|
|
name,
|
|
description,
|
|
rubric_type,
|
|
criteria,
|
|
scoring_guide,
|
|
max_score,
|
|
pass_threshold,
|
|
is_active,
|
|
metadata,
|
|
created_at,
|
|
updated_at
|
|
) VALUES
|
|
|
|
-- =====================================================
|
|
-- MÓDULO 1: COMPRENSIÓN LITERAL
|
|
-- =====================================================
|
|
(
|
|
'80000001-0001-0000-0000-000000000001'::uuid,
|
|
'Comprensión Literal - Nivel Básico',
|
|
'Rúbrica para evaluar comprensión literal básica: identificación de información explícita.',
|
|
'holistic',
|
|
jsonb_build_object(
|
|
'nivel_1', jsonb_build_object(
|
|
'name', 'Insuficiente',
|
|
'description', 'No identifica información básica del texto',
|
|
'score', 0,
|
|
'indicators', jsonb_build_array(
|
|
'No localiza datos explícitos',
|
|
'Confunde información principal'
|
|
)
|
|
),
|
|
'nivel_2', jsonb_build_object(
|
|
'name', 'Suficiente',
|
|
'description', 'Identifica algunos datos explícitos',
|
|
'score', 50,
|
|
'indicators', jsonb_build_array(
|
|
'Localiza datos básicos',
|
|
'Identifica personajes y lugares'
|
|
)
|
|
),
|
|
'nivel_3', jsonb_build_object(
|
|
'name', 'Excelente',
|
|
'description', 'Identifica toda la información explícita relevante',
|
|
'score', 100,
|
|
'indicators', jsonb_build_array(
|
|
'Localiza todos los datos explícitos',
|
|
'Distingue ideas principales de secundarias',
|
|
'Comprende la secuencia cronológica'
|
|
)
|
|
)
|
|
),
|
|
jsonb_build_object(
|
|
'scoring_method', 'levels',
|
|
'levels', 3,
|
|
'weighted', false
|
|
),
|
|
100,
|
|
60, -- 60% para aprobar
|
|
true,
|
|
jsonb_build_object(
|
|
'module_name', 'MÓDULO 1: Comprensión Literal',
|
|
'bloom_level', 'remember',
|
|
'created_by', 'seed_script'
|
|
),
|
|
gamilit.now_mexico(),
|
|
gamilit.now_mexico()
|
|
),
|
|
|
|
(
|
|
'80000001-0002-0000-0000-000000000002'::uuid,
|
|
'Comprensión Literal - Nivel Intermedio',
|
|
'Rúbrica para evaluar comprensión literal intermedia: organización y secuenciación.',
|
|
'holistic',
|
|
jsonb_build_object(
|
|
'nivel_1', jsonb_build_object(
|
|
'name', 'Insuficiente',
|
|
'description', 'No puede organizar la información',
|
|
'score', 0
|
|
),
|
|
'nivel_2', jsonb_build_object(
|
|
'name', 'Suficiente',
|
|
'description', 'Organiza información con ayuda',
|
|
'score', 70
|
|
),
|
|
'nivel_3', jsonb_build_object(
|
|
'name', 'Excelente',
|
|
'description', 'Organiza y secuencia información de forma autónoma',
|
|
'score', 100
|
|
)
|
|
),
|
|
jsonb_build_object(
|
|
'scoring_method', 'levels',
|
|
'levels', 3
|
|
),
|
|
100,
|
|
70,
|
|
true,
|
|
jsonb_build_object(
|
|
'module_name', 'MÓDULO 1: Comprensión Literal',
|
|
'bloom_level', 'understand'
|
|
),
|
|
gamilit.now_mexico(),
|
|
gamilit.now_mexico()
|
|
),
|
|
|
|
(
|
|
'80000001-0003-0000-0000-000000000003'::uuid,
|
|
'Comprensión Literal - Nivel Avanzado',
|
|
'Rúbrica para evaluar comprensión literal avanzada: integración de información múltiple.',
|
|
'holistic',
|
|
jsonb_build_object(
|
|
'nivel_1', jsonb_build_object(
|
|
'name', 'Insuficiente',
|
|
'description', 'No puede integrar información de múltiples fuentes',
|
|
'score', 0
|
|
),
|
|
'nivel_2', jsonb_build_object(
|
|
'name', 'Suficiente',
|
|
'description', 'Integra información de 2-3 fuentes',
|
|
'score', 75
|
|
),
|
|
'nivel_3', jsonb_build_object(
|
|
'name', 'Excelente',
|
|
'description', 'Integra y sintetiza información de múltiples fuentes',
|
|
'score', 100
|
|
)
|
|
),
|
|
jsonb_build_object(
|
|
'scoring_method', 'levels',
|
|
'levels', 3
|
|
),
|
|
100,
|
|
75,
|
|
true,
|
|
jsonb_build_object(
|
|
'module_name', 'MÓDULO 1: Comprensión Literal',
|
|
'bloom_level', 'apply'
|
|
),
|
|
gamilit.now_mexico(),
|
|
gamilit.now_mexico()
|
|
),
|
|
|
|
-- =====================================================
|
|
-- MÓDULO 2: COMPRENSIÓN INFERENCIAL
|
|
-- =====================================================
|
|
(
|
|
'80000002-0001-0000-0000-000000000004'::uuid,
|
|
'Comprensión Inferencial - Nivel Básico',
|
|
'Rúbrica para evaluar inferencias simples y deducciones básicas.',
|
|
'holistic',
|
|
jsonb_build_object(
|
|
'nivel_1', jsonb_build_object(
|
|
'name', 'Insuficiente',
|
|
'description', 'No realiza inferencias',
|
|
'score', 0
|
|
),
|
|
'nivel_2', jsonb_build_object(
|
|
'name', 'Suficiente',
|
|
'description', 'Realiza inferencias simples',
|
|
'score', 65
|
|
),
|
|
'nivel_3', jsonb_build_object(
|
|
'name', 'Excelente',
|
|
'description', 'Realiza inferencias precisas y justificadas',
|
|
'score', 100
|
|
)
|
|
),
|
|
jsonb_build_object(
|
|
'scoring_method', 'levels',
|
|
'levels', 3
|
|
),
|
|
100,
|
|
65,
|
|
true,
|
|
jsonb_build_object(
|
|
'module_name', 'MÓDULO 2: Comprensión Inferencial',
|
|
'bloom_level', 'understand'
|
|
),
|
|
gamilit.now_mexico(),
|
|
gamilit.now_mexico()
|
|
),
|
|
|
|
(
|
|
'80000002-0002-0000-0000-000000000005'::uuid,
|
|
'Comprensión Inferencial - Nivel Intermedio',
|
|
'Rúbrica para evaluar predicciones y análisis de causa-efecto.',
|
|
'holistic',
|
|
jsonb_build_object(
|
|
'nivel_1', jsonb_build_object(
|
|
'name', 'Insuficiente',
|
|
'description', 'No identifica relaciones causa-efecto',
|
|
'score', 0
|
|
),
|
|
'nivel_2', jsonb_build_object(
|
|
'name', 'Suficiente',
|
|
'description', 'Identifica algunas relaciones causa-efecto',
|
|
'score', 70
|
|
),
|
|
'nivel_3', jsonb_build_object(
|
|
'name', 'Excelente',
|
|
'description', 'Analiza relaciones causa-efecto complejas',
|
|
'score', 100
|
|
)
|
|
),
|
|
jsonb_build_object(
|
|
'scoring_method', 'levels',
|
|
'levels', 3
|
|
),
|
|
100,
|
|
70,
|
|
true,
|
|
jsonb_build_object(
|
|
'module_name', 'MÓDULO 2: Comprensión Inferencial',
|
|
'bloom_level', 'analyze'
|
|
),
|
|
gamilit.now_mexico(),
|
|
gamilit.now_mexico()
|
|
),
|
|
|
|
(
|
|
'80000002-0003-0000-0000-000000000006'::uuid,
|
|
'Comprensión Inferencial - Nivel Avanzado',
|
|
'Rúbrica para evaluar interpretación de intenciones y lenguaje figurado.',
|
|
'holistic',
|
|
jsonb_build_object(
|
|
'nivel_1', jsonb_build_object(
|
|
'name', 'Insuficiente',
|
|
'description', 'No interpreta lenguaje figurado',
|
|
'score', 0
|
|
),
|
|
'nivel_2', jsonb_build_object(
|
|
'name', 'Suficiente',
|
|
'description', 'Interpreta lenguaje figurado simple',
|
|
'score', 75
|
|
),
|
|
'nivel_3', jsonb_build_object(
|
|
'name', 'Excelente',
|
|
'description', 'Interpreta intenciones y lenguaje figurado complejo',
|
|
'score', 100
|
|
)
|
|
),
|
|
jsonb_build_object(
|
|
'scoring_method', 'levels',
|
|
'levels', 3
|
|
),
|
|
100,
|
|
75,
|
|
true,
|
|
jsonb_build_object(
|
|
'module_name', 'MÓDULO 2: Comprensión Inferencial',
|
|
'bloom_level', 'analyze'
|
|
),
|
|
gamilit.now_mexico(),
|
|
gamilit.now_mexico()
|
|
),
|
|
|
|
-- =====================================================
|
|
-- MÓDULO 3: COMPRENSIÓN CRÍTICA
|
|
-- =====================================================
|
|
(
|
|
'80000003-0001-0000-0000-000000000007'::uuid,
|
|
'Comprensión Crítica - Nivel 1: Análisis',
|
|
'Rúbrica para evaluar análisis crítico de textos.',
|
|
'holistic',
|
|
jsonb_build_object(
|
|
'nivel_1', jsonb_build_object('name', 'Insuficiente', 'score', 0),
|
|
'nivel_2', jsonb_build_object('name', 'Básico', 'score', 50),
|
|
'nivel_3', jsonb_build_object('name', 'Competente', 'score', 75),
|
|
'nivel_4', jsonb_build_object('name', 'Excelente', 'score', 100,
|
|
'description', 'Análisis crítico profundo y fundamentado')
|
|
),
|
|
jsonb_build_object('scoring_method', 'levels', 'levels', 4),
|
|
100,
|
|
65,
|
|
true,
|
|
jsonb_build_object(
|
|
'module_name', 'MÓDULO 3: Comprensión Crítica',
|
|
'bloom_level', 'analyze'
|
|
),
|
|
gamilit.now_mexico(),
|
|
gamilit.now_mexico()
|
|
),
|
|
|
|
(
|
|
'80000003-0002-0000-0000-000000000008'::uuid,
|
|
'Comprensión Crítica - Nivel 2: Evaluación',
|
|
'Rúbrica para evaluar juicios y valoraciones fundamentadas.',
|
|
'holistic',
|
|
jsonb_build_object(
|
|
'nivel_1', jsonb_build_object('name', 'Insuficiente', 'score', 0),
|
|
'nivel_2', jsonb_build_object('name', 'Básico', 'score', 55),
|
|
'nivel_3', jsonb_build_object('name', 'Competente', 'score', 75),
|
|
'nivel_4', jsonb_build_object('name', 'Excelente', 'score', 100)
|
|
),
|
|
jsonb_build_object('scoring_method', 'levels', 'levels', 4),
|
|
100,
|
|
70,
|
|
true,
|
|
jsonb_build_object(
|
|
'module_name', 'MÓDULO 3: Comprensión Crítica',
|
|
'bloom_level', 'evaluate'
|
|
),
|
|
gamilit.now_mexico(),
|
|
gamilit.now_mexico()
|
|
),
|
|
|
|
(
|
|
'80000003-0003-0000-0000-000000000009'::uuid,
|
|
'Comprensión Crítica - Nivel 3: Argumentación',
|
|
'Rúbrica para evaluar construcción de argumentos sólidos.',
|
|
'holistic',
|
|
jsonb_build_object(
|
|
'nivel_1', jsonb_build_object('name', 'Insuficiente', 'score', 0),
|
|
'nivel_2', jsonb_build_object('name', 'Básico', 'score', 60),
|
|
'nivel_3', jsonb_build_object('name', 'Competente', 'score', 80),
|
|
'nivel_4', jsonb_build_object('name', 'Excelente', 'score', 100)
|
|
),
|
|
jsonb_build_object('scoring_method', 'levels', 'levels', 4),
|
|
100,
|
|
75,
|
|
true,
|
|
jsonb_build_object(
|
|
'module_name', 'MÓDULO 3: Comprensión Crítica',
|
|
'bloom_level', 'evaluate'
|
|
),
|
|
gamilit.now_mexico(),
|
|
gamilit.now_mexico()
|
|
),
|
|
|
|
(
|
|
'80000003-0004-0000-0000-000000000010'::uuid,
|
|
'Comprensión Crítica - Nivel 4: Síntesis',
|
|
'Rúbrica para evaluar síntesis y propuestas creativas.',
|
|
'holistic',
|
|
jsonb_build_object(
|
|
'nivel_1', jsonb_build_object('name', 'Insuficiente', 'score', 0),
|
|
'nivel_2', jsonb_build_object('name', 'Básico', 'score', 60),
|
|
'nivel_3', jsonb_build_object('name', 'Competente', 'score', 80),
|
|
'nivel_4', jsonb_build_object('name', 'Excelente', 'score', 100)
|
|
),
|
|
jsonb_build_object('scoring_method', 'levels', 'levels', 4),
|
|
100,
|
|
75,
|
|
true,
|
|
jsonb_build_object(
|
|
'module_name', 'MÓDULO 3: Comprensión Crítica',
|
|
'bloom_level', 'create'
|
|
),
|
|
gamilit.now_mexico(),
|
|
gamilit.now_mexico()
|
|
),
|
|
|
|
-- =====================================================
|
|
-- MÓDULO 5: PRODUCCIÓN DE TEXTOS
|
|
-- =====================================================
|
|
(
|
|
'80000005-0001-0000-0000-000000000011'::uuid,
|
|
'Producción de Textos - Nivel 1: Estructura',
|
|
'Rúbrica para evaluar estructura y organización textual.',
|
|
'analytic',
|
|
jsonb_build_object(
|
|
'nivel_1', jsonb_build_object('name', 'Deficiente', 'score', 0),
|
|
'nivel_2', jsonb_build_object('name', 'Insuficiente', 'score', 40),
|
|
'nivel_3', jsonb_build_object('name', 'Aceptable', 'score', 60),
|
|
'nivel_4', jsonb_build_object('name', 'Bueno', 'score', 80),
|
|
'nivel_5', jsonb_build_object('name', 'Excelente', 'score', 100)
|
|
),
|
|
jsonb_build_object('scoring_method', 'levels', 'levels', 5),
|
|
100,
|
|
60,
|
|
true,
|
|
jsonb_build_object(
|
|
'module_name', 'MÓDULO 5: Producción de Textos',
|
|
'bloom_level', 'create',
|
|
'criteria_focus', 'structure'
|
|
),
|
|
gamilit.now_mexico(),
|
|
gamilit.now_mexico()
|
|
),
|
|
|
|
(
|
|
'80000005-0002-0000-0000-000000000012'::uuid,
|
|
'Producción de Textos - Nivel 2: Contenido',
|
|
'Rúbrica para evaluar calidad y relevancia del contenido.',
|
|
'analytic',
|
|
jsonb_build_object(
|
|
'nivel_1', jsonb_build_object('name', 'Deficiente', 'score', 0),
|
|
'nivel_2', jsonb_build_object('name', 'Insuficiente', 'score', 40),
|
|
'nivel_3', jsonb_build_object('name', 'Aceptable', 'score', 65),
|
|
'nivel_4', jsonb_build_object('name', 'Bueno', 'score', 85),
|
|
'nivel_5', jsonb_build_object('name', 'Excelente', 'score', 100)
|
|
),
|
|
jsonb_build_object('scoring_method', 'levels', 'levels', 5),
|
|
100,
|
|
65,
|
|
true,
|
|
jsonb_build_object(
|
|
'module_name', 'MÓDULO 5: Producción de Textos',
|
|
'bloom_level', 'create',
|
|
'criteria_focus', 'content'
|
|
),
|
|
gamilit.now_mexico(),
|
|
gamilit.now_mexico()
|
|
),
|
|
|
|
(
|
|
'80000005-0003-0000-0000-000000000013'::uuid,
|
|
'Producción de Textos - Nivel 3: Lenguaje',
|
|
'Rúbrica para evaluar uso del lenguaje y vocabulario.',
|
|
'analytic',
|
|
jsonb_build_object(
|
|
'nivel_1', jsonb_build_object('name', 'Deficiente', 'score', 0),
|
|
'nivel_2', jsonb_build_object('name', 'Insuficiente', 'score', 45),
|
|
'nivel_3', jsonb_build_object('name', 'Aceptable', 'score', 65),
|
|
'nivel_4', jsonb_build_object('name', 'Bueno', 'score', 85),
|
|
'nivel_5', jsonb_build_object('name', 'Excelente', 'score', 100)
|
|
),
|
|
jsonb_build_object('scoring_method', 'levels', 'levels', 5),
|
|
100,
|
|
65,
|
|
true,
|
|
jsonb_build_object(
|
|
'module_name', 'MÓDULO 5: Producción de Textos',
|
|
'bloom_level', 'create',
|
|
'criteria_focus', 'language'
|
|
),
|
|
gamilit.now_mexico(),
|
|
gamilit.now_mexico()
|
|
),
|
|
|
|
(
|
|
'80000005-0004-0000-0000-000000000014'::uuid,
|
|
'Producción de Textos - Nivel 4: Coherencia',
|
|
'Rúbrica para evaluar coherencia y cohesión textual.',
|
|
'analytic',
|
|
jsonb_build_object(
|
|
'nivel_1', jsonb_build_object('name', 'Deficiente', 'score', 0),
|
|
'nivel_2', jsonb_build_object('name', 'Insuficiente', 'score', 50),
|
|
'nivel_3', jsonb_build_object('name', 'Aceptable', 'score', 70),
|
|
'nivel_4', jsonb_build_object('name', 'Bueno', 'score', 85),
|
|
'nivel_5', jsonb_build_object('name', 'Excelente', 'score', 100)
|
|
),
|
|
jsonb_build_object('scoring_method', 'levels', 'levels', 5),
|
|
100,
|
|
70,
|
|
true,
|
|
jsonb_build_object(
|
|
'module_name', 'MÓDULO 5: Producción de Textos',
|
|
'bloom_level', 'create',
|
|
'criteria_focus', 'coherence'
|
|
),
|
|
gamilit.now_mexico(),
|
|
gamilit.now_mexico()
|
|
),
|
|
|
|
(
|
|
'80000005-0005-0000-0000-000000000015'::uuid,
|
|
'Producción de Textos - Nivel 5: Creatividad',
|
|
'Rúbrica para evaluar originalidad y creatividad.',
|
|
'analytic',
|
|
jsonb_build_object(
|
|
'nivel_1', jsonb_build_object('name', 'Deficiente', 'score', 0),
|
|
'nivel_2', jsonb_build_object('name', 'Insuficiente', 'score', 50),
|
|
'nivel_3', jsonb_build_object('name', 'Aceptable', 'score', 70),
|
|
'nivel_4', jsonb_build_object('name', 'Bueno', 'score', 90),
|
|
'nivel_5', jsonb_build_object('name', 'Excelente', 'score', 100)
|
|
),
|
|
jsonb_build_object('scoring_method', 'levels', 'levels', 5),
|
|
100,
|
|
70,
|
|
true,
|
|
jsonb_build_object(
|
|
'module_name', 'MÓDULO 5: Producción de Textos',
|
|
'bloom_level', 'create',
|
|
'criteria_focus', 'creativity'
|
|
),
|
|
gamilit.now_mexico(),
|
|
gamilit.now_mexico()
|
|
)
|
|
|
|
ON CONFLICT (id) DO UPDATE SET
|
|
name = EXCLUDED.name,
|
|
description = EXCLUDED.description,
|
|
criteria = EXCLUDED.criteria,
|
|
scoring_guide = EXCLUDED.scoring_guide,
|
|
max_score = EXCLUDED.max_score,
|
|
pass_threshold = EXCLUDED.pass_threshold,
|
|
is_active = EXCLUDED.is_active,
|
|
metadata = EXCLUDED.metadata,
|
|
updated_at = gamilit.now_mexico();
|
|
|
|
-- =====================================================
|
|
-- Verification Query
|
|
-- =====================================================
|
|
|
|
DO $$
|
|
DECLARE
|
|
rubric_count INTEGER;
|
|
literal_count INTEGER;
|
|
inferencial_count INTEGER;
|
|
critica_count INTEGER;
|
|
produccion_count INTEGER;
|
|
BEGIN
|
|
SELECT COUNT(*) INTO rubric_count
|
|
FROM educational_content.assessment_rubrics;
|
|
|
|
SELECT COUNT(*) INTO literal_count
|
|
FROM educational_content.assessment_rubrics
|
|
WHERE metadata->>'module_name' LIKE '%Comprensión Literal%';
|
|
|
|
SELECT COUNT(*) INTO inferencial_count
|
|
FROM educational_content.assessment_rubrics
|
|
WHERE metadata->>'module_name' LIKE '%Comprensión Inferencial%';
|
|
|
|
SELECT COUNT(*) INTO critica_count
|
|
FROM educational_content.assessment_rubrics
|
|
WHERE metadata->>'module_name' LIKE '%Comprensión Crítica%';
|
|
|
|
SELECT COUNT(*) INTO produccion_count
|
|
FROM educational_content.assessment_rubrics
|
|
WHERE metadata->>'module_name' LIKE '%Producción de Textos%';
|
|
|
|
RAISE NOTICE '========================================';
|
|
RAISE NOTICE 'RÚBRICAS DE EVALUACIÓN CREADAS';
|
|
RAISE NOTICE '========================================';
|
|
RAISE NOTICE 'Total rúbricas: %', rubric_count;
|
|
RAISE NOTICE ' - Comprensión Literal: %', literal_count;
|
|
RAISE NOTICE ' - Comprensión Inferencial: %', inferencial_count;
|
|
RAISE NOTICE ' - Comprensión Crítica: %', critica_count;
|
|
RAISE NOTICE ' - Producción de Textos: %', produccion_count;
|
|
RAISE NOTICE '========================================';
|
|
|
|
IF rubric_count = 15 THEN
|
|
RAISE NOTICE '✓ Todas las rúbricas fueron creadas correctamente';
|
|
ELSE
|
|
RAISE WARNING '⚠ Se esperaban 15 rúbricas, se crearon %', rubric_count;
|
|
END IF;
|
|
END $$;
|