# Comparación uniforme de cuatro anotadores, sólo IA

**Fecha de decisión y cierre:** 2026-10-02. **Estado:** 53 salidas válidas por sistema, análisis descriptivo cerrado. Esta versión no modifica retrospectivamente el protocolo humano anterior ni los artefactos del 2026-09-19.

## Pregunta y alcance

Se compara cómo DeepSeek, Gemini, Claude y Codex aplican las ocho familias del codebook a las mismas 53 biografías del piloto. La unidad es la decisión caso × familia (424 por sistema). El corpus, `prompt_sistema.md` y `schema_anotacion.json` permanecen congelados. No se incorpora el título o abstract de la charla porque el prompt histórico los excluía. El estudio mide **concordancia, estabilidad descriptiva y trazabilidad literal de evidencia**; no estima exactitud semántica ni pericia real.

Esta corrida no incorpora codificación, validación ni adjudicación por una persona. Los estados `presente`, `ausente_en_bio_revisada` y los no binarios son salidas de modelos. Un acuerdo entre modelos no se convierte en verdad de referencia.

## Reutilización y repeticiones

| Sistema | Corrida principal | Decisión |
|---|---|---|
| DeepSeek | `outputs/deepseek/deepseek-ai-only-2026-09-19-canonical/` | Reutilizar 53 salidas válidas y conservar intentos fallidos aparte. |
| Gemini | `outputs/gemini/gemini-ai-only-2026-09-19-canonical/` | Reutilizar 53 salidas válidas y conservar intentos fallidos aparte. |
| Claude | `outputs/claude/` | 53 casos en chats independientes, Opus 5.5 Medium, memoria y búsqueda web apagadas. La corrida web anterior fue una conversación con continuación y no ingresa al estimador principal. |
| Codex | `outputs/codex/` | 53 ejecuciones efímeras independientes con `gpt-6.1-sol`, sandbox de sólo lectura y esquema de salida. La precodificación histórica anterior no ingresa al estimador principal. |

El `input_manifest.json` comprueba que la fuente, prompt y esquema históricos no cambiaron. Los archivos `inputs/001.txt` a `inputs/053.txt` contienen un caso cada uno, sin salidas de otros sistemas. El texto por caso reproduce la instrucción del runner API actual. El manifiesto histórico no conservó el hash del runner de 2026-09-19; la reconstrucción a partir del runner actual debe declararse como límite de procedencia, no como identidad de bytes demostrada.

## Reglas de ejecución

Cada caso nuevo se presenta en un contexto independiente, con el mismo contenido de prompt, esquema, plantilla y `bio_text` que los casos API. No se muestran precódigos, respuestas humanas, etiquetas de otros modelos ni agregados. Codex recibe el paquete por `stdin` y Claude lo recibe como archivo de texto; el texto adicional fijo de Claude está en `claude_wrapper_template.txt` y sólo solicita la generación de un archivo JSON descargable. Los roles de mensaje, la interfaz y las instrucciones ocultas del producto no se pueden igualar retrospectivamente a las API. Por tanto, la uniformidad demostrada es de corpus, codebook, paquete de instrucciones visible, unidad de análisis y aislamiento por caso, no una identidad completa de condiciones de ejecución.

Se registra proveedor, modelo visible, interfaz, fecha UTC, hash del input, respuesta bruta y enlace al chat o log de ejecución. Los pilotos de Claude se conservan en `outputs/claude_pilot/` y no integran la comparación. Codex tuvo un caso con una cita no literal; el primer intento quedó archivado como `015.validation-retry1.*` y se repitió una vez con el mismo input. No se corrigieron decisiones ni citas manualmente.

Una validación automática exige exactamente 53 `case_id` únicos, ocho familias, claves y tipos del esquema, vocabularios permitidos, toda evidencia como subcadena literal no vacía de `bio_text`, respaldo para cada estado `presente` y ausencia de evidencia en estados de ausencia. Esta validación comprueba estructura y literalidad, no significado.

## Análisis

Se informan acuerdos exactos y binarios por par y familia, unanimidad, distribución de estados y sensibilidad al excluir cada modelo. `analysis/decisiones.csv` conserva las 424 decisiones alineadas; `analysis/desacuerdos_binarios.csv` identifica las discrepancias sin adjudicarlas. La reducción binaria trata todos los estados distintos de `presente` como no presentes, por lo que debe leerse junto al acuerdo de estado exacto y las distribuciones completas. Ningún voto mayoritario se interpreta como exactitud. No se presume independencia estadística entre los sistemas.

La comparación de contenido es retrospectivamente armonizada: DeepSeek y Gemini se ejecutaron el 2026-09-19 y Claude/Codex el 2026-10-02, con interfaces distintas. Por ello no se comparan latencia, coste, tasa bruta de fallo ni capacidad causal de los modelos usando únicamente resultados canónicos. Tampoco se denomina experimento simultáneo o evaluación de precisión.

## Reproducción

Con Node.js disponible, ejecutar `node 08_ai_coders/uniform_ai_only_2026-10-02/validate.mjs <proveedor>` para cada uno de `deepseek`, `gemini`, `codex` y `claude`; luego `node 08_ai_coders/uniform_ai_only_2026-10-02/compare.mjs` y `node 08_ai_coders/uniform_ai_only_2026-10-02/finalize.mjs`. Los manifiestos de DeepSeek y Gemini contienen los hashes de sus resultados históricos; los de Codex y Claude están junto a cada salida. No se requiere ni se usa una decisión humana para completar el flujo.
