Versión: 1.3 (2026-08-15: §10 telemetría — resultados de consultas a la base, uso por agente, diagrama del ciclo de agentes, hallazgos de mejora incluida la corrección del «primer punto de datos» de S4; la 1.2 añadió §9b–d con las instrucciones, los planes de una línea y el razonamiento; la 1.1 añadió los diagramas de la §8 y la transcripción de la §9) Fecha: 2026-08-14 Estado: artículo de estudio. Solo documento de investigación: ningún cambio de léxico, de esquema ni de código va montado en él. Cada número viene de un artefacto guardado y citado; nada se vuelve a derivar. Los tres términos acuñados que se retiraron aparecen únicamente a través de sus renglones de léxico (docs/reference/lexicon.tsv, sección de vocabulario ratificado), nunca como vocabulario vivo.
---
Resumen
Este estudio midió qué tan bien coinciden las personas (o los sistemas de IA que leen documentos) en las palabras que se usan para describir la arquitectura de software, y encontró que el acuerdo es algo que de verdad se puede contar y mejorar. Usando paneles de revisores independientes, el equipo probó vocabularios distintos y encontró que adoptar un conjunto de términos más estándar y mejor definido producía un acuerdo mucho más fuerte que la redacción original del borrador, incluido un término añadido que resolvió un hueco que antes no estaba claro. El estudio también encontró que unas cuantas palabras problemáticas se habían estado usando para significar dos cosas distintas, y separarlas en dos términos distintos arregló la confusión. Una vez adoptado el vocabulario mejorado, se fijó a través de las herramientas del proyecto, de modo que los términos viejos y confusos ahora se señalan automáticamente. Esto importa porque muestra que elegir un lenguaje más claro y consistente no es solo una preferencia de estilo: mejora de forma medible qué tan confiablemente tanto las personas como los sistemas de IA entienden la misma documentación, y esa mejora se puede seguir a lo largo del tiempo.
1. El estudio
Tesis: la elección de vocabulario es medible, y la medición cambió el vocabulario. En un solo día este repositorio pasó de una taxonomía borrador sin ratificar a un vocabulario ratificado, medido e impuesto por hooks — no por argumento, sino por corridas de acuerdo entre agentes cuyos términos perdedores son hoy renglones de léxico. La afirmación más amplia que esto evidencia: para un lector que es un modelo, la elección de palabra es un parámetro de ingeniería con un efecto medible sobre la consistencia, y la cura para una palabra disputada es una corrida de panel, no un debate (harness-design-notes-2026-08-12.md:44-47).
Evidencia, por clase probatoria (language-as-archetecture.md §50)
ESTABLECIDO (medido en esta sesión, artefactos guardados):
- Acuerdo de vocabulario (S1/S1b). 540 votos, 18 panelistas sonnet
independientes, muestra determinista de 30 piezas. El vocabulario borrador dio κ 0.889/0.787 (prosa/tipado); el de DDD/hexagonal κ 0.774/0.857 — un empate estadístico resuelto por la regla vigente de que gana el término establecido, y después resuelto de frente por enmienda: añadir un rol que cubría el hueco medido (tooling) subió el conjunto establecido a κ 0.854/0.914, la mejor celda del estudio, con tooling llevándose 30/30 votos (s1-vocabulary-agreement-results.md; votos: s1-.tsv, s1b-.tsv).
- La división del término de dos referentes. El término del borrador que cubría a
la vez una máquina de estados con revisión y una escalera de adquisición por etapas se resolvió en aggregate (6/6) y pipeline (5/6) respectivamente — una palabra había sido dos clases (s1-vocabulary-agreement-results.md, «La división … confirmada»).
- El panel nunca se abstiene. En 540 votos,
unclassifiedse eligió cero veces
pese a ser legal y estar instruido — «nunca adivines más allá de la evidencia» no sobrevive al contacto con una enumeración cerrada a menos que la abstención esté forzada estructuralmente.
- La deriva ya es una serie de tiempo (S4). Puntos mecanizados: historias de
usuario 251 (08-13) → 268 (08-14), con el conteo a mano del 08-12 (248) como línea base previa a la serie; 52 números de sprint duplicados estables entre las dos corridas; 257 de 268 archivos sin encabezado de metadatos (s4-s5-results-2026-08-14.md, incluida la corrección del 2026-08-15 — una corrida de auditoría del 08-13 era anterior a la afirmación del «primer punto de datos», encontrada consultando run_measurement y no por memoria; cron diario: docs/runbooks/corpus-audit-cron.md).
- La derivación de oráculos varía con la forma del criterio de aceptación (S5,
n=6). Los criterios enumerados produjeron oráculos de prueba semánticamente más parecidos que los criterios con adverbios de modo (Jaccard 0.559 contra 0.479); el peor elemento (0.329) fue «se dibuja correctamente subiendo por los parent_ids». Factor de confusión declarado: la dispersión de cuentas se invirtió (1.67 contra 1.00) porque las enumeraciones compuestas o redundantes divergen en la atomicidad de las aserciones. Y en un criterio con adverbio, los tres panelistas derivaron de forma idéntica una aserción negativa que la línea nunca enuncia — un prior compartido y denso enmascara el defecto hasta que el prior deja de ser compartido.
- Perfil de adverbios. Los adverbios vagos que se hipotetizaban están casi
ausentes de 268 historias de usuario (properly 10, quickly 4, significantly 0); los adverbios dominantes son restricciones (only 2,395, exactly 327, silently 317) — la hipótesis de categoría quedó falsada y se reemplazó por una regla de residuo (WORD-CHOICE.md §5).
- La prohibición falla donde el mecanismo aguanta. El hook del léxico atrapó una
frase prohibida dentro del mismísimo documento que argumentaba a favor de la prohibición, bajo la máxima saliencia y motivación (rule-decay.md:85-98).
DERIVADO DE FUENTE (precedente externo calificado):
- Contra la cosecha de Palantir: 11 afirmaciones CONFIRMADAS, 0 CONTRADICHAS, 3
IMPLEMENTADAS-DE-OTRA-FORMA, 4 AUSENTES (prior-art-evaluation-vocabulary-ontology.md). La más fuerte: identidad contra observación como doctrina de producción — el mismo corte entre continuante y ocurrente que diagnosticó el término de dos referentes (palantir-foundry-aip-ontology-harvest.md:82,115).
- El modelo de medición de diez capas: una secuencia de etapas que termina en una
asignación de causa son las capas 1 a 6 más un paso de atribución de capa 9, nunca una sola tubería plana (docs/planning/MEASUREMENT-LAYERS-DECOMPOSITION.md; trasladado a architectural-vocabulary-ontology.md §3).
INFERENCIA (enunciada como tal):
- La estructura es una interacción, no un efecto principal: la presentación tipada
subió al vocabulario establecido (+0.083 κ) y bajó al borrador (−0.102). Un solo 2×2 con n=30; la inversión en el WorkerPacket avanza por precedente, con esto sostenido como advertencia.
- La dirección de S5 más la evidencia del mecanismo de decaimiento de reglas predicen
juntas que las reglas de elección de palabra acabarán ganándose un mecanismo — pero n=6 no autoriza uno todavía.
Límites
Un repositorio, un modelo de panel (sonnet), 30 de 392 piezas, 6 líneas de criterio de aceptación, un día. La κ entre números de categorías distintos solo es comparable a grandes rasgos (dicho en el documento de S1). La métrica de S5 no aísla la atomicidad. Cada «siempre» de arriba significa «en esta muestra».
2. Plan de incorporación
Aterrizado en esta sesión (mecanismo vivo, nada que hacer):
1. Vocabulario ratificado ddd-hexagonal-v2 — conjunto de renglones semilla en TSV más renglones de léxico que prohíben los tres términos acuñados perdedores más los roles listados como CONSERVAR (lexicon.tsv; architectural-role-vocabulary.tsv). 2. Serie de deriva S4 — cron diario a las 06:00, con su runbook guardado. 3. 90 renglones de clasificación y 22 métricas en corpus_sourcecode (los artefactos de git son la fuente de verdad según el ADR 0041).
Propuesto y a la espera — cada uno nombra su mecanismo decisor; el operador ratifica:
4. Restricción CHECK sobre crate_classification.architectural_role para la v2 — mecanismo: una migración; bloqueado solo por el visto bueno del operador. 5. Renglones del operador para las dos ambigüedades estables — la pieza de geografía (bounded_context contra value_object) y la pieza de plataforma de API (application contra infrastructure) — mecanismo: anulaciones del operador en crate-classifications.tsv; hasta entonces quedan como renglones de modelo con 0.67 de confianza. 6. Abstención forzada — añadir un campo de confianza por elemento (y una ruta explícita de «me abstengo») a todo esquema de panel futuro, para que «nunca adivines» sea comprobable; motivado por 540 de 540 no abstenciones. 7. Renombrado de piezas y módulos a los términos de la v2 — mecanismo: un sprint de Gate 1 por lote de renombrado; secuenciado deliberadamente después de la evidencia de clasificación (harness-design-notes-2026-08-12.md:199-202). 8. Un S5 más grande con una métrica controlada por atomicidad antes de cualquier hook de elección de palabra; hasta entonces WORD-CHOICE.md se queda como guía de revisión. 9. Huecos de la herramienta de auditoría #240 (métrica del sufijo de entrada de sesión), #241 (tamaño del vocabulario por versión) — mecanismo: los issues ya están levantados. 10. Conversiones por la regla 14 — los scripts de extracción, acuerdo y emisión de SQL de S1 y S5 se vuelven subcomandos de tools-org-knowledge corpus (libro: s1-vocabulary-agreement-results.md).
3. De corrida a mano a proceso compilado
Cada juicio que esta sesión ejecutó a mano corresponde a una Acción tipada en la tubería de recepción (harness-design-notes-2026-08-12.md §4), atada a mecanismos que la cosecha ya calificó como FACT-A:
| Hecho a mano en esta sesión | Como Acción tipada | Precedente de Palantir (cosecha) |
|---|---|---|
| Invocación del panel (18+3 subagentes, instrucciones compuestas al vuelo) | ScorePanel { sample, vocabulary_version, arms, n } → AgreementReport | el modelo propone, el arnés ejecuta bajo la identidad de quien llama (:45,:108) |
| Consenso más inserción en la base (scripts) | RecordClassification { report } → renglones con provenance_class impuesto | todas las escrituras por Acciones tipadas; en preparación por omisión (:36,:107) |
| Registro de la ratificación (ediciones de documento) | Ratify { decision, evidence } → renglón semilla en TSV + entrada en el documento, con permiso solo para el operador | permisos por acción; las personas fusionan (:33,:107) |
| Construcción de la carga (resúmenes de pieza, solo hechos) | compilador de paquetes con proyección de contexto por clase | lista de propiedades permitidas, configurada y no pedida en la instrucción (:46,:111) |
| Métricas de acuerdo (scripts) | evaluación que afirma sobre salidas intermedias, con resultados a run_measurement | parámetros intermedios de AIP Evals (:50,:113) |
Lista de cosas a evitar, tomada textualmente de los cinco modos de falla principales de la cosecha: espejar el esquema de origen; pudrición ontológica (la serie S4 es la contramedida); que las ediciones siempre ganen más el relleno por IA erosionando la confianza (provenance_class más confidence, nunca una sobrescritura silenciosa); que el costo de curaduría caiga sobre las personas (derivar mecánicamente, ratificar semánticamente); el amarre a un proveedor (archivos del repositorio más Postgres simple, serialización abierta). La única novedad no reclamada, exactamente como está en la fuente: no existe ningún esquema de ontología del ciclo de vida de desarrollo publicado (cosecha:132) — el de este repositorio es nativo del repositorio y abierto por construcción.
4. Addendum — las tablas de referencia de trabajo
Cada renglón se rastrea a una ratificación o a una medición; los renglones sin ninguna de las dos se omiten, y las omisiones se declaran.
4a. Vocabulario (el ratificado ddd-hexagonal-v2)
| Término | Definición (tal como se le dio al panel de S1b) | Evidencia | Imposición |
|---|---|---|---|
| entity | tipo de objeto de dominio que porta identidad | ninguna pieza de la muestra resolvió a él (hueco de muestra, declarado) | TSV semilla; léxico CONSERVAR |
| value_object | valor de dominio inmutable, igualdad por atributos | la pieza de dinero 6/6 | TSV semilla; léxico CONSERVAR |
| aggregate | racimo de consistencia bajo una sola raíz | approval-workflow tipado 3/3 (dividido en prosa — hacen falta los campos tipados) | TSV semilla; léxico CONSERVAR |
| bounded_context | módulo de dominio con su propio modelo y su frontera de lenguaje | la pieza de acuerdos 6/6 | TSV semilla; léxico CONSERVAR; destino prefer del léxico |
| capability | capacidad técnica reutilizable ofrecida como servicio | audit-log, knowledge-index, prompts 6/6 cada una | TSV semilla; léxico CONSERVAR |
| port | interfaz o contrato en una frontera | 1 voto en total de 540 (casi sin uso a granularidad de pieza, declarado) | TSV semilla; léxico CONSERVAR |
| adapter | ata un port o una capability a una tecnología | los nueve envoltorios forge más dos piezas de protocolo, 30/30 en la v2 | TSV semilla; léxico CONSERVAR |
| pipeline | transformación ordenada de varias etapas | el fragmento de prosa 6/6; acquire 5/6 | TSV semilla; léxico CONSERVAR; destino prefer del léxico |
| application | aplicación de usuario final / raíz de composición | dividida en la pieza de API (0.67) — ver punto 5 del plan | TSV semilla; léxico CONSERVAR |
| infrastructure | sustrato técnico sobre el que se para el sistema en ejecución | la etiqueta rival de la pieza de API (0.67) | TSV semilla; léxico CONSERVAR |
| tooling | herramienta de desarrollador u operador para trabajar SOBRE el sistema | 30/30, cerró todo el hueco de la v1 | TSV semilla; léxico CONSERVAR |
| unclassified | ninguna encaja con confianza; respuesta legal | elegida 0 de 540 veces — necesita abstención forzada (punto 6 del plan) | TSV semilla |
4b. Clases de ontología (cuatro dimensiones más la corrección de capas)
La tabla completa es architectural-vocabulary-ontology.md §2 — referenciada, no repetida (STYLE.md §4). Lo que ata: para cada término de la v2, su clase (continuante u ocurrente), su identidad, su papel de frontera y su dirección. Corrección en vigor: un pipeline cuya etapa final asigna una causa son las capas 1 a 6 más un paso de atribución de capa 9 (el modelo de diez capas); la frontera entre niveles se mantiene explícita. Abierto: nada más — la tabla está completa sobre la v2.
4c. Relaciones del grafo (aristas tipadas sobre la v2)
bounded_context CONTAINS aggregate | entity | value_object | capability
aggregate COMPOSES entity + value_object (la raíz IS-AN entity)
capability USES entity | value_object
pipeline COMPOSES capability (ordenado; la etapa final de atribución es la capa 9)
port EXPOSES capability
adapter IMPLEMENTS port
application COMPOSES bounded_context (vía port + adapter)
policy CONSTRAINS aggregate | pipeline (ABIERTO: la casa de policy — conjunto de
reglas contra criterio de admisión contra
servicio de dominio — va a una corrida de
calificación, no se decide aquí)
No es una jerarquía (language-as-archetecture.md:688-690): solo las aristas CONTAINS y COMPOSES están siquiera parcialmente ordenadas.
4d. Frases (de cara al operador, por categoría gramatical)
| Categoría | La única comprobación |
|---|---|
| nombres propios | reutilizar = el mismo referente; acuñar = no hay término establecido + se define al nacer + queda registrado por el hook |
| sustantivos comunes | ¿está establecido? ¿tiene un solo referente (se puede buscar)? ¿implica 3 o más consecuencias comprobables? |
| verbos | «X el ___, produciendo ___» — los dos huecos forzados, o un verbo más afilado |
| adjetivos | en un criterio de aceptación: una variante de enumeración o un umbral, si no bórralo; en prosa: el hecho que hay debajo |
| adverbios | un adverbio de modo en un criterio de aceptación = una enumeración sin escribir; only/exactly/never se quedan; deliberately se queda |
Reglas completas: WORD-CHOICE.md. Sustituciones a nivel de frase ya en vigor: la tabla de vocabulario del ADR-0028 y la tabla de nombre-de-trabajo → término establecido de la §3 de harness-design-notes — citadas, no repetidas.
4e. Procedimientos (qué decisión corre por qué mecanismo)
| Decisión | Mecanismo |
|---|---|
| calificar un término disputado | corrida de panel según el método h8 (agentes independientes, enumeración cerrada, métrica de acuerdo) |
| ratificar a un ganador | el operador, registrado en el documento de resultados más el conjunto de renglones semilla |
| imponer un término ratificado | renglón de léxico (subcadena en prosa o código) · validación de ingesta (enumeración) · restricción CHECK (pendiente, punto 4 del plan) |
| medir la deriva | corpus audit, cron diario (runbook: corpus-audit-cron.md) |
| retirar una regla contra conservarla | evidencia de la serie S4/S5 más las señales de decaimiento de reglas; el operador ratifica |
4f. Políticas (invariante · mecanismo · o, honestamente, una convención)
| Invariante | Mecanismo |
|---|---|
nunca adivines más allá de la evidencia (unclassified es legal) | convención — 0 de 540 abstenciones lo demuestran; el punto 6 del plan es el mecanismo que se debe |
| los renglones de modelo nunca sobrescriben los del operador | llave primaria (pieza, vocabulary_version, provenance_class) — mecanismo |
| las bases derivadas nunca tienen autoridad | ADR 0041; los artefactos de git se guardan primero — mecanismo por procedimiento, comprobado por hooks solo en parte |
| la carga de la prueba recae en el término acuñado | cabecera del léxico más el hook de Gate 1.3 — mecanismo al nivel de la palabra, convención al nivel del concepto |
| ninguna atribución en los artefactos | hook previo al commit — mecanismo |
5. Fragmentar hacia la IA — la mediación semántica como disciplina de proyección
El principio (language-as-archetecture.md:520): el software local observa, analiza y transforma datos privados, revelándole a la IA únicamente la representación semántica más pequeña que baste para un problema estrechamente definido. La unidad es el fragmento estructural (:477): conteos, tipos, niveles de encabezado, identidades opacas, transiciones de estado — nunca contenido de origen.
Este repositorio ya los construye: domain-prose-shard (el NIVEL del encabezado y estadísticas por párrafo, con el texto del cuerpo nunca dentro del fragmento), domain-table-shard, domain-transcript-shard (la familia del ADR 0035) e infrastructure-dom-reduce (dos trabajos a la vez: meter una página grande en el contexto de un modelo pequeño Y mantener el contenido de la página fuera de lo que sea que lea el resultado — según su propia descripción de pieza).
El proceso de mediación de once pasos (:524-536) es la receta para todo paquete que va hacia la IA: observar localmente → normalizar de forma determinista → aplicar las reglas conocidas → aislar el residuo → fijar la pregunta exacta → definir el tipo de respuesta permitido → quitar lo que no pueda afectar la respuesta → pedir la inferencia → verificar localmente → preservar la interpretación aceptada → compilar el comportamiento repetido en mecanismo.
S1 fue un ejemplo trabajado en vivo de exactamente esto, y es por lo que la propiedad anti-alucinación se sostuvo por construcción: los panelistas recibieron solo {nombre, ruta, propósito, dependencias} (paso 7 — nada más podía afectar la elección de rol), una pregunta fija y una enumeración cerrada (pasos 5 y 6), sin acceso al repositorio (el paso 1 se quedó local); el acuerdo se calculó localmente (paso 9), el consenso se preservó como renglones sellados con su procedencia (paso 10), y las partes repetibles quedaron anotadas para compilarse en tools-org-knowledge (paso 11, regla 14). La misma forma es la proyección de contexto a nivel de propiedad de Palantir (cosecha:46,:111) — «configurado, no pedido en la instrucción» — a la que se llegó de forma independiente desde el lado de la privacidad.
Cómo descomponer el trabajo para la IA, dicho como regla: nunca le entregues el artefacto al modelo; entrégale el fragmento que la pregunta fija necesita, con el tipo de respuesta cerrado. Si el fragmento no se puede definir, la pregunta todavía no es lo bastante estrecha como para delegarla — y estrecharla es trabajo de la persona (o del arnés de recepción), no del modelo.
6. Arneses propuestos a lo largo de los estados del desarrollo, de la recepción al despliegue
Un renglón por estado; los nombres establecidos vienen de la §3 de harness-design-notes. «Existe» cita un mecanismo vivo; «propuesto» nombra su dependencia.
| Estado | Existe hoy (mecanismo) | Arnés propuesto (dependencia) |
|---|---|---|
| recepción | normalización del léxico en el commit (hooks de Gate 1.3) | formulario de recepción estructurado: normalización tonta más entrevista tipada solo sobre el residuo (§4, la división tonto/listo) |
| requisitos (historias de usuario) | la convención del documento de sprint; S4 mide su deriva (257 de 268 sin encabezado de metadatos) | un generador que emita metadatos tipados más una función clase → ruta y nombre (el #240 cierra el hueco de la métrica) |
| clasificación de clase | el vocabulario v2 más el procedimiento de panel (este estudio) | las Acciones ScorePanel/RecordClassification (tabla de la §3) |
| búsqueda de capacidades | capability-index.tsv | consulta al índice dentro de la compilación del paquete (todavía sin columna architectural_role — anotado en la §3 de las notas del arnés) |
| selección de patrón | — (falta el registro, mapa de artefactos de las notas del arnés) | registro de patrones, punto 4 del orden de construcción |
| plan / paquetes de trabajo | entregas en prosa; la forma del WorkerPacket está especificada (language-as-archetecture.md:1028-1039) | compilador de paquetes con proyección de contexto basada en fragmentos (§5) |
| implementación | Gate 2 con pruebas primero (/tdd) | corredor de pasos: inyección temporal, bocetos tipados, «terminado» en manos de una sonda (§5 de las notas del arnés); sustrato infrastructure-agent |
| verificación | Gate 3 CONTRACT_DIFF más tools-browser-test | evaluaciones que afirman sobre salidas intermedias tipadas, con resultados a application-test-results (cosecha:50) |
| revisión | agente revisor del Gate 4 | paneles de verificación adversaria donde un hallazgo pueda fallar de más de una forma |
| despliegue | puertas de empuje (linaje de migraciones previo al push, observado en vivo) | puertas con solucionador de restricciones: rangos de dependencia declarados en el manifiesto; ventana de supresión al fallar, con la reversión siempre exenta (cosecha:72-75); artefacto de contrato de despliegue (faltante, §3 de las notas del arnés) |
| retrospectiva / captura de conocimiento | run_measurement más el cron diario de auditoría; /retro | curva de calibración de lo estimado contra lo real → enrutamiento mecánico (S6; bloqueado por el emisor del corredor de pasos) |
El hilo conductor: el arnés de cada estado son los mismos tres movimientos — tipar el artefacto, proyectar el fragmento, y que «terminado» lo decida una sonda — aplicados a otro nivel. Los estados donde los tres existen ya están tranquilos (commit, verificación); los estados que siguen corriendo sobre prosa (recepción, plan, contrato de despliegue) son de donde salen los números de deriva de esta sesión.
7. Ruta de lectura para alguien nuevo (cinco documentos, en orden)
1. docs/reference/WORD-CHOICE.md — cinco comprobaciones antes de escribir tu siguiente historia; la única página que necesitas antes de aportar prosa. 2. docs/research/s1-vocabulary-agreement-results.md — por qué el vocabulario es el que es: la medición, la ratificación, las ambigüedades residuales. 3. docs/research/architectural-vocabulary-ontology.md — qué clases de cosas existen y cómo se relacionan; la división continuante/ocurrente que diagnosticó la falla. 4. docs/research/study-programme-handoff.md — qué está medido, qué está ratificado, qué se sigue debiendo (S6), y qué decisión condiciona cada estudio. 5. docs/research/prior-art/palantir-foundry-aip-ontology-harvest.md — el precedente industrial calificado: diez mecanismos que robar, cinco fallas que evitar, y el territorio no reclamado al que entra este programa.
8. Diagramas — flujo de señal y modelo de grafo, como se hizo contra como se recomienda
8a. Flujo de señal tal como se hizo en esta sesión (el ciclo medido)
Cada flecha de abajo se ejercitó al menos una vez el 2026-08-14; ninguna es aspiracional.
petición del operador (prosa libre)
│
│ reescritura del lado humano: las cinco comprobaciones de WORD-CHOICE
│ (verbos forzados · sustantivos cerrados · sin adjetivos sin respaldo)
▼
instrucción tipada ───────────► documento de investigación (git, guardado)
│ │
│ ▼
│ el operador RATIFICA ───────────────┐
▼ ▼
corrida de panel aterriza el mecanismo:
carga fragmentada (solo hechos) renglón de léxico
enumeración de respuesta cerrada renglones semilla en TSV
n agentes independientes cron diario de auditoría
│ │
▼ ▼
métricas de acuerdo ──► run_measurement (serie de tiempo) ◄── corpus audit
│ │
└──── artefactos de git ◄──┘
(TSV de votos, documento de resultados = fuente de verdad, ADR 0041;
los renglones de la base son derivados, con procedencia sellada)
El único salto manual del ciclo — la reescritura del lado del operador, arriba — es exactamente la entrada que el arnés no puede arreglar (la premisa fundadora de operator-word-choice-handoff.md), y es el paso que la §8c mueve hacia la recepción tonta/lista del plano de control.
8b. Modelo de grafo de la ontología ratificada (términos v2, aristas tipadas)
application
│ COMPOSES (conectado vía port + adapter)
┌───────────────┴────────────────┐
▼ ▼
┌─ bounded_context ──────────────┐ ┌─ bounded_context ─┐
│ │ │ … │
│ aggregate │ └───────────────────┘
│ ├── entity (raíz, IS-AN) │
│ └── value_object │
│ │
│ capability ◄── USES ── entity │
│ │ │
└──────┼─────────────────────────┘
│ EXPOSES (a través de la frontera)
▼
port ◄── IMPLEMENTS ── adapter ── se para sobre ── infrastructure
▲
│ COMPOSES (etapas ordenadas;
│ una etapa final que asigna causa es atribución de capa 9,
│ fuera del nivel de etapas — modelo de diez capas)
pipeline
tooling ── trabaja SOBRE el sistema, no es parte de él (30/30 medido)
policy ─── CONSTRAINS aggregate | pipeline (su casa sigue ABIERTA → corrida de calificación)
No es una jerarquía: solo las aristas COMPOSES y CONTAINS están siquiera parcialmente ordenadas (language-as-archetecture.md:688-690).
8c. Flujo de señal como se recomienda — el plano de control al que apunta la investigación
El mismo ciclo con el salto manual absorbido y cada hueco de criterio cercado (§4-§5 de harness-design-notes-2026-08-12.md; mecanismos de Palantir según las calificaciones de la cosecha):
petición del operador (prosa libre — la ÚNICA entrada sin tipar que queda)
│
│ [tonto] normalización del léxico — cada sustitución registrada como renglón
│ [tonto] detección de residuo — los términos sin definir se marcan mecánicamente
▼
[listo] entrevista tipada — pregunta SOLO sobre el residuo, con respuestas tipadas
▼
[tonto] registro de intención — renglón versionado; ESTO es el oráculo
▼
[tonto] compilador de paquetes — proyección de fragmento por clase (§5):
fijar la pregunta → cerrar el tipo de respuesta →
quitar todo lo que no pueda afectar la respuesta
▼
[listo] solo huecos de criterio — clase de dificultad, orden, reparto entre subagentes
▼
[tonto] corredor de pasos — inyección temporal · bocetos tipados ·
«terminado» en manos de una sonda, nunca de la afirmación del modelo
▼
[tonto] puertas de despliegue — rangos de dependencia declarados en el manifiesto,
ventana de supresión al fallar, reversión siempre exenta
▼
run_measurement ── calibración de lo estimado contra lo real ──► enrutamiento
se compila de
criterio a
mecanismo ajustado
Leyendo los dos flujos uno contra otro: el 8a ya tiene la FORMA correcta (entrada tipada, calificación independiente, ratificación humana, mecanismo, medición) — lo que añade el 8c es que ningún paso listo toca jamás un artefacto sin proyectar, y ningún paso listo es nunca dueño de «terminado».
8d. Recomendaciones (cada una cita dónde los artículos ya lo establecen)
1. Absorber la reescritura del operador dentro de la recepción. Las cinco comprobaciones de WORD-CHOICE corrieron en la cabeza del operador en esta sesión; los dos pasos tontos del 8c más la entrevista solo sobre el residuo las vuelven mecánicas (§2 del plan; §4 de harness-design-notes). Mata: la ambigüedad entrando por arriba. 2. Forzar la abstención estructuralmente. 0 de 540 votos unclassified demuestra que una instrucción no puede sostenerla; todo esquema de panel recibe un campo de confianza y una ruta de abstención (§2 punto 6). Mata: clasificaciones adivinadas endureciéndose en renglones. 3. Todo paquete que va a la IA es un fragmento. La disciplina de carga de S1 (§5) se vuelve el contrato del compilador de paquetes — si el fragmento no se puede definir, la pregunta todavía no es delegable. Mata: la fuga de contenido Y las aserciones inventadas por un prior (el hallazgo de la negativa no forzada de S5). 4. «Terminado» en manos de una sonda en cada estado. El hilo conductor de la §6 aplicado a los estados que siguen corriendo sobre prosa (recepción, plan, contrato de despliegue) — los estados de donde salen los números de deriva de S4. Mata: el ciclo de disculpas (§5 de harness-design-notes). 5. Ratificar solo por la ruta registrada. petición → documento → operador → renglón semilla o de léxico — la ruta que la transcripción de la §9 muestra funcionando cinco veces en un día; que sea la única ruta de escritura para el vocabulario (una Acción Ratify tipada, §3). Mata: el reacuñado silencioso.
9. Apéndice — la transcripción de sesión que produjo estos documentos
Mensajes del operador textuales (con la ortografía tal como se mandaron); las respuestas comprimidas al artefacto producido. Las respuestas completas están en el registro de la sesión; cada artefacto está guardado. (Se conservan en inglés: son citas textuales, y el texto exacto que se envió es el hecho que se registra.)
| # | Operador (textual) | Respuesta → artefacto (commit) |
|---|---|---|
| 1 | "read and output the full prompt here rust-primitives/docs/research/operator-word-choice-handoff.md" | la instrucción reproducida en el chat |
| 2 | "run it" | WORD-CHOICE.md — guía de elección de palabra en cinco categorías; la hipótesis de los adverbios falsada por conteo (3f3d4924) |
| 3 | "convert this to unambiguous model language: What words structure architecture ontology semantics taxonomies should I switch to and refactor my code accordingly" | reescritura en cuatro pasos calificar→ratificar→planear→aplicar, en el chat |
| 4 | "do no run this do not replace any files only create it as a research document that shows what words we should be using. re-output the previous as a prompt before engaging" | recommended-architectural-vocabulary.md — el mapeo predicho de términos B (75e2de25) |
| 5 | "now reproduce the prompt this time examining the ontological dimensions" | architectural-vocabulary-ontology.md — diagnóstico continuante/ocurrente, cuatro dimensiones, aristas tipadas (99a5911b) |
| 6 | "output a prompt per our findings for 'What other studies should we conduct in order to get to the future me place of correct development processes with fixed naming and meanings that conform to unambiguous understanding by the model'" | instrucción del programa de estudios, en el chat |
| 7 | "run it" | study-programme-handoff.md — S1 a S6 con campos tipados más grafo de dependencias (2bf706ca) |
| 8 | "write a prompt for this following our model communication hypothesis 'and add this into the context /home/nwheelo/projects/rust-primitives/docs/research/prior-art/palantir-foundry-aip-ontology-harvest.md and evaluate" | instrucción de evaluación con enumeración cerrada de veredictos, en el chat |
| 9 | "run it" | prior-art-evaluation-vocabulary-ontology.md — 18 afirmaciones: 11 CONFIRMADAS / 0 CONTRADICHAS (3d67fe19) |
| 10 | "ratify the S2/S3 fast path" | ratificación registrada; S2→brazo de confirmación, S3→telemetría (46250ac3) |
| 11 | "run S1" · a media respuesta: "remember document all steps in this session for rule 14" | panel 2×2 de S1, 360 votos, empate estadístico más el libro de la regla 14 (a804d624) |
| 12 | "ratify B plus tooling role and rerun the panel" | S1b: ddd-hexagonal-v2, κ 0.914, la mejor del estudio, tooling 30/30 (05cc3b2d) |
| 13 | "enter the v2 terms into lexicon.tsv" | sección de vocabulario ratificado del léxico; tres términos acuñados prohibidos, doce roles CONSERVAR (b8898a22) |
| 14 | "thre are still studies" · a media respuesta: el modelo de diez capas compartido ("consider this we just added it to the original session…") | primer punto de datos mecanizado de S4 más la corrida de S5 con n=6 más la corrección de capa 9 (9639980a) |
| 15 | "schedule the audit cron" | crontab diario a las 06:00 más runbook (6248599b) |
| 16 | "create a correct prompt following the research data: 'create a study article from a consolidation of the facts found in our research. create a plan and make suggestions on how to incorporate the data into our process. And discuss how this could become programmatic with fixed words and meanings across a future perfect ideal process that can create a harness to develop software better like palantir'" | instrucción del artículo de estudio, en el chat |
| 17 | "add this: create an addendum of the perfect phrases ontologies semantics taxonomies graph relationsihops and proceedures policies to use" | especificación del addendum (tablas a–f) añadida a la instrucción |
| 18 | "proceed to run this. Also us mm to send me the pdfs to my email accuont" · interrupciones: "can you also include a section 5 on sharding to ai and how to break it down using semantic mediation" · "and maybe section 6 proposed harnesses through the states of development from intake to deployment" | este artículo, secciones 1 a 7 (74eae670); seis PDF enviados por correo (mm 1a0024fae30e2edb) |
| 19 | "did you include attache them ? send the included also" | sí (6 adjuntos); once PDF de fuentes citadas enviados (mm 1a00251b228bef25) |
| 20 | "Edit this. Add the transcript from me and your responses that lead to the creation of the documents. In the articles include signal flow and graph model diagrams…" | esta versión: §8 diagramas más recomendaciones, §9 esta transcripción |
La transcripción es ella misma evidencia para la §8a: veinte turnos, cinco ratificaciones, cero decisiones relitigadas — el ciclo petición→documento→ratificar→ mecanismo aguantó una jornada completa, con el operador en el asiento de desempate y cada decisión aterrizando en un artefacto guardado.
9b. Las instrucciones redactadas, textuales
La mitad del ciclo que le tocaba al asistente: cada petición del operador se convirtió en una instrucción tipada antes de ejecutarla. Reproducidas exactamente como se emitieron en la sesión, en inglés, por ser el texto que de hecho se ejecutó.
P1 — turno 3, la reescritura a lenguaje de modelo sin ambigüedad:
1. Score, don't argue: run H8 per docs/research/h8-vocabulary-scoring-handoff.md —
vocabulary A (draft: domain_type/primitive/archetype/…) vs B (DDD/hexagonal:
entity/aggregate/bounded_context/port/adapter), 2×2 with presentation structure,
over the ~300-crate estate. Output: agreement rate per vocabulary + disagreement cases.
2. I ratify the winners into lexicon.tsv (terms enter as prefer-rows; losers as banned synonyms).
3. Emit a rename plan from the classification rows: each crate/module/symbol named with a
losing term → current name, ratified name, citers. No renames before ratification.
4. Apply the plan in dependency order, one crate per PR, Gates 1–6 each.
P2 — turno 4, la reducción a documento de investigación:
Create docs/research/recommended-architectural-vocabulary.md — a research document ONLY.
Do not run H8. Do not edit lexicon.tsv, any DDL, or any existing file. No renames.
Content: for each vocabulary-A draft term (domain_type, primitive, archetype, component,
domain_module, application, support), the recommended established replacement from
vocabulary B (DDD / hexagonal), reasoned per docs/reference/WORD-CHOICE.md's three-question
check (established? single-referent? entailment-dense?). Split `archetype` into its two
senses per h8-vocabulary-scoring-handoff.md:56-82 before mapping. Point to, don't restate,
the harness-design-notes §3 pipeline-stage table for the phrase-level substitutions.
Status header: proposal, unratified — predictions from the training-data-density rule;
H8 is the experiment that tests them; the operator ratifies. Commit the one new file.
P3 — turno 5, las dimensiones ontológicas:
Create docs/research/architectural-vocabulary-ontology.md — a research document ONLY.
Do not run H8. Do not edit lexicon.tsv, DDL, or any existing file. No renames.
This extends recommended-architectural-vocabulary.md one level down: not WHICH word, but
WHAT KIND OF THING each recommended class predicates. For each B-term (entity, aggregate,
value_object, bounded_context, capability, port, adapter, pipeline, application,
infrastructure): state its ontological dimensions — identity (id-bearing vs value),
temporality (static structure vs staged sequence), boundary (owns a consistency/language
boundary or lives inside one), directionality (offers vs requires), and the is-a /
part-of / depends-on relations between the classes. Ground it in
language-as-archetecture.md §15 (ontology before architecture), §17 (architectural
ontology), §19 (lexicon vs taxonomy vs ontology vs grammar), and STYLE.md §2
(classification is attribution — defeasible, assigned from evidence, never given).
Status header: proposal, unratified; same falsifiers as the vocabulary doc.
P4 — turno 6, el programa de estudios:
Create docs/research/study-programme-handoff.md — a research document ONLY. Do not run any
study, edit lexicon.tsv, or touch existing files.
Question: working backward from the end state already assumed in
operator-word-choice-handoff.md (harness perfected, naming fixed, meanings stable,
model interpretation unambiguous), enumerate the studies still required to get there —
the gap between what is measured today and what that end state requires proven.
Ground in what exists; cite, don't re-derive: H8 pending (h8-vocabulary-scoring-handoff.md,
including its 2x2 vocabulary-x-structure axis) · the empirical_hypotheses and
falsification_conditions sections of language-as-archetecture.md (~:2147, :2163) ·
measured drift (harness-design-notes-2026-08-12.md §8) · rule-decay.md (which written
rules survive) · the adverb frequency count (WORD-CHOICE.md §5) · run_measurement +
crate_classification (corpus/0001_corpus_init.sql) as the storage every study writes to.
For EACH proposed study, five typed fields, none omitted:
hypothesis — one falsifiable sentence
method — panel/corpus/A-B design; independent agents where agreement is the metric
metric — the number produced, and the threshold that decides
data source — a file/table that exists in this repo today (file:line), else state
"requires new instrumentation" explicitly
decision gated — which ratification the result unlocks, and that the operator ratifies
Order the studies by dependency (which unlocks which), not importance. Name each study by
an established experimental term (agreement study, ablation, longitudinal drift measurement,
calibration curve) — no coinages. An area where no study is needed because the mechanism
already enforces the property is a finding: list those separately as "closed by mechanism".
Status header: proposal, unratified. End with the dependency graph in one text block.
P5 — turno 8, la evaluación del trabajo previo:
Read docs/research/prior-art/palantir-foundry-aip-ontology-harvest.md in full FIRST — it
is the required context for everything below: the graded industrial precedent whose design
consequences harness-design-notes-2026-08-12.md §9 already distilled (cite that section,
don't re-derive it).
Create docs/research/prior-art-evaluation-vocabulary-ontology.md — a research document
ONLY. Do not run any study, edit lexicon.tsv, or touch existing files.
"Evaluate" means, concretely: for each claim in this session's four documents —
docs/reference/WORD-CHOICE.md, docs/research/recommended-architectural-vocabulary.md,
docs/research/architectural-vocabulary-ontology.md,
docs/research/study-programme-handoff.md — classify its relation to the Palantir
precedent into exactly one of a closed enum:
CONFIRMED — they built the equivalent and it held in production; cite where
CONTRADICTED — they tried it and it failed; cite the failure and its cause
IMPLEMENTED-DIFFERENTLY — same problem, different mechanism; name both mechanisms
ABSENT — no precedent exists; state whether that strengthens the
novelty claim or just leaves the idea untested
Every classification cites file:line on BOTH sides (our doc and the harvest doc).
An absence is a finding, never a gap to paper over.
Output: one table per evaluated document (claim | verdict | our cite | their cite | one-line
reasoning). End with the delta to study-programme-handoff.md's dependency graph: which of
S1-S6 the precedent answers or reprioritizes without running, and which it cannot answer
because Palantir published no SDLC ontology schema (harness-design-notes-2026-08-12.md:222-225).
Status header: proposal, unratified; the operator ratifies any reprioritization.
P6 — turno 16, el artículo de estudio (el encargo de este mismo documento):
Create THREE artifacts, in this order, each grounded in the session's measured record —
cite file:line, never re-derive, never invent a number:
1. docs/research/language-harness-study-2026-08-14.md — a study article consolidating
what was MEASURED, separated by evidentiary class (per language-as-archetecture.md §50:
ESTABLISHED / SOURCE-DERIVED / INFERENCE): the S1/S1b agreement results (κ per cell,
the two-referent split, tooling 30/30 — s1-vocabulary-agreement-results.md), the S4
drift series first point + 08-12 baseline (s4-s5-results-2026-08-14.md), the S5
oracle-derivation result WITH its stated atomicity confound, the adverb frequency
finding (WORD-CHOICE.md §5), the prior-art verdict counts (11 CONFIRMED / 0
CONTRADICTED — prior-art-evaluation-vocabulary-ontology.md), and the rule-decay
mechanism evidence (rule-decay.md:85-98). An article, not a log: thesis first
("vocabulary choice is measurable, and measurement changed the vocabulary"), then
evidence, then limits (n=30 crates, n=6 ACs, one model, one repo).
2. In the same file, a numbered incorporation plan: for each measured finding, the
process artifact it lands in (lexicon row · seed TSV · gate text · WORD-CHOICE rule ·
corpus metric), what is ALREADY landed this session (ratified v2 vocabulary, lexicon
entry, S4 cron) versus what is proposed-and-waiting (CHECK constraint · renames ·
operator rows for the geo/api ambiguities · forced confidence field · larger S5),
each proposal with its deciding mechanism and "operator ratifies" stated.
3. A final section: the path from here to a compiled process — how each judgment this
session performed by hand (panel invocation, consensus, ratification recording,
metric insertion) becomes a typed Action in the harness-design-notes §4 intake
pipeline, keyed to the Palantir mechanisms already graded in the harvest (all writes
through typed Actions · model proposes, harness executes · property-level context
projection · evals on intermediate outputs) AND its top-5 failure modes as the
avoid-list. State the one unclaimed novelty exactly as sourced: no published SDLC
ontology schema exists (harvest:132) — ours is repo-native and open by construction.
Constraints: research document only; no lexicon/DDL/code changes; the three banned
coinages appear only via their lexicon rows, never as live vocabulary; evaluative
adjectives only where a measured number backs them; end with a one-page reading path
for a newcomer (which five documents, in what order, and why).
P7 — turno 17, la especificación del addendum (añadida a P6):
4. In the same file, an ADDENDUM — the working reference tables, one per kind, every row
traceable to a ratification or a measurement (no aspirational rows; a row with neither
is omitted, and the omission is stated):
a. Vocabulary — the ratified ddd-hexagonal-v2 role set, one row per term: term ·
one-line definition (as given to the S1b panel) · measured agreement evidence ·
the lexicon/seed-TSV row that enforces it.
b. Ontology classes — the four-dimension table from
architectural-vocabulary-ontology.md §2 (kind: continuant/occurrent · identity ·
boundary role · direction), updated to v2 terms and carrying the ten-layer
correction (a stage sequence ending in cause-assignment = layers 1-6 + a layer-9
attribution step, MEASUREMENT-LAYERS-DECOMPOSITION.md).
c. Graph relations — the typed edge set (CONTAINS · COMPOSES · USES · EXPOSES ·
IMPLEMENTS · CONSTRAINS) restated over v2 terms, with §15's not-a-hierarchy
caution and the open policy-edge question carried as open.
d. Phrases — the operator-facing phrasing rules by grammatical category
(WORD-CHOICE.md's five checks, compressed to one row each) plus the ADR-0028-style
phrase substitutions already in force, cited not restated (STYLE.md §4).
e. Procedures — which decision runs through which mechanism: score → panel run
(h8 method) · ratify → operator, recorded in the results doc + seed TSV · enforce
→ lexicon hook / ingest validation / CHECK (pending) · measure → corpus audit cron
(runbook cited).
f. Policies — the standing invariants with their mechanism named per Gate 1.3
(a policy with no mechanism is labeled convention, honestly): never guess past
the evidence (unclassified is legal) · model rows never override operator rows
(provenance_class PK) · derived DBs never authoritative (ADR 0041) · burden of
proof on the coinage (lexicon header).
Format: tables a-f are the machine-facing half (fixed columns, one row per term/edge/
rule); each carries a two-sentence prose preamble saying what the table binds and what
it deliberately leaves open. This addendum is the seed of the ontology-as-repo-file
the Palantir-harvest STEAL list calls for (harvest:26, :109) — say so, and state that
compiling it into Postgres is a later, separate step.
9c. Los planes de una línea, textuales
Antes de cada ejecución el asistente emitió un plan de una sola frase (la regla de narración vigente del operador). Reproducidos exactamente, en inglés:
- turno 2 — "Plan in one line: verify branch currency, read the five required sources,
grep real before-examples from docs/userstories/ and the lexicon, then write the operator-facing style guide as one page and commit it."
- turno 7 — "Plan in one line: read the three unread grounds (empirical_hypotheses +
falsification_conditions, rule-decay.md, run_measurement DDL), then write the study-programme doc and commit it."
- turno 9 — "Plan in one line: read the Palantir harvest doc in full, classify each claim
of the four session docs against it with the closed enum, write the evaluation doc, commit with its contract check."
- turno 11 — "Plan in one line: build the S1 panel run — stratified crate sample with
mechanically extracted facts, 3 independent agents per cell across the 2×2 (vocabulary × presentation), agreement computed by script, rows stored to the corpus DB if reachable, results doc committed — per h8-vocabulary-scoring-handoff.md."
- turno 12 — "Plan in one line: record the ratification (seed TSV gains
ddd-hexagonal-v2 = B + tooling), rerun the B panel (6 fresh agents, both arms) on the amended vocabulary, measure, store, commit."
- turno 13 — "Plan in one line: add a ratified-vocabulary section to lexicon.tsv banning
the three losing coinages (safe, low-collision substrings only), record why primitive/component/support are deliberately not banned, note the v2 terms as approved, update the results doc's now-false 'not done' line, contract check, commit."
- turno 14 — "Plan in one line: run the two remaining runnable studies — S4 (drift time
series first data point via the corpus audit tooling) and S5 (oracle-derivation agreement panel over real AC lines); S6 stays blocked on the step-runner."
- turno 15 — "Plan in one line: install the
tools-org-knowledgebinary, add a daily
user-crontab entry running corpus audit with the DB DSN inline, verify one run through the installed path, record the schedule in the repo, commit."
- turno 18 — "Plan in one line: write the four-part study article, commit with its
contract check, then find mm, produce the PDF, and email it to your account."
- turno 20 — "Plan in one line: extend the article (v1.1) with §8 — signal-flow and
graph-model diagrams (as-is, ontology graph, to-be control plane) plus recommendations — and §9 — the verbatim operator transcript mapped to each artifact; commit, re-render, resend the updated PDF."
- turno del empuje — "Plan in one line: read B-017 and the pre-push hook to see which
migration versions diverge from the applied lineage, reconcile per the documented procedure, then push."
9d. Por qué la instrucción se comprime a una línea
Tres razones, una por audiencia y una estructural:
1. Es la regla vigente del operador — «narra: el plan en una línea antes del primer cambio» — y su función es un punto de veto: el plan se anuncia mientras todavía es reversible, antes del primer efecto secundario. 2. Los dos textos sirven a dos lectores. La instrucción completa está escrita para el modelo: completa, tipada, con enumeraciones cerradas, cada restricción deletreada — el paquete. La línea única está escrita para la persona: la comprobación más barata posible de que la INTERPRETACIÓN del modelo coincide con la INTENCIÓN del operador. Esos son los dos primeros nodos de la cadena de falla de la entropía generativa (language-as-archetecture.md:96-98, intención → interpretación), y la línea única saca la interpretación a inspección exactamente en la frontera por donde la deriva entra primero — antes de que se propague a la especificación, al código y a las pruebas. 3. Comprimir es la prueba de comprensión (language-as-archetecture.md §21). Un plan que no se puede comprimir a una frase de verbos forzados con entregables nombrados todavía no está entendido; que no se comprima es la señal de parar y estrechar, igual que funciona la regla de la §5 para delegar («si el fragmento no se puede definir, la pregunta todavía no es lo bastante estrecha»). La línea única es el fragmento del plan: la proyección mínima que le permite a su lector verificar la única cosa que necesita verificar — ¿es esta la tarea que pedí? — mientras la instrucción tipada completa sigue siendo el artefacto ejecutable.
10. Telemetría — qué costaron las corridas y qué dice la base de datos
Consultado el 2026-08-15 desde corpus_sourcecode (:5432) y desde los propios registros de notificación de tareas de la sesión (uso por agente; transcrito a mano a s1-agent-usage-2026-08-14.tsv — ver el hallazgo 1 para por qué esa transcripción es ella misma un defecto).
10a. Corridas registradas en run_measurement
| run_id | métricas | inicio | qué |
|---|---|---|---|
02cc975f… | 49 | 2026-08-13 11:24 | auditoría del corpus — anterior a esta sesión (hallazgo 5) |
s1-2026-08-14 | 8 | 2026-08-14 21:28 | métricas de acuerdo del 2×2 de S1 |
s1b-2026-08-14 | 4 | 2026-08-14 21:40 | métricas de la repetición v2 de S1b |
d8e6102c… | 49 | 2026-08-14 21:47 | auditoría del corpus (corrida de la sesión) |
s5-2026-08-14 | 10 | 2026-08-14 21:50 | métricas de derivación de oráculos de S5 |
e18e2396… | 49 | 2026-08-14 21:53 | auditoría del corpus (verificación por el binario instalado, previa al cron) |
10b. Consenso de clasificación, derivado mecánicamente de crate_classification
| vocabulary_version | renglones | confianza media del consenso |
|---|---|---|
| draft-v1 | 30 | 0.912 |
| ddd-hexagonal-v1 | 30 | 0.945 |
| ddd-hexagonal-v2 | 30 | 0.967 |
Mejora monótona a lo largo de las tres generaciones de vocabulario — el resumen de una línea que la propia base de datos hace de todo el programa.
10c. Uso de los agentes del panel (21 subagentes, todos sonnet, con contexto nuevo cada uno)
| Corrida · celda | Agentes | Tokens medios | Reloj (mín–máx) |
|---|---|---|---|
| S1 · A prosa / A tipado | 3 / 3 | 30,782 / 32,800 | 59–152 s |
| S1 · B prosa / B tipado | 3 / 3 | 30,852 / 32,871 | 51–85 s |
| S1b · v2 prosa / v2 tipado | 3 / 3 | 30,900 / 32,917 | 57–120 s |
| S5 · derivación de oráculos | 3 | 26,651 | 17–26 s |
| Total | 21 | 653,318 tokens; media 31,110 | 25.4 min sumados |
Cada agente hizo exactamente una llamada a herramienta (la lectura de la carga) — «haz exactamente una llamada a herramienta» se sostuvo 21 de 21 veces, en contraste con las clases de decaimiento de reglas en prosa que cataloga rule-decay.md: una instrucción comprobable estructuralmente y sin nada tirando en contra.
10d. El ciclo de agentes, tal como se instruyó
sesión principal (orquestadora)
│ compila la carga fragmentada (solo hechos, §5)
│ + instrucción con enumeración cerrada (definiciones incluidas, abstención legal)
│
├─ despliegue ──► agentes 1..n (sonnet, contexto nuevo, sin estado compartido)
│ │ UNA lectura: el archivo de carga
│ │ cero herramientas más; sin acceso al repositorio
│ ▼
│ el mensaje final ES el dato (30 líneas / JSON estricto)
│◄── notificación de tarea: resultado + tokens + duración ──┘
▼
tabular (script) ──► métricas de acuerdo ──► run_measurement
│ │
▼ ▼
renglones de consenso ──► crate_classification los TSV de evidencia en git = la verdad (ADR 0041)
instancias del ciclo: S1 (12 agentes) ─► el operador ratifica ─► S1b (6 agentes)
─► el operador ratifica ─► entrada en el léxico
S5 (3 agentes) ─► la decisión del hook se detiene en n=6
10e. Hallazgos de mejora (medidos aquí, contra las metas de diseño)
1. `harness_event` está vacía — el mayor hueco que expone esta sección. La tabla construida para exactamente esta telemetría (corpus/0001_corpus_init.sql:70, con fuentes de hook y OTel) no capturó a ninguno de los 21 agentes de la sesión; sus tokens y duraciones sobrevivieron solo en notificaciones del chat y se transcribieron a mano a un TSV — un incumplimiento de la regla 14, registrado como tal. Mejora: un ingestor de notificación a harness_event para que la telemetría de agentes aterrice mecánicamente, igual que ya lo hacen las métricas de auditoría. 2. El sobrecosto de la salida tipada ya es un número: +6.5% de tokens (media de las celdas tipadas 32,862 contra 30,844 en prosa). Frente a la ganancia de acuerdo de S1b, ese precio es despreciable — la dirección del WorkerPacket es barata, y ahora está cuantificada. 3. No existía ninguna política de tiempo de espera: 9× de dispersión en duración (17 s a 152 s) con instrucciones idénticas. La futura Acción ScorePanel debería cargar un tiempo de espera por agente más un presupuesto de reintentos, registrados como predicciones contra valores reales (alimentando la curva de calibración de S6). 4. El tamaño de la carga domina el costo. Los agentes de S5 (seis líneas de criterio de aceptación) salieron 19% más baratos que los de S1 (treinta resúmenes de pieza) con la misma forma de instrucción — la regla del fragmento más pequeño suficiente de la §5 es una regla de costo, no solo de privacidad. 5. La base de datos falsó la prosa. El documento de resultados de la sesión afirmaba un «primer punto de datos mecanizado»; consultar run_measurement sacó a la luz una corrida del 08-13 anterior a él (corregido en el lugar, s4-s5-results-2026-08-14.md). Derivar afirmaciones de la base de datos en vez de de la memoria de la sesión es el ADR 0041 funcionando como se diseñó — y la corrección ocurrió solo porque se corrió una consulta. Mejora: un documento de resultados que afirme un hecho de una serie cita una consulta, nunca un recuerdo.