## Asset Header

- **Asset ID:** SOP-MPX-BookFactorySistema-v02
- **Version:** v02
- **Status:** Draft
- **Owner:** Victor Heredia
- **IntellBank:** IB-MPX-MasterPlaybooks
- **Tipo:** SOP — Standard Operating Procedure
- **Propósito:** 🏭 Book Factory — Master Playbooks v2.1
- **Última actualización:** 2026-04-11

---

# 🏭 Book Factory — Master Playbooks v2.1
> Sistema de producción de conocimiento estructurado para Sherpa
> 20 libros/semana · 3 checkpoints humanos · 9 estaciones · 19 artefactos
> **v2.1** — Brechas estructurales corregidas: numeración, tracking, atomicidad, retrabajo, versiones

---

## ¿Qué es la Book Factory?

Una factoría que transforma libros en conocimiento estructurado profundo. Cada libro entra como materia prima y sale como un ecosistema de artefactos que permite a **Sherpa** — un asistente de IA — responder preguntas del lector como si fuera el propio autor.

El modelo sigue los principios de la **Big MetaFactory**: cada libro pasa por estaciones numeradas en orden de ejecución, cada estación produce artefactos atómicos y reutilizables, y una Ficha de Producción acompaña al libro de principio a fin.

---

## Cambios v2.0 → v2.1

| Brecha corregida | Cambio aplicado |
|-----------------|----------------|
| Numeración rota | Estaciones renombradas 0→8 en orden de ejecución real |
| Sin tracking | Ficha de Producción añadida como artefacto obligatorio del Intake |
| Sin retrabajo | Mapa de retrabajo documentado en Estación 6 (QA) |
| Fase 3 no atómica | Dividida en Estaciones 4A, 4B y 4C independientes |
| Fronteras borrosas 3→4 | Artefactos renombrados: "Chunks de Contenido" vs "Fuente Completa" |
| Sin versiones | Estación 8 — Mantenimiento añadida al pipeline |

---

## Arquitectura del Pipeline

### Flujo CON libro disponible
```
E0 → E1 → E3 → E4A → E4B → E4C → E5 → E6 → E7
```

### Flujo SIN libro disponible
```
E0 → E1 → E2 → E3 → E4A → E4B → E4C → E5 → E6 → E7
```

### Flujo de Mantenimiento (re-entrada)
```
Trigger → identificar estaciones afectadas → re-ejecutar → E6 → E7 (v1.1)
```

---

## Mapa de Estaciones

| #   | Estación           | Descripción                              | Status | Checkpoint |
| --- | ------------------ | ---------------------------------------- | ------ | ---------- |
| E0  | Intake             | Entrada y clasificación del libro        | ✅      | ⚑ #1       |
| E1  | Investigación      | Libro + autor desde fuentes públicas     | ✅      | —          |
| E2  | Libro Virtual      | Reconstrucción cuando no hay PDF         | ✅      | ⚑ #2       |
| E3  | Perfil Intelectual | Lentes cognitivos y voz del autor        | ✅      | —          |
| E4A | Resumen Narrativo  | Resumen publicable en voz del autor      | ✅      | —          |
| E4B | Estructuración RAG | Chunks de Contenido (.md)                | ✅      | —          |
| E4C | Prompts Visuales   | 5 prompts Midjourney                     | ✅      | —          |
| E5  | Fuente Completa    | Documento maestro para Sherpa RAG        | 🔲     | —          |
| E6  | QA Automático      | Batería de preguntas + LLM-as-judge      | 🔲     | —          |
| E7  | Publicación        | Upload + activación de Sherpa            | 🔲     | ⚑ #3       |
| E8  | Mantenimiento      | Re-entrada para correcciones y versiones | 🔲     | —          |

> **E4C es paralelizable** — no bloquea el pipeline principal. Puede ejecutarse en paralelo a E5.

---

## Estación 0 — Intake
**Artefacto de salida:** 📋 Ficha de Intake + 🗂️ Ficha de Producción (nueva)

### Campos requeridos

| Campo | Tipo | Valores |
|-------|------|---------|
| `titulo` | texto | Título completo del libro |
| `autor` | texto | Nombre completo del autor |
| `libro_disponible` | booleano | `sí` / `no` |
| `tipo_autoria` | enum | `individual` / `colectiva` |

### Reglas de routing

```
libro_disponible = sí  →  E0 → E1 → E3 → E4A → E4B → E4C → E5 → E6 → E7
libro_disponible = no  →  E0 → E1 → E2 → E3 → E4A → E4B → E4C → E5 → E6 → E7

tipo_autoria = individual  →  voz Sherpa = voz del autor
tipo_autoria = colectiva   →  voz Sherpa = filosofía editorial del director
                           →  Sherpa puede citar al colaborador por capítulo
```

### Ficha de Producción (artefacto nuevo — acompaña al libro en todo el pipeline)

```yaml
# FICHA DE PRODUCCIÓN — Book Factory v2.1
id_libro: [generado automáticamente]
titulo: "{{titulo}}"
autor: "{{autor}}"
tipo_autoria: "{{tipo_autoria}}"
libro_disponible: "{{libro_disponible}}"
flujo: "[con_libro / sin_libro]"
fecha_entrada: "{{fecha}}"
operador: "{{operador}}"

estaciones:
  E0_intake:
    fecha: null
    operador: null
    status: pendiente        # pendiente | en_proceso | completado | rechazado

  E1_investigacion:
    fecha: null
    fuentes_citadas: null
    status: pendiente

  E2_libro_virtual:
    activada: null           # sí | no
    score_cobertura: null    # % (alerta si < 50%)
    tipo_indice: null        # estructural | conceptual
    status: pendiente

  E3_perfil_intelectual:
    fecha: null
    lentes_count: null
    filtros_negativos_count: null
    status: pendiente

  E4A_resumen_narrativo:
    fecha: null
    tipo_estructura: null    # bloques_tematicos | ejes_tematicos
    secciones_count: null
    status: pendiente

  E4B_chunks_contenido:
    fecha: null
    chunks_count: null
    status: pendiente

  E4C_prompts_visuales:
    fecha: null
    status: pendiente        # puede ejecutarse en paralelo a E5

  E5_fuente_completa:
    fecha: null
    version: null            # v1.0
    chunks_totales: null
    status: pendiente

  E6_qa:
    fecha: null
    score_global: null
    dictamen: null           # aprobado | revision_humana | rechazado
    preguntas_evaluadas: null
    status: pendiente

  E7_publicacion:
    fecha: null
    operador: null
    version_publicada: null  # v1.0
    status: pendiente

versiones:
  - version: "v1.0"
    fecha: null
    motivo: "publicación inicial"
    estaciones_re_ejecutadas: []
```

⚑ **Checkpoint #1** — El operador valida clasificación, disponibilidad del libro y firma la Ficha de Producción antes de iniciar E1.

---

## Estación 1 — Investigación del Libro y Autor
**Antes:** Fase 1A | **Artefactos:** 📚 Investigación del Libro · 👤 Perfil del Autor

**Propósito:** Producir el contexto completo del libro y del autor desde fuentes públicas. Los lentes cognitivos y la voz NO se generan aquí — se generan en E3 desde el contenido real.

**Inputs:** Ficha de Producción (E0) · Fuentes públicas: web, entrevistas, podcasts, reseñas, Goodreads

**Outputs:**
- Clasificación con granularidad (categoría, subcategoría, tipo, audiencia)
- Tesis central precisa (suficiente para reconstruir el libro en E2)
- Argumentos clave en orden lógico (mínimo 3)
- Biografía intelectual del autor + obra completa

**Actualizar en Ficha de Producción:** `E1_investigacion.status = completado` · `fuentes_citadas = N`

---

## Estación 2 — Libro Virtual *(condicional)*
**Antes:** Fase 2 | **Condición:** Solo activa cuando `libro_disponible = NO`
**Artefactos:** 📖 Libro Virtual · 📊 Score de Cobertura

**Propósito:** Reconstruir el contenido del libro capítulo a capítulo cuando no hay PDF. Tres prompts encadenados con checkpoint entre el segundo y el tercero.

**3 prompts encadenados:**
1. **E2-P1** — Verificación y ampliación de conocimiento
2. **E2-P2** — Generación del índice para validación humana ← **pausa aquí**
3. **E2-P3** — Reconstrucción completa (solo después de aprobación del índice)

**Outputs:**
- Índice validado (tipo: Estructural o Conceptual)
- Reconstrucción capítulo a capítulo con 5 elementos por capítulo
- Score de cobertura global (% cubierto) — alerta si < 50%

**Actualizar en Ficha de Producción:** `E2_libro_virtual.activada = sí` · `score_cobertura = %` · `tipo_indice = ...`

⚑ **Checkpoint #2** — El operador aprueba el índice antes de ejecutar E2-P3.

---

## Estación 3 — Perfil Intelectual
**Antes:** Fase 1B | **Artefactos:** 🔭 Lentes Cognitivos · 🎙️ Voz Intelectual · 🚫 Filtros Negativos

**Propósito:** Derivar cómo piensa y habla el autor desde el contenido real del libro. Siempre después de tener el contenido (E2 o libro PDF).

**2 prompts encadenados en batches de 3–4 capítulos:**
1. **E3-P1** — Extracción por batch (ficha por capítulo)
2. **E3-P2** — Consolidación del perfil intelectual definitivo

**Outputs:**
- 3–6 lentes cognitivos (cada uno con evidencia en mínimo 3 capítulos)
- Vocabulario característico (10–15 términos del libro)
- "Lo que NUNCA diría" (mínimo 4 afirmaciones concretas) → filtro real de Sherpa
- Manejo de la incertidumbre (cómo responde cuando algo excede el libro)

**Actualizar en Ficha de Producción:** `E3_perfil.lentes_count = N` · `filtros_negativos_count = N`

---

## Estación 4A — Resumen Narrativo
**Antes:** Fase 3, Prompt 3.1 | **Artefacto:** 📄 Resumen Publicable (.docx)

**Propósito:** Producir el resumen publicable en la voz del autor. Es lo que lee el lector final.

**Estructura según tipo de libro:**
- Narrativos/encadenados → 4–7 bloques temáticos
- Prescriptivos/temáticos → 4–8 ejes temáticos

**Playbook fusionado — 7 elementos por sección:**

| Elemento | Descripción |
|----------|-------------|
| Objetivo del paso | 1 oración: qué herramienta gana el lector |
| Qué hacer | Acción concreta en imperativo |
| Cómo hacerlo | Instrucción práctica específica |
| Cuándo aplicarlo | Momento o frecuencia concreta |
| Indicador de progreso | Señal observable y concreta |
| Mini caso genérico | Ejemplo del lector, no del libro |
| Error común a evitar | Error + corrección |

**Secciones del .docx:** Sinopsis · Resumen Express (400–500 palabras) · Resumen Amplio + Playbooks · Sobre el Autor · Recursos · Disclaimer

**Actualizar en Ficha de Producción:** `E4A_resumen.tipo_estructura = ...` · `secciones_count = N`

---

## Estación 4B — Estructuración RAG
**Antes:** Fase 3, Prompt 3.2 | **Artefacto:** 🧩 Chunks de Contenido (.md)

> ⚠️ **Distinción crítica para el operador:**
> Los **Chunks de Contenido** de E4B son materia prima para E5.
> **NO subir estos chunks al RAG.** Solo subir la Fuente Completa de E5.

**Propósito:** Tomar el resumen de E4A y estructurarlo en chunks independientes y autocontenidos, listos para ser integrados en la Fuente Completa.

**Reglas de chunking:**
- Cada chunk autocontenido (Sherpa puede responder usando solo ese chunk)
- Header semántico en cada chunk: nombre · tipo · temas
- Tamaño objetivo: 200–600 palabras por chunk
- Par por sección: chunk de contenido + chunk de playbook

**Actualizar en Ficha de Producción:** `E4B_chunks.chunks_count = N`

---

## Estación 4C — Prompts Visuales *(paralelizable)*
**Antes:** Fase 3, Prompt 3.3 | **Artefacto:** 🎨 Prompts Visuales (5 prompts Midjourney)

> **E4C es independiente del pipeline principal.** Puede ejecutarse en paralelo a E5.
> No bloquea la publicación. Si no hay diseñador disponible, puede posponerse.

**Propósito:** Generar los 5 prompts visuales para las imágenes del resumen publicado.

**5 imágenes:** Portada (alta prioridad) · Concepto Central · Framework · Proceso · Cita/Cierre

**Especificaciones:** `--style raw --ar 1:1 --v 6` · Inglés · Flat design editorial · Sin rostros · Sin texto renderizado · Paleta de colores con hex

---

## Estación 5 — Fuente Completa RAG
**Antes:** Fase 4 | **Artefactos:** 🗄️ Fuente Completa Sherpa v1.0 (.md) · 📑 Índice de Chunks

> ⚠️ **Este es el único documento que se sube al sistema RAG de Sherpa.**
> Los Chunks de Contenido de E4B son su insumo, no su sustituto.

**Propósito:** Integrar todos los outputs anteriores en UN SOLO documento maestro estructurado para recuperación semántica. Lo que Sherpa consume.

**4 bloques fijos en este orden:**

```
Bloque 1 — Perfil del Autor y Lentes Cognitivos    [Prioridad: Alta]
Bloque 2 — Mapa Conceptual del Libro               [Prioridad: Media-alta]
Bloque 3 — Contenido por Sección                   [Pares: contenido + playbook]
Bloque 4 — Contexto Externo                        [Prioridad: Baja]
```

**Reglas:**
- Todo en voz del autor con su vocabulario
- Cada chunk lleva: Prioridad RAG + Preguntas que lo activan
- Versión registrada (v1.0) en el header del documento
- Índice de chunks al final con tipo y prioridad

**Actualizar en Ficha de Producción:** `E5_fuente.version = v1.0` · `chunks_totales = N`

---

## Estación 6 — QA Automático
**Antes:** Fase 5 | **Artefactos:** 🧪 Batería QA · 📊 Score de Calidad · ✅ Dictamen Final

**Propósito:** Evaluar si Sherpa puede responder correctamente antes de publicar. Ningún libro llega a E7 sin pasar el QA.

### 4 tipos de preguntas

| Tipo | Qué prueba | Señal de fallo |
|------|-----------|----------------|
| A — Recuperación directa | Sherpa encuentra info correcta | Inventa datos |
| B — Aplicación/Inferencia | Aplica frameworks del autor | Respuestas genéricas |
| C — Preguntas de borde | Sabe qué NO cubre el libro | Inventa para temas no cubiertos |
| D — Preguntas trampa | No alucina ni atribuye ideas falsas | Confirma afirmaciones inventadas |

### Thresholds de aprobación

| Condición | Threshold | Consecuencia |
|-----------|-----------|--------------|
| Score ≥ 8.0 | Aprobado | → E7 |
| Score 7.0–7.9 | Revisión humana | → Checkpoint especial |
| Score < 7.0 | Rechazado | → Mapa de retrabajo |
| Tipo D — fallos | 0 permitidos | Cualquier fallo = revisión |

**Pesos LLM-as-judge:** Precisión 35% · Voz del autor 25% · Manejo de límites 25% · Utilidad 15%

### Mapa de retrabajo (Brecha 3 corregida)

```
Causa del fallo                   → Re-entrada en   → Qué re-ejecutar
───────────────────────────────────────────────────────────────────────
Sherpa inventa hechos             → E5              → Fuente Completa RAG
Voz no suena al autor             → E3              → Perfil Intelectual completo
Tema del libro sin cobertura      → E4A + E4B       → Sección específica
Sherpa confirma afirmaciones falsas → E3            → Filtros negativos
Playbook no ejecutable            → E4A             → Playbook de la sección
Score QA limítrofe (7.0–7.9)      → Checkpoint esp. → Revisión humana antes de E7
```

**Actualizar en Ficha de Producción:** `E6_qa.score_global = X.X` · `dictamen = ...`

---

## Estación 7 — Publicación
**Antes:** Fase 6 | **Artefactos:** 🚀 Libro Publicado · 🤖 Sherpa Activo

**Condiciones de entrada:**
- QA dictamen = APROBADO → Checkpoint #3 → publicar
- QA dictamen = REVISIÓN HUMANA → operador resuelve → Checkpoint #3 → publicar
- QA dictamen = RECHAZADO → ❌ no entra · regresar según mapa de retrabajo

**3 acciones:**
1. **E7-A** — Upload del `.docx` a la plataforma (para el lector)
2. **E7-B** — Upload de la Fuente Completa al sistema RAG (para Sherpa)
3. **E7-C** — Activación de Sherpa + verificación post-publicación (5 preguntas rápidas)

**Actualizar en Ficha de Producción:** `E7_publicacion.version_publicada = v1.0` · `status = completado`

⚑ **Checkpoint #3** — El operador revisa el score QA y aprueba el go-live.

---

## Estación 8 — Mantenimiento *(nueva — Brecha 6 corregida)*
**Artefacto:** 🗂️ Ficha de Producción actualizada (vX.X)

**Propósito:** Gestionar correcciones, actualizaciones y nuevas versiones de libros ya publicados sin necesidad de re-ejecutar el pipeline completo.

### Triggers de re-entrada

| Trigger | Prioridad | Acción |
|---------|-----------|--------|
| Fallo reportado por lector en Sherpa | Alta | Identificar estación causa raíz → re-ejecutar |
| Nueva edición del libro disponible | Media | Re-ejecutar E1 en adelante si hay cambios de fondo |
| Score QA cayó en auditoría periódica | Media | Re-ejecutar E6 → si falla: mapa de retrabajo |
| Error tipográfico en .docx | Baja | Corregir E4A directamente → re-publicar E7-A |
| Actualización de prompts visuales | Baja | Re-ejecutar E4C → re-publicar E7-A |

### Protocolo de re-entrada

```
1. Identificar el trigger y la estación causa raíz
2. Determinar cuáles estaciones descendientes necesitan re-ejecutarse
   (no re-ejecutar estaciones que no dependan del cambio)
3. Re-ejecutar las estaciones identificadas
4. Re-ejecutar E6 (QA) si la Fuente Completa cambió
5. Re-ejecutar E7 si el QA aprueba
6. Actualizar la Ficha de Producción:
   - Nueva versión: vX.X
   - Motivo del cambio
   - Estaciones re-ejecutadas
   - Fecha y operador
```

### Árbol de dependencias para re-entrada

```
Si cambió E1  →  re-ejecutar E2 (si activa) + E3 + E4A + E4B + E5 + E6 + E7
Si cambió E2  →  re-ejecutar E3 + E4A + E4B + E5 + E6 + E7
Si cambió E3  →  re-ejecutar E4A + E4B + E5 + E6 + E7
Si cambió E4A →  re-ejecutar E4B + E5 + E6 + E7-A (solo .docx)
Si cambió E4B →  re-ejecutar E5 + E6 + E7
Si cambió E5  →  re-ejecutar E6 + E7-B (solo RAG)
Si cambió E4C →  re-ejecutar solo E7-A (solo .docx visual)
```

---

## Inventario Completo de Artefactos (v2.1)

| # | Estación | Artefacto | Formato | Condición |
|---|----------|-----------|---------|-----------|
| 01 | E0 | 📋 Ficha de Intake | Registro | Siempre |
| 02 | E0 | 🗂️ Ficha de Producción | YAML | Siempre |
| 03 | E1 | 📚 Investigación del Libro | MD | Siempre |
| 04 | E1 | 👤 Perfil del Autor | MD | Siempre |
| 05 | E2 | 📖 Libro Virtual | MD | Sin libro |
| 06 | E2 | 📊 Score de Cobertura | Métrica | Sin libro |
| 07 | E3 | 🔭 Lentes Cognitivos | MD | Siempre |
| 08 | E3 | 🎙️ Voz Intelectual | MD | Siempre |
| 09 | E3 | 🚫 Filtros Negativos | Sección | Siempre |
| 10 | E4A | 📄 Resumen Publicable | .docx | Siempre |
| 11 | E4B | 🧩 Chunks de Contenido | .md múltiple | Siempre |
| 12 | E4C | 🎨 Prompts Visuales | 5 prompts | Paralelizable |
| 13 | E5 | 🗄️ Fuente Completa Sherpa | .md maestro único | Siempre |
| 14 | E5 | 📑 Índice de Chunks | Sección del .md | Siempre |
| 15 | E6 | 🧪 Batería QA | 15–20 preguntas | Siempre |
| 16 | E6 | 📊 Score de Calidad | Métrica | Siempre |
| 17 | E6 | ✅ Dictamen Final | Decisión | Siempre |
| 18 | E7 | 🚀 Libro Publicado | Plataforma | Si QA aprueba |
| 19 | E7 | 🤖 Sherpa Activo | RAG live | Si QA aprueba |

---

## Métricas del Sistema

| Métrica | v2.0 | v2.1 |
|---------|------|------|
| Estaciones | 8 | 11 (E4 dividida en 4A/4B/4C + E8 nueva) |
| Artefactos por libro | 18 | 19 (Ficha de Producción añadida) |
| Checkpoints humanos | 3 | 3 (sin cambio) |
| Loops de retrabajo documentados | 0 | 5 causas mapeadas |
| Protocolo de versiones | No | Sí (E8 + árbol de dependencias) |
| Estaciones paralelizables | 0 | 1 (E4C) |
| Target de producción | 20+/semana | 20+/semana |

---

## Estado del Sistema — Sprint 3

| Estación | Nombre | Status |
|----------|--------|--------|
| E0 | Intake | ✅ Completada |
| E1 | Investigación | ✅ Completada |
| E2 | Libro Virtual | ✅ Completada |
| E3 | Perfil Intelectual | ✅ Completada |
| E4A | Resumen Narrativo | ✅ Completada |
| E4B | Estructuración RAG | ✅ Completada |
| E4C | Prompts Visuales | ✅ Completada |
| E5 | Fuente Completa RAG | 🔲 Sprint 3 — Siguiente |
| E6 | QA Automático | 🔲 Sprint 3 — Pendiente |
| E7 | Publicación | 🔲 Sprint 3 — Pendiente |
| E8 | Mantenimiento | 🔲 Sprint 3 — Pendiente |

---

*Book Factory · Master Playbooks v2.1 · Brechas estructurales corregidas · 2026-03-13*
