Skip to content

Latest commit

 

History

History
112 lines (95 loc) · 6.8 KB

File metadata and controls

112 lines (95 loc) · 6.8 KB

Pipeline — cómo se construye un libro paso a paso

                          /course-pipeline
                                 │
                                 ▼
                       ┌──────────────────┐
                       │   orchestrator   │  ◄── lee CLAUDE.md, profile.json, indice.md
                       └────────┬─────────┘
                                │ delega vía Task
        ┌───────────────────────┼─────────────────────────┐
        ▼                       ▼                         ▼
┌────────────────┐    ┌──────────────────┐      ┌──────────────────┐
│ curriculum-    │    │   researcher     │      │  bibliographer   │
│ designer       │    │  → notas.md      │      │  → bibliografia  │
│ → indice.md    │    └──────────────────┘      │    .md (semilla) │
└────────────────┘                              └──────────────────┘

 Para cada capítulo N en indice.md (loop secuencial, sin ceder turno):
 ┌────────────────────────────────────────────────────────────────────┐
 │                                                                    │
 │   chapter-architect ──► outline en memoria (no a disco)            │
 │           │                                                        │
 │           ▼                                                        │
 │   chapter-writer  ──► capitulos/NN-titulo.md                       │
 │                       (PostToolUse hook valida word count + secs)  │
 │           │                                                        │
 │           ▼                                                        │
 │   ┌────────────────┬─────────────────┬──────────────────┐          │
 │   ▼                ▼                 ▼                  │          │
 │ quality-aud.    factual-aud.    biblio-aud.             │          │
 │ → audit-reports/NN-quality.json                         │          │
 │ → audit-reports/NN-factual.json                         │          │
 │ → audit-reports/NN-biblio.json                          │          │
 │           │                                             │          │
 │           ▼                                             │          │
 │   ¿algún FAIL?                                          │          │
 │      sí → revision-editor (≤ 3 ciclos) → re-escribir   │          │
 │      no → siguiente capítulo                            │          │
 │                                                                    │
 └────────────────────────────────────────────────────────────────────┘

                                 │ todos los capítulos PASS
                                 ▼
                       ┌──────────────────┐
                       │ integration-     │
                       │ compositor       │
                       │ → libro-final.md │
                       └────────┬─────────┘
                                │
                                ▼
                  Único reporte al usuario.

Fases en detalle

Fase 1 — Diseño del índice

Agente: curriculum-designer Input: tema (de CLAUDE.md), profile.json, índice previo si existe. Output: indice.md con N capítulos coherentes, sin solapamiento, con objetivo y cobertura por capítulo. Triggered by: /course-index o /course-pipeline.

Fase 2 — Investigación

Agentes: researcherbibliographer Input: indice.md, perfil. Output: notas.md (normativa, autores, glosario, decisiones editoriales) y bibliografia.md (semilla APA 7). Triggered by: /course-research o /course-pipeline.

Fase 3 — Capítulos

Loop por cada capítulo del índice. No cede turno entre capítulos. Para cada uno:

  1. chapter-architect produce un outline en memoria (no escribe a disco). Distribuye palabras por sección, identifica citas previstas, marca riesgos.
  2. chapter-writer redacta capitulos/NN-titulo.md en una sola pasada. Al guardar, el hook PostToolUse valida:
    • Word count global ≥ profile.chapter.min_words.
    • Cada sección H2 dentro de su rango.
    • [VERIFICAR]profile.quality.max_verificar_markers.
    • Si falla y el archivo está "cerrado" (todas las secciones presentes) → bloqueo, Claude reescribe.
  3. Tres auditores en paralelo:
    • quality-auditor → estructura y métricas → audit-reports/NN-quality.json.
    • factual-auditor → autores, normativa, datos → NN-factual.json.
    • bibliography-auditor → APA + cruzado de citas → NN-biblio.json.
  4. Revision loop si algún auditor da FAIL:
    • revision-editor lee los reports y reescribe quirúrgicamente.
    • Re-auditoría triple.
    • Hasta 3 ciclos. Tras el 3.º fallo, BLOCKED y siguiente capítulo.

Fase 4 — Integración

Agente: integration-compositor Pre-check: cada entrada del índice tiene su capitulos/NN-*.md y los 3 audit-reports en PASS. Output: libro-final.md con frontmatter, TOC, capítulos en orden, bibliografía global, glosario, apéndice de [VERIFICAR] residuales. Triggered by: /course-merge o /course-pipeline.

Fase 5 — Reporte final

Único turno cedido al usuario. Mensaje estructurado con:

  • Capítulos creados (N de M).
  • Capítulos BLOCKED tras 3 ciclos (si los hay).
  • Word counts totales y por capítulo.
  • Resumen de auditorías.
  • Lista de [VERIFICAR] residuales que necesitan validación humana.

Reglas de oro

  1. Un agente por tarea. Sin combinar roles.
  2. Sin meta-mensajes intermedios. El orquestador no anuncia "voy a empezar el capítulo 5".
  3. Auditores son la verdad operativa. Si el auditor dice FAIL, se revisa. Punto.
  4. Hooks bloquean al modelo, no al usuario. Bloqueo = Claude reescribe sin pedir permiso.
  5. Techo de 3 ciclos: evita bucles infinitos. Algunos errores requieren validación humana.