Fase 2 (expansion): - Francesca: +6 etapas matematicas (5-10), +7 etapas lectura (3-9), +2 ortografia - Sebastian: +8 etapas matematicas (4-11), +6 lectura, +3 historia, +3 geografia, +1 banderas - Nuevas paginas: ortografia, lectura, geografia, matematicas - ~900 ejercicios nuevos, paridad ~500 por perfil Fase 3 (bug fixes + hardening): - Fix: SessionLog auto-create en grade route - Fix: engine cache (no borrar antes de revisar) - Fix: FSRS cards actualizadas en flujo curriculum - Fix: responseMs real (no hardcodeado 3000) - Fix: options dentro de content en sebastian etapa-1 - Fix: trazo-letra consonantes crash - Security: execFileSync anti-command-injection en TTS - DB: 18 cascade deletes + indices + unique constraints - APIs debug: reset, state, seed - Docker: espeak-ng + prisma + user/group - E2E: 23 tests nuevos (curriculum-flow.spec.ts) - Code review: tailwind colors, middleware dev mode, eslint config Verificado: tsc exit 0, build exit 0, 61 E2E tests pass
621 lines
23 KiB
Markdown
621 lines
23 KiB
Markdown
# FASE 2 — Plan Maestro: Sistema Multi-Perfil Escalonado
|
||
|
||
> **Objetivo**: Sistema de aprendizaje con 3 perfiles de dificultad escalada (Isabella 4a, Francesca 6a, Sebastián 8a) basado en métodos europeos (Montessori, Borel-Maisonny, Decroly, Freinet). Meta: **paridad de volumen** (~500+ ejercicios por perfil).
|
||
|
||
---
|
||
|
||
## 0. Resumen Ejecutivo
|
||
|
||
| Métrica | Actual | Meta Fase 2 | Delta |
|
||
|---|---|---|---|
|
||
| Ejercicios Isabella | 595 | 595 (sin cambios) | 0 |
|
||
| Ejercicios Francesca | 58 | ~520 | **+462** |
|
||
| Ejercicios Sebastián | 35 | ~510 | **+475** |
|
||
| **Total nuevos** | — | — | **~937 ejercicios** |
|
||
| Etapas nuevas | 0 | ~40 | +40 |
|
||
| Carpetas curriculum nuevas | 0 | ~8 | +8 |
|
||
|
||
**Filosofía pedagógica**: progresión Montessori (concreto → abstracto) para matemática, Borel-Maisonny (gesto-fonema) para lectura inicial, Decroly (centros de interés) para comprensión, Freinet (expresión libre) para producción escrita en nivel avanzado.
|
||
|
||
---
|
||
|
||
## 1. Perfiles y Niveles
|
||
|
||
### 1.1 Isabella (4 años) — NIVEL FUNDACIONAL [SIN CAMBIOS]
|
||
|
||
Mantiene los ~595 ejercicios existentes. Sirve como **base de referencia** para Francesca y Sebastián.
|
||
|
||
| Materia | Método | Etapas | Ejercicios |
|
||
|---|---|---|---|
|
||
| lectura | Borel-Maisonny | 9 | 405 |
|
||
| numeros | Montessori sensorial | 8 | 190 |
|
||
|
||
**Habilidades terminales**: lee sílabas y palabras de 2-3 sílabas, cuenta 1-20, suma/resta dentro de 10.
|
||
|
||
---
|
||
|
||
### 1.2 Francesca (6 años) — NIVEL INTERMEDIO [EXPANSIÓN MASIVA]
|
||
|
||
Pasa de 58 → ~520 ejercicios. Asume lectura inicial consolidada; se enfoca en **operaciones multidígito**, **comprensión lectora** y **ortografía inicial**.
|
||
|
||
| Materia | Método europeo | Etapas | Ejercicios | Carpetas |
|
||
|---|---|---|---|---|
|
||
| matematicas | Montessori operacional | 9 | ~260 | `curriculum/francesca/` |
|
||
| lecturas | Decroly (centros de interés) | 7 | ~200 | `curriculum/francesca-lectura/` |
|
||
| ortografia | Decroly + reglas | 2 | ~60 | `curriculum/francesca-ortografia/` (NUEVA) |
|
||
|
||
**Habilidades terminales**: multiplica y divide números de 1-2 dígitos, comprende textos narrativos de 4-6 oraciones, aplica reglas ortográficas básicas (m-antes-de-p/b, mayúsculas).
|
||
|
||
---
|
||
|
||
### 1.3 Sebastián (8 años) — NIVEL AVANZADO [EXPANSIÓN MASIVA]
|
||
|
||
Pasa de 35 → ~510 ejercicios. Es el **más avanzado**: fracciones, decimales, comprensión profunda, expresión escrita, cultura general expandida.
|
||
|
||
| Materia | Método europeo | Etapas | Ejercicios | Carpetas |
|
||
|---|---|---|---|---|
|
||
| matematicas | Montessori + abstracto | 10 | ~220 | `curriculum/sebastian/` |
|
||
| lectura | Decroly + Freinet | 6 | ~160 | `curriculum/sebastian-lectura/` (NUEVA) |
|
||
| historia | Decroly (centros de interés) | 5 | ~70 | `curriculum/sebastian-historia/` |
|
||
| geografia | Decroly | 3 | ~40 | `curriculum/sebastian-geografia/` (NUEVA) |
|
||
| banderas | Memorización visual | 2 | ~20 | `curriculum/sebastian-banderas/` |
|
||
|
||
**Habilidades terminales**: opera con fracciones y decimales, resuelve problemas de varios pasos, redacta textos cortos, comprende textos narrativos complejos, conoce historia y geografía argentina.
|
||
|
||
---
|
||
|
||
## 2. Plan Detallado — FRANCESCA (6 años)
|
||
|
||
### 2.1 Matemáticas Montessori (`curriculum/francesca/`)
|
||
|
||
#### Etapas existentes (conservar, verificar prereqs)
|
||
- **Etapa 1** — Sumas 1 dígito (15 ej) ✓ existe
|
||
- **Etapa 2** — Sumas 2-3 dígitos (14 ej) ✓ existe
|
||
- **Etapa 3** — Restas 2-3 dígitos (14 ej) ✓ existe
|
||
- **Etapa 4** — Multiplicaciones + lecturas (17 ej) ✓ existe
|
||
|
||
#### Etapas NUEVAS
|
||
|
||
**Etapa 5 — Tablas de multiplicar (2, 5, 10)** — 30 ejercicios
|
||
- Método: Montessori (tablas de Pythagore, cuentas doradas)
|
||
- Habilidad: memorizar tablas del 2, 5, 10
|
||
- Tipos: `eleccion`, `conciencia`
|
||
- Contenido: `fra5-tabla2-*`, `fra5-tabla5-*`, `fra5-tabla10-*`
|
||
- Prereq: `fra4-mult-1-2`
|
||
|
||
**Etapa 6 — Tablas de multiplicar (3, 4, 6, 7, 8, 9)** — 45 ejercicios
|
||
- Método: Montessori (tabla perforada, material de cuentas)
|
||
- Habilidad: completar todas las tablas
|
||
- Tipos: `eleccion`, `secuencia`
|
||
- Contenido: `fra6-tabla3-*` ... `fra6-tabla9-*`
|
||
|
||
**Etapa 7 — Multiplicación de 2 dígitos × 1 dígito** — 24 ejercicios
|
||
- Método: Montessori (juego de sellos, descomposición decena-unidad)
|
||
- Habilidad: `23 × 4`, `56 × 7`
|
||
- Tipos: `eleccion`, `problema`
|
||
- Contenido: `fra7-mult-{a}-{b}` con `a` ∈ [12,99], `b` ∈ [2,9]
|
||
|
||
**Etapa 8 — Divisiones exactas (1 dígito)** — 24 ejercicios
|
||
- Método: Montessori (cuentas doradas, reparto equitativo)
|
||
- Habilidad: `12 ÷ 3`, `24 ÷ 6`, `45 ÷ 5`
|
||
- Tipos: `eleccion`, `problema`
|
||
- Contenido: `fra8-div-{a}-{b}`
|
||
|
||
**Etapa 9 — Fracciones simples (1/2, 1/3, 1/4)** — 25 ejercicios
|
||
- Método: Montessori (círculos de fracciones rojos)
|
||
- Habilidad: reconocer y comparar fracciones básicas
|
||
- Tipos: `conciencia`, `eleccion`
|
||
- Contenido: `fra9-frac-{tipo}-{n}`
|
||
|
||
**Etapa 10 — Problemas con dinero y medidas** — 30 ejercicios
|
||
- Método: vida práctica Montessori
|
||
- Habilidad: aplicar operaciones en contexto ($, cm, kg, L)
|
||
- Tipos: `problema`, `conciencia`
|
||
- Contenido: `fra10-prob-{tipo}-{n}`
|
||
|
||
**Subtotal Francesca matemáticas: 238 ejercicios nuevos (9 etapas, ~260 total con existentes)**
|
||
|
||
---
|
||
|
||
### 2.2 Lectura Decroly (`curriculum/francesca-lectura/`)
|
||
|
||
#### Etapas existentes (conservar)
|
||
- **Etapa 1** — Lecturas nivel 1 (8 ej) ✓ existe
|
||
- **Etapa 2** — Lecturas nivel 2 (5 ej) ✓ existe
|
||
|
||
#### Etapas NUEVAS (centros de interés Decroly)
|
||
|
||
**Etapa 3 — Centro de interés: "La familia"** — 30 ejercicios
|
||
- Método: Decroly (centro de interés global)
|
||
- Habilidad: comprensión lectora sobre tema familiar
|
||
- Contenido: 10 textos cortos (3-4 oraciones) × 3 preguntas cada uno
|
||
- Tipos: `lectura`
|
||
- Ej: "La familia de Ana tiene 4 personas...", "El abuelo vive en..."
|
||
|
||
**Etapa 4 — Centro de interés: "Los animales"** — 30 ejercicios
|
||
- 10 textos sobre animales (mamíferos, aves, peces, insectos)
|
||
- 3 preguntas por texto (hecho, inferencia, vocabulario)
|
||
|
||
**Etapa 5 — Centro de interés: "Las estaciones"** — 30 ejercicios
|
||
- 10 textos sobre primavera, verano, otoño, invierno
|
||
- Vocabulario temporal, causa-efecto
|
||
|
||
**Etapa 6 — Centro de interés: "La escuela y los amigos"** — 30 ejercicios
|
||
- 10 textos sobre rutina escolar, convivencia, reglas
|
||
|
||
**Etapa 7 — Comprensión inferencial** — 30 ejercicios
|
||
- Método: Decroly (asociación global)
|
||
- Habilidad: deducir información NO explícita
|
||
- Contenido: 10 textos × 3 preguntas "¿Por qué...?", "¿Qué pasó antes...?"
|
||
|
||
**Etapa 8 — Vocabulario y sinónimos** — 25 ejercicios
|
||
- Habilidad: enriquecer léxico, identificar sinónimos
|
||
- Tipos: `eleccion`, `emparejar`
|
||
|
||
**Etapa 9 — Secuencia narrativa** — 20 ejercicios
|
||
- Habilidad: ordenar eventos de un cuento
|
||
- Tipos: `secuencia`, `lectura`
|
||
|
||
**Subtotal Francesca lectura: 195 ejercicios nuevos (7 etapas, ~208 total con existentes)**
|
||
|
||
---
|
||
|
||
### 2.3 Ortografía inicial (`curriculum/francesca-ortografia/`) — NUEVA
|
||
|
||
**Etapa 1 — Mayúsculas y nombres propios** — 30 ejercicios
|
||
- Regla: mayúscula inicial de oración, nombres de personas/lugares
|
||
- Tipos: `eleccion`, `palabra`
|
||
|
||
**Etapa 2 — Regla "m antes de p y b"** — 30 ejercicios
|
||
- Regla: siempre "m" antes de p/b (campo, cambio, sombra)
|
||
- Tipos: `eleccion`, `palabra`, `emparejar`
|
||
|
||
**Subtotal Francesca ortografía: 60 ejercicios (2 etapas)**
|
||
|
||
---
|
||
|
||
### TOTAL FRANCESCA FASE 2: **~493 ejercicios nuevos + 58 existentes = 551 ejercicios**
|
||
|
||
---
|
||
|
||
## 3. Plan Detallado — SEBASTIÁN (8 años)
|
||
|
||
### 3.1 Matemáticas Avanzadas (`curriculum/sebastian/`)
|
||
|
||
#### Etapas existentes (conservar)
|
||
- **Etapa 1** — Sumas 2-3 dígitos (5 ej) ✓ existe
|
||
- **Etapa 2** — Sumas interactivas (5 ej) ✓ existe
|
||
- **Etapa 3** — Desafíos de sumas (6 ej) ✓ existe
|
||
|
||
#### Etapas NUEVAS
|
||
|
||
**Etapa 4 — Restas con préstamo (3 dígitos)** — 25 ejercicios
|
||
- Habilidad: restas con llevadas (300-147, 502-268)
|
||
- Método: Montessori (juego de sellos con intercambio)
|
||
- Tipos: `eleccion`, `problema`
|
||
|
||
**Etapa 5 — Multiplicación de 2 dígitos × 2 dígitos** — 25 ejercicios
|
||
- Habilidad: `23 × 45`, `67 × 12`
|
||
- Método: Montessori (cuadrícula, geometría)
|
||
- Tipos: `eleccion`, `problema`
|
||
|
||
**Etapa 6 — División larga (1 divisor)** — 25 ejercicios
|
||
- Habilidad: `144 ÷ 6`, `256 ÷ 8`, con resto
|
||
- Método: Montessori (tubos de ensayo, divisiones)
|
||
- Tipos: `eleccion`, `problema`
|
||
|
||
**Etapa 7 — Fracciones: equivalencias y operaciones** — 30 ejercicios
|
||
- Habilidad: `1/2 = 2/4`, sumar/restar fracciones mismo denominador
|
||
- Método: Montessori (círculos rojos, equivalencias)
|
||
- Tipos: `conciencia`, `eleccion`
|
||
|
||
**Etapa 8 — Decimales** — 25 ejercicios
|
||
- Habilidad: leer, comparar, sumar decimales (0.5, 1.25, 2.7)
|
||
- Método: material concreto (bloques base-10)
|
||
- Tipos: `conciencia`, `eleccion`
|
||
|
||
**Etapa 9 — Porcentajes** — 20 ejercicios
|
||
- Habilidad: 50%, 25%, 10% de una cantidad
|
||
- Aplicación: descuentos, propinas
|
||
- Tipos: `eleccion`, `problema`
|
||
|
||
**Etapa 10 — Problemas de varios pasos** — 30 ejercicios
|
||
- Habilidad: problemas que requieren 2-3 operaciones
|
||
- Ej: "Compré 3 lápices a $15 cada uno y pagué con $100. ¿Cuánto vuelto?"
|
||
- Tipos: `problema`
|
||
|
||
**Etapa 11 — Geometría básica** — 20 ejercicios
|
||
- Habilidad: perímetro de cuadrado/rectángulo, área básica
|
||
- Tipos: `conciencia`, `eleccion`
|
||
|
||
**Subtotal Sebastián matemáticas: 200 ejercicios nuevos (8 etapas, ~236 total con existentes)**
|
||
|
||
---
|
||
|
||
### 3.2 Lectura y Expresión Freinet (`curriculum/sebastian-lectura/`) — NUEVA
|
||
|
||
**Etapa 1 — Comprensión profunda de textos** — 30 ejercicios
|
||
- Habilidad: extraer idea principal, detalles, secuencia
|
||
- 10 textos de 5-8 oraciones × 3 preguntas
|
||
- Tipos: `lectura`
|
||
|
||
**Etapa 2 — Inferencias y conclusiones** — 30 ejercicios
|
||
- Habilidad: deducir moralejas, motivaciones, causas
|
||
- Tipos: `lectura`, `eleccion`
|
||
|
||
**Etapa 3 — Textos informativos (Decroly)** — 25 ejercicios
|
||
- Habilidad: comprender textos expositivos
|
||
- Temas: ciencia, historia, naturaleza
|
||
- Tipos: `lectura`
|
||
|
||
**Etapa 4 — Idea principal vs detalles** — 25 ejercicios
|
||
- Habilidad: distinguir idea central de soporte
|
||
- Tipos: `eleccion`, `lectura`
|
||
|
||
**Etapa 5 — Redacción guiada (Freinet)** — 25 ejercicios
|
||
- Habilidad: completar y ordenar párrafos (texto libre)
|
||
- Tipos: `secuencia`, `palabra`
|
||
|
||
**Etapa 6 — Correspondencia interescolar (Freinet)** — 25 ejercicios
|
||
- Habilidad: estructura de carta, saludos, despedidas
|
||
- Tipos: `eleccion`, `secuencia`
|
||
|
||
**Subtotal Sebastián lectura: 160 ejercicios nuevos (6 etapas)**
|
||
|
||
---
|
||
|
||
### 3.3 Historia Argentina (`curriculum/sebastian-historia/`)
|
||
|
||
#### Etapas existentes (conservar)
|
||
- **Etapa 1** — Nivel 1 (6 ej) ✓ existe
|
||
- **Etapa 2** — Nivel 2 (4 ej) ✓ existe
|
||
|
||
#### Etapas NUEVAS
|
||
|
||
**Etapa 3 — Independencia y primeras décadas** — 15 ejercicios
|
||
- Período: 1816-1853, Congreso de Tucumán, Constitución
|
||
- Tipos: `eleccion`, `secuencia`
|
||
|
||
**Etapa 4 — Inmigración y crecimiento (1853-1930)** — 15 ejercicios
|
||
- Período: Alberdi, Sarmiento, ferrocarril, inmigración europea
|
||
- Tipos: `eleccion`
|
||
|
||
**Etapa 5 — Símbolos patrios y fechas** — 15 ejercicios
|
||
- Habilidad: fechas patrias, símbolos (himno, escudo, escarapela)
|
||
- Tipos: `eleccion`, `emparejar`
|
||
|
||
**Subtotal Sebastián historia: 45 ejercicios nuevos (3 etapas, ~55 total con existentes)**
|
||
|
||
---
|
||
|
||
### 3.4 Geografía Argentina (`curriculum/sebastian-geografia/`) — NUEVA
|
||
|
||
**Etapa 1 — Regiones de Argentina** — 15 ejercicios
|
||
- Habilidad: identificar regiones (Pampa, Patagonia, Cuyo, NOA, NEA, Centro)
|
||
- Tipos: `eleccion`, `conciencia`
|
||
|
||
**Etapa 2 — Ríos, montañas y climas** — 15 ejercicios
|
||
- Habilidad: Cordillera de los Andes, Río de la Plata, Paraná
|
||
- Tipos: `eleccion`
|
||
|
||
**Etapa 3 — Capitales y provincias** — 10 ejercicios
|
||
- Habilidad: emparejar provincia con capital
|
||
- Tipos: `emparejar`, `eleccion`
|
||
|
||
**Subtotal Sebastián geografía: 40 ejercicios (3 etapas)**
|
||
|
||
---
|
||
|
||
### 3.5 Banderas (`curriculum/sebastian-banderas/`)
|
||
|
||
#### Etapas existentes (conservar)
|
||
- **Etapa 1** — 8 provincias + escudo (9 ej) ✓ existe
|
||
|
||
#### Etapas NUEVAS
|
||
|
||
**Etapa 2 — Provincias restantes** — 15 ejercicios
|
||
- Habilidad: las 16 provincias faltantes + CABA
|
||
- Tipos: `eleccion`
|
||
|
||
**Subtotal Sebastián banderas: 15 ejercicios nuevos (1 etapa, ~24 total con existentes)**
|
||
|
||
---
|
||
|
||
### TOTAL SEBASTIÁN FASE 2: **~460 ejercicios nuevos + 35 existentes = 495 ejercicios**
|
||
|
||
---
|
||
|
||
## 4. Arquitectura Técnica
|
||
|
||
### 4.1 Estructura de carpetas (nuevas marcadas con ⭐)
|
||
|
||
```
|
||
curriculum/
|
||
├── lectura/ # ISABELLA (existe)
|
||
├── numeros/ # ISABELLA (existe)
|
||
├── francesca/ # FRANCESCA matemáticas (etapa 1-4 existen, 5-10 ⭐)
|
||
├── francesca-lectura/ # FRANCESCA lectura (etapa 1-2 existen, 3-9 ⭐)
|
||
├── francesca-ortografia/ # ⭐ FRANCESCA ortografía (NUEVO)
|
||
├── sebastian/ # SEBASTIAN matemáticas (etapa 1-3 existen, 4-11 ⭐)
|
||
├── sebastian-lectura/ # ⭐ SEBASTIAN lectura (NUEVO)
|
||
├── sebastian-historia/ # SEBASTIAN historia (etapa 1-2 existen, 3-5 ⭐)
|
||
├── sebastian-geografia/ # ⭐ SEBASTIAN geografía (NUEVO)
|
||
└── sebastian-banderas/ # SEBASTIAN banderas (etapa 1 existe, 2 ⭐)
|
||
```
|
||
|
||
### 4.2 Actualización del Engine (`lib/curriculum/engine.ts`)
|
||
|
||
```typescript
|
||
const PROFILE_CURRICULA = {
|
||
ISABELLA: {
|
||
lectura: { folder: "lectura", stages: [1,2,3,4,5,6,7,8,9] },
|
||
numeros: { folder: "numeros", stages: [1,2,3,4,5,6,7,8] },
|
||
},
|
||
FRANCESCA: {
|
||
matematicas: { folder: "francesca", stages: [1,2,3,4,5,6,7,8,9,10] }, // +6 etapas
|
||
lecturas: { folder: "francesca-lectura", stages: [1,2,3,4,5,6,7,8,9] }, // +7 etapas
|
||
ortografia: { folder: "francesca-ortografia", stages: [1,2] }, // ⭐ NUEVO
|
||
},
|
||
SEBASTIAN: {
|
||
matematicas: { folder: "sebastian", stages: [1,2,3,4,5,6,7,8,9,10,11] }, // +8 etapas
|
||
lectura: { folder: "sebastian-lectura", stages: [1,2,3,4,5,6] }, // ⭐ NUEVO
|
||
historia: { folder: "sebastian-historia", stages: [1,2,3,4,5] }, // +3 etapas
|
||
geografia: { folder: "sebastian-geografia", stages: [1,2,3] }, // ⭐ NUEVO
|
||
banderas: { folder: "sebastian-banderas", stages: [1,2] }, // +1 etapa
|
||
},
|
||
}
|
||
```
|
||
|
||
### 4.3 Páginas y rutas nuevas
|
||
|
||
```
|
||
app/
|
||
├── francesca/
|
||
│ ├── page.tsx # existe
|
||
│ ├── matematicas/page.tsx # existe
|
||
│ ├── lecturas/page.tsx # existe
|
||
│ └── ortografia/page.tsx # ⭐ NUEVO
|
||
├── sebastian/
|
||
│ ├── page.tsx # existe (actualizar actividades)
|
||
│ ├── sumas/page.tsx # existe → renombrar a matematicas ⭐
|
||
│ ├── historia/page.tsx # existe
|
||
│ ├── banderas/page.tsx # existe
|
||
│ ├── lectura/page.tsx # ⭐ NUEVO
|
||
│ └── geografia/page.tsx # ⭐ NUEVO
|
||
```
|
||
|
||
### 4.4 Componentes a crear
|
||
|
||
- `app/francesca/ortografia/page.tsx` — wrapper de ExerciseSession con `topic="ortografia" profile="FRANCESCA"`
|
||
- `app/sebastian/lectura/page.tsx` — wrapper de ExerciseSession con `topic="lectura" profile="SEBASTIAN"`
|
||
- `app/sebastian/geografia/page.tsx` — wrapper de ExerciseSession con `topic="geografia" profile="SEBASTIAN"`
|
||
|
||
**No se requieren nuevos componentes de ejercicio** — todos los tipos existentes (`eleccion`, `lectura`, `problema`, `secuencia`, `conciencia`, `palabra`, `emparejar`) cubren las necesidades.
|
||
|
||
---
|
||
|
||
## 5. Metodología por Etapa (mapeo métodos europeos)
|
||
|
||
### 5.1 Montessori (matemática)
|
||
|
||
| Etapa | Material Montessori | Tipo de ejercicio |
|
||
|---|---|---|
|
||
| Conteo | Cilindos rojos, torres rosa | `sensibilizacion` |
|
||
| Suma/Resta | Cuentas doradas, banco | `conciencia`, `problema` |
|
||
| Multiplicación | Tabla de Pythagore, sellos | `eleccion` |
|
||
| División | Tubos de ensayo, sellos | `eleccion`, `problema` |
|
||
| Fracciones | Círculos rojos metálicos | `conciencia` |
|
||
| Decimales | Bloques base-10 | `conciencia` |
|
||
|
||
**Patrón**: cada ejercicio incluye `functionalContext` con referencia al material concreto.
|
||
|
||
### 5.2 Borel-Maisonny (lectura inicial - solo Isabella)
|
||
|
||
| Etapa | Gesto | Fonema |
|
||
|---|---|---|
|
||
| Vocales | Mano abierta / cerrada | a, e, i, o, u |
|
||
| Consonantes | Mano en boca, pecho | m, p, l, s, t, n, d, r |
|
||
|
||
**Patrón**: `audioText` describe el gesto + sonido.
|
||
|
||
### 5.3 Decroly (comprensión - Francesca y Sebastián)
|
||
|
||
| Centro de interés | Etapa | Contenido |
|
||
|---|---|---|
|
||
| La familia | Francesca 3 | Relaciones, roles |
|
||
| Los animales | Francesca 4 | Clasificación, hábitat |
|
||
| Las estaciones | Francesca 5 | Tiempo, clima |
|
||
| La escuela | Francesca 6 | Rutina, normas |
|
||
| Ciencia/Historia | Sebastián 3 | Textos expositivos |
|
||
|
||
**Patrón**: textos cortos (3-8 oraciones) + preguntas de hecho/inferencia/vocabulario.
|
||
|
||
### 5.4 Freinet (expresión - Sebastián)
|
||
|
||
| Habilidad | Etapa | Tipo |
|
||
|---|---|---|
|
||
| Texto libre | Sebastián 5 | Completar párrafos |
|
||
| Correspondencia | Sebastián 6 | Estructura de carta |
|
||
|
||
**Patrón**: `secuencia` para ordenar ideas, `palabra` para completar.
|
||
|
||
---
|
||
|
||
## 6. Prerequisitos y Cadenas de Aprendizaje
|
||
|
||
### 6.1 Regla general
|
||
|
||
Cada etapa nueva sigue el patrón de cadena lineal ya establecido:
|
||
- `etapa-N[0]` depende de `etapa-(N-1)[last]` (encadena con etapa anterior)
|
||
- `etapa-N[i>0]` depende de `etapa-N[i-1]` (encadena dentro de la etapa)
|
||
- Primer ejercicio de la materia: sin prerequisitos
|
||
|
||
### 6.2 Verificación crítica
|
||
|
||
**PROHIBIDO**: prerequisitos auto-referenciales (`ex.id === ex.prerequisites[0]`). Este fue un bug crítico detectado en Fase 1 que bloquea TODOS los ejercicios de una etapa.
|
||
|
||
**Validación automática**: crear test E2E que recorra cada etapa y verifique que ningún ejercicio tenga prerequisito a sí mismo o a IDs inexistentes.
|
||
|
||
---
|
||
|
||
## 7. Plan de Implementación por Fases
|
||
|
||
### FASE 2.1 — Francesca Matemáticas (Prioridad: ALTA)
|
||
- **Archivos**: `curriculum/francesca/etapa-5.ts` ... `etapa-10.ts` (6 archivos nuevos)
|
||
- **Ejercicios**: ~178 nuevos
|
||
- **Carpeta engine**: añadir etapas 5-10 a FRANCESCA.matematicas
|
||
- **Verificación**: API devuelve ejercicios para cada etapa nueva
|
||
|
||
### FASE 2.2 — Francesca Lectura (Prioridad: ALTA)
|
||
- **Archivos**: `curriculum/francesca-lectura/etapa-3.ts` ... `etapa-9.ts` (7 archivos nuevos)
|
||
- **Ejercicios**: ~195 nuevos
|
||
- **Verificación**: API devuelve textos para cada centro de interés
|
||
|
||
### FASE 2.3 — Francesca Ortografía (Prioridad: MEDIA)
|
||
- **Archivos**: `curriculum/francesca-ortografia/etapa-1.ts`, `etapa-2.ts` (2 archivos)
|
||
- **Página nueva**: `app/francesca/ortografia/page.tsx`
|
||
- **Ejercicios**: 60 nuevos
|
||
- **Engine**: añadir `ortografia` a FRANCESCA
|
||
|
||
### FASE 2.4 — Sebastián Matemáticas (Prioridad: ALTA)
|
||
- **Archivos**: `curriculum/sebastian/etapa-4.ts` ... `etapa-11.ts` (8 archivos nuevos)
|
||
- **Ejercicios**: ~200 nuevos
|
||
- **Renombrar**: `app/sebastian/sumas/` → `app/sebastian/matematicas/` (o crear alias)
|
||
|
||
### FASE 2.5 — Sebastián Lectura (Prioridad: ALTA)
|
||
- **Archivos**: `curriculum/sebastian-lectura/etapa-1.ts` ... `etapa-6.ts` (6 archivos)
|
||
- **Página nueva**: `app/sebastian/lectura/page.tsx`
|
||
- **Ejercicios**: 160 nuevos
|
||
|
||
### FASE 2.6 — Sebastián Cultura General (Prioridad: MEDIA)
|
||
- **Historia**: `curriculum/sebastian-historia/etapa-3.ts` ... `etapa-5.ts` (3 archivos, 45 ej)
|
||
- **Geografía**: `curriculum/sebastian-geografia/etapa-1.ts` ... `etapa-3.ts` (3 archivos, 40 ej)
|
||
- **Banderas**: `curriculum/sebastian-banderas/etapa-2.ts` (1 archivo, 15 ej)
|
||
- **Página nueva**: `app/sebastian/geografia/page.tsx`
|
||
|
||
### FASE 2.7 — Integración, Tests, Deploy (Prioridad: CRÍTICA)
|
||
- Actualizar `lib/curriculum/engine.ts` con todas las etapas
|
||
- Actualizar `app/francesca/page.tsx` (añadir botón ortografía)
|
||
- Actualizar `app/sebastian/page.tsx` (añadir botones lectura, geografía)
|
||
- E2E tests: verificar existencia de archivos, prereqs válidos, API responde
|
||
- TypeScript compila
|
||
- Build pasa
|
||
- Push a Gitea
|
||
|
||
---
|
||
|
||
## 8. Métricas de Éxito
|
||
|
||
| Criterio | Meta | Verificación |
|
||
|---|---|---|
|
||
| Ejercicios Francesca | ≥ 500 | Contar ejercicios en archivos + API |
|
||
| Ejercicios Sebastián | ≥ 500 | Contar ejercicios en archivos + API |
|
||
| Sin prereqs rotos | 100% | Test E2E recorre todas las etapas |
|
||
| API responde por perfil | 100% | curl a cada topic/profile devuelve exercise.id ≠ null |
|
||
| TypeScript compila | 0 errores | `npx tsc --noEmit` |
|
||
| E2E tests pasan | 100% | `npx playwright test` |
|
||
| Build pasa | sí | `npm run build` |
|
||
| Métodos europeos documentados | 100% | cada etapa tiene `functionalContext` con referencia al método |
|
||
|
||
---
|
||
|
||
## 9. Riesgos y Mitigaciones
|
||
|
||
| Riesgo | Impacto | Mitigación |
|
||
|---|---|---|
|
||
| Volumen muy alto para una sesión | No termina | Dividir en sub-fases 2.1-2.7, implementar incremental |
|
||
| Prereqs rotos (bug recurrente) | Bloquea ejercicios | Test E2E automático de validación de prereqs |
|
||
| Calidad de contenido desigual | Experiencia pobre | Plantillas estandarizadas por tipo de ejercicio |
|
||
| Textos de lectura muy largos para TTS | Audio lento/cortado | Limitar a 5-8 oraciones máximo |
|
||
| IDs duplicados entre etapas | Conflicto en FSRS | Prefijos únicos por etapa (fra5-*, seb7-*) |
|
||
|
||
---
|
||
|
||
## 10. Apéndice: Plantillas de Ejercicio
|
||
|
||
### Plantilla: Multiplicación Montessori
|
||
```typescript
|
||
{
|
||
id: `fra7-mult-${a}-${b}`,
|
||
stage: 7,
|
||
skillCode: `mult-2d-${a}x${b}`,
|
||
type: 'eleccion',
|
||
prerequisites: [`fra7-mult-${prev}`],
|
||
content: {
|
||
instruction: `Multiplicá: ${a} × ${b}`,
|
||
audioText: `${a} por ${b}`,
|
||
emoji: '✖️',
|
||
options: [
|
||
{ label: String(a*b), correct: true, id: String(a*b) },
|
||
{ label: String(a*b + b), correct: false, id: 'w1' },
|
||
{ label: String(a*b - a), correct: false, id: 'w2' },
|
||
].sort(() => Math.random() - 0.5),
|
||
},
|
||
functionalContext: `Multiplicar con método Montessori: descomponer ${a} en decenas y unidades.`,
|
||
errorType: 'confusion-letra',
|
||
}
|
||
```
|
||
|
||
### Plantilla: Comprensión Decroly
|
||
```typescript
|
||
{
|
||
id: `fra3-familia-${i}`,
|
||
stage: 3,
|
||
skillCode: `lectura-familia-${i}`,
|
||
type: 'lectura',
|
||
prerequisites: [`fra3-familia-${i-1}`],
|
||
content: {
|
||
instruction: 'Leé el texto y respondé:',
|
||
text: 'La familia de Ana tiene 4 personas. Mamá, papá, Ana y su hermano Tomás. Viven en una casa con jardín.',
|
||
audioText: '<texto completo>',
|
||
emoji: '👨👩👧👦',
|
||
options: [
|
||
{ label: '4', correct: true, id: '4' },
|
||
{ label: '3', correct: false, id: '3' },
|
||
{ label: '5', correct: false, id: '5' },
|
||
],
|
||
},
|
||
functionalContext: 'Centro de interés Decroly: la familia.',
|
||
errorType: 'omision-letra',
|
||
}
|
||
```
|
||
|
||
### Plantilla: Problema de varios pasos (Sebastián)
|
||
```typescript
|
||
{
|
||
id: `seb10-prob-${i}`,
|
||
stage: 10,
|
||
skillCode: `problema-multistep-${i}`,
|
||
type: 'problema',
|
||
prerequisites: [`seb10-prob-${i-1}`],
|
||
content: {
|
||
instruction: 'Problema:',
|
||
text: 'Compré 3 lápices a $15 cada uno y pagué con $100. ¿Cuánto vuelto recibí?',
|
||
audioText: '<texto completo>',
|
||
emoji: '✏️',
|
||
options: [
|
||
{ label: '$55', correct: true, id: '55' },
|
||
{ label: '$45', correct: false, id: '45' },
|
||
{ label: '$85', correct: false, id: '85' },
|
||
],
|
||
},
|
||
functionalContext: 'Problema de varios pasos: calcular total y vuelto.',
|
||
errorType: 'inversion-letra',
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 11. Estado: PENDIENTE DE IMPLEMENTACIÓN
|
||
|
||
Este plan está completo y aprobado conceptualmente. Falta:
|
||
- [ ] Implementar Fase 2.1 (Francesca matemáticas)
|
||
- [ ] Implementar Fase 2.2 (Francesca lectura)
|
||
- [ ] Implementar Fase 2.3 (Francesca ortografía)
|
||
- [ ] Implementar Fase 2.4 (Sebastián matemáticas)
|
||
- [ ] Implementar Fase 2.5 (Sebastián lectura)
|
||
- [ ] Implementar Fase 2.6 (Sebastián cultura general)
|
||
- [ ] Implementar Fase 2.7 (Integración + tests + deploy)
|
||
|
||
**Estimación**: ~937 ejercicios nuevos repartidos en ~40 archivos nuevos. Cada archivo toma ~10-15 minutos de generación asistida.
|