# EJERCICIO 03 — FUTURO DEL DERECHO: GLOBAL Y GUATEMALA
## Documento de diseño metodológico

**Centro de Innovación Jurídico-Tecnológico (CIJT) · Escuela de Estudios Judiciales · Organismo Judicial de Guatemala**

**Investigador Principal:** David Jonathán Salazar García — Investigador en IA y Derecho
**Fecha de diseño:** 8 de mayo de 2026
**Working dir:** `/root/apps/pub/conversation/`
**Salida principal:** `/root/apps/pub/conversation/conversation3.md`
**Output académico previsto:** Working paper IMRYD del CIJT, construido a posteriori.

---

## 1. Antecedentes y motivación

Tercera iteración de una metodología de investigación asistida por LLMs múltiples en derecho:

- **Ejercicio 01** (22 turnos, 2 IAs sin moderador): conversación filosófica abierta sobre estructura normativa computable. Valioso conceptualmente, pirotécnico, sin falsabilidad.
- **Ejercicio 02** (44 turnos, 2 IAs con reglas epistémicas): pronóstico operativo con etiquetas `[HECHO]/[TENDENCIA]/[INFERENCIA]/[NO_SE]`, predicciones falsables. Produjo 10 predicciones consensuadas, 3 disensos, agenda de investigación. Las propias IAs identificaron tres limitaciones: **convergencia engañosa** entre dos modelos parcialmente solapados, ausencia de fact-checking, falta de granularidad sobre Guatemala.

**Ejercicio 03** corrige las tres limitaciones:
1. **Tres modelos** con roles funcionales diferenciados.
2. **Moderador con tools** que valida en tiempo real contra corpus externo.
3. **Doble foco Global/Guatemala** con corpus jurídico GT inyectado por el moderador.

---

## 2. Arquitectura de ejecución

```
┌──────────────────────────────────────────────────────────────────┐
│                  INVESTIGADOR PRINCIPAL                          │
│            David Salazar — CIJT / EEJ                            │
│  (define preguntas-eje, valida diseño, supervisa post hoc)       │
└──────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌──────────────────────────────────────────────────────────────────┐
│            ORCHESTRATOR (orchestrator.py)                         │
│  Maneja estado, fases, rotación de turnos, checkpointing.         │
└──────────────────────────────────────────────────────────────────┘
        │             │              │              │
        ▼             ▼              ▼              ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌──────────────┐
│  MODERADOR  │ │   OPENAI    │ │   GEMINI    │ │   CLAUDE     │
│             │ │             │ │             │ │              │
│  claude CLI │ │  API HTTP   │ │  API HTTP   │ │  claude CLI  │
│  (Code MAX) │ │  gpt-5.5    │ │ gemini-2.5- │ │ (Code MAX)   │
│             │ │             │ │   pro       │ │ Opus 4.7     │
│  Con tools: │ │             │ │             │ │              │
│  • axioma   │ │ Escéptico   │ │ Sintetizador│ │ Constructor  │
│  • cc       │ │ empírico    │ │ comparativo │ │ de marcos    │
│  • web      │ │             │ │             │ │              │
│  • factcheck│ │             │ │             │ │              │
└─────────────┘ └─────────────┘ └─────────────┘ └──────────────┘
```

**Nota crítica sobre Claude**: tanto el moderador como la voz de Claude en debate son `claude-opus-4-7`, pero son **dos procesos `claude` CLI distintos** invocados por el orchestrator con prompts sistémicos completamente diferentes. No comparten contexto. La separación de rol es real porque los procesos son separados — uno solo modera, el otro solo construye marcos. Usan la suscripción Claude Code MAX, no API de Anthropic.

---

## 3. Roles funcionales

### 3.1. OpenAI (gpt-5.5) — Escéptico empírico
- Cuestiona supuestos, exige evidencia, identifica contraejemplos.
- En cada turno debe pedir al menos una verificación factual sobre afirmación previa.
- En predicciones, exige condición exacta de falsación.
- Cuando se cita un estudio, exige metodología, n y limitaciones.

### 3.2. Gemini (gemini-2.5-pro) — Sintetizador comparativo
- Integra múltiples jurisdicciones; contrasta common law / civil law / Sur Global.
- En cada turno trae al menos una comparación intercontinental.
- Cuando se discute Guatemala, contrasta con otro país centroamericano + un caso fuera de la región.
- Mapeo evolutivo temporal en predicciones.

### 3.3. Claude (opus-4-7) — Constructor de marcos
- Produce taxonomías, predicciones operacionales, arquitecturas de gobernanza.
- En cada turno formaliza al menos un concepto en estructura citable.
- Predicciones obligatorias: horizonte / métrica / falsación / confianza justificada.
- Recomendaciones con mecanismo de implementación.

### 3.4. Antagonismo obligatorio (regla común a las 3)
Cada turno se abre identificando UN punto de desacuerdo genuino con el turno anterior, o declarando explícitamente que no encuentra ninguno (también es información). Previene la convergencia performativa.

---

## 4. Esquema de fases (12 fases · ~150 turnos IAs + ~14 turnos moderador)

Distribución: 12 fases × (4 turnos por IA) = 144 turnos IAs + 6 turnos extra en fases pivote = **150 turnos**. Más **14 intervenciones del moderador** (apertura/cierre por fase + intervenciones de fact-check graves).

Rotación dentro de fase: O → G → C → O → G → C → O → G → C → O → G → C.

| Fase | Tema | Foco |
|------|------|------|
| 01 | Diagnóstico empírico **global** | Adopción IA jurídica EEUU, UE, China, OECD |
| 02 | Diagnóstico empírico **Guatemala y Centroamérica** | OJ, MP, IDPP, TSE; comparativo regional |
| 03 | Vectores tecnológicos | LLMs jurídicos, agentes, RAG, verificación formal |
| 04 | Marco normativo emergente | EU AI Act, EEUU/China, vacío LatAm, posibilidad GT |
| 05 | Construcción de escenarios — **Global** | ≥3 escenarios con árbol causal |
| 06 | Construcción de escenarios — **Guatemala** | ≥3 escenarios con condicionantes específicos |
| 07 | Predicciones horizonte 2027-2032 | Métricas falsables |
| 08 | Predicciones horizonte 2033-2040 | Métricas + disensos esperados |
| 09 | Brecha de adopción | Adoptantes vs no — firmas, jurisdicciones, individuos |
| 10 | Implicaciones humanas | Empleo, cognición, acceso a justicia, derechos |
| 11 | Síntesis individual | 7 predicciones + 4 disensos + 3 dudas honestas por IA |
| 12 | Documento consolidado conjunto | Predicciones consensuadas, disensos, agenda, recomendaciones |

---

## 5. Reglas epistémicas

### 5.1. Etiquetas que aplican las IAs
- `[HECHO]` documentado y verificable
- `[TENDENCIA]` patrón con evidencia parcial
- `[INFERENCIA]` razonamiento desde premisas explícitas
- `[ESPECULACIÓN]` declarada como tal
- `[NO_SE]` admisión de límite

### 5.2. Etiquetas que aplica el moderador
- `[VERIFICADO_MOD: fuente, fecha]` afirmación confirmada
- `[DISPUTADO_MOD: la fuente X dice Y]` afirmación contradicha
- `[SIN_VERIFICAR_MOD: razón]` no fue posible verificar
- `[CORPUS_GT: norma/sentencia]` contenido inyectado desde AXIOMA o CC

### 5.3. Reglas obligatorias
1. Trazabilidad: año + hallazgo + limitación. Si dudas, declárala.
2. Antagonismo obligatorio en apertura.
3. Predicciones falsables.
4. Prohibida pirotecnia retórica salvo con mecanismo operacional.
5. Avance acumulativo (prohibido reformular con sinónimos).
6. Bifurcaciones honestas; prohibida la falsa síntesis.
7. `[NO_SE]` cuando aplique.
8. No fabricar citas. Si <90% seguro: `[INFERENCIA]` o `[ESPECULACIÓN]`.
9. Atender requerimientos del moderador antes de avanzar.

---

## 6. Tools del moderador

### 6.1. axioma.py — Conector PostgreSQL a AXIOMA
- BD: `postgresql+asyncpg://axioma:axioma_dev_2024@127.0.0.1:5440/axioma`
- Operaciones:
  - `buscar_norma(numero, abreviatura, nombre, materia)` — exacta o por filtro
  - `buscar_norma_fts(query)` — full-text sobre `contenido_completo`
  - `buscar_jurisprudencia(expediente, tribunal, anio, materia)` — exacta o filtro
  - `buscar_jurisprudencia_fts(query)` — FTS sobre `texto_completo`
  - `obtener_fragmentos(norma_id, articulo)` — artículos específicos

### 6.2. cc_scraper.py — Scraper jurisprudencia CC
- URL base: `https://jurisprudencia.cc.gob.gt/ptmp/Expediente.aspx`
- Estrategia: probar URLs directas a PDF (`/Sentencias/[id].[expediente].pdf`) primero, fallback a search ASP.NET.
- Importante: si la sentencia ya está en AXIOMA, usar AXIOMA. El scraper es complemento.

### 6.3. web_search.py — Búsqueda web general
- Para verificación de citas internacionales, estudios, casos no-GT.
- v1: implementación con DuckDuckGo HTML scraping (sin key) o Brave Search API si hay key.

### 6.4. factcheck.py — Coordinación
- Recibe el texto del turno entrante.
- Extrae afirmaciones empíricas (regex + heurísticas: años, números con unidad, citas con autor/año, nombres de leyes).
- Para cada afirmación: rutea a la tool apropiada (GT → axioma/cc; resto → web).
- Devuelve estructura con etiquetas `[VERIFICADO_MOD]/[DISPUTADO_MOD]/[SIN_VERIFICAR_MOD]`.

---

## 7. Outputs del ejercicio

| Archivo | Contenido |
|---------|-----------|
| `conversation3.md` | Markdown completo: turnos numerados, etiquetas inline, intervenciones del moderador con tools usadas |
| `state.json` | Estado completo para reanudación |
| `factcheck_log.json` | Log estructurado: afirmación, fuente, resultado, timestamp |
| `corpus_used.json` | Qué normas/sentencias GT se inyectaron y en qué turno |
| `moderator_meta.md` | Narración meta del proceso |

El working paper IMRYD se construye a posteriori sobre estos outputs.

---

## 8. Cronograma sugerido

1. **Día 0 (hoy)**: David revisa el paquete; resuelve las cuestiones abiertas de §10.
2. **Día 1**: Despliegue en server. Smoke test de cada tool (axioma, cc, web). Prueba de invocación de claude CLI con prompts.
3. **Día 2**: Piloto Fases 1-3 (~36 turnos). Revisión conjunta. Ajustes a prompts si hace falta.
4. **Días 3-5**: Ejecución Fases 4-12 con checkpoints diarios.
5. **Día 6+**: Producción del working paper sobre la transcripción.

---

## 9. Riesgos y mitigaciones

| Riesgo | Mitigación |
|--------|------------|
| Convergencia entre IAs | Roles diferenciados + antagonismo obligatorio + intervención moderador |
| Fabricación de citas | Etiquetas + fact-check tiempo real con AXIOMA + web |
| Sesgo OECD | Doble fase Guatemala + obligación Gemini de Sur Global |
| Costos API descontrolados | Compresión de contexto + checkpoint cada 10 turnos + budget cap |
| Pérdida de coherencia narrativa | Síntesis del moderador entre fases |
| Falla de API | Retries exponenciales + checkpointing + reanudación |
| Consenso engañoso | Etiqueta `[CONSENSO_DEBIL]` + obligación de contraejemplo |
| Claude CLI cuelga o quota MAX agotada | Timeout + retry + alerta al investigador |

---

## 10. Cuestiones abiertas que requieren decisión

1. ✅ API key Anthropic — **resuelto**: no se necesita, se usa Claude Code MAX vía CLI.
2. ✅ AXIOMA — **resuelto**: PostgreSQL `axioma` en `:5440`.
3. ✅ Gemini Pro — **resuelto**: gemini-2.5-pro.
4. ⏳ Aporte de corpus GT inicial: ¿documentos adicionales que David quiera subir antes? (ver `corpus_gt/README.md`).
5. ⏳ Budget máximo APIs (estimación: USD 80-200 dependiendo de cuánto se use Gemini Pro).
6. ⏳ Acceso a internet del server para `web_search.py` — ¿permitido outbound HTTPS?
7. ⏳ Lectores destinatarios del working paper.
8. ⏳ ¿Publicar transcripción completa o solo hallazgos?

---

*Toda decisión que se tome durante la ejecución modificando el diseño debe quedar registrada en `moderator_meta.md` con justificación.*
