5.6 KB · updated 2026-07-31 · md

v0.27.0.es.md

docs/i18n/release-notes/v0.27.0.es.md

Tesserae v0.27.0 — los agentes pueden escribir al gráfico y consultarle qué permite

<!-- translations:start -->

English · 한국어 · 中文 · 日本語 · Русский · Français · Deutsch

<!-- translations:end -->

Released 2026-07-26 · PyPI · GitHub release · pip install --upgrade tesserae==0.27.0

Hasta ahora un agente solo podía entregar texto a Tesserae y esperar que el extractor adivinara los tipos correctos. Este lanzamiento abre la ruta de escritura y la ruta de verificación: los agentes registran hallazgos como estructura tipificada y pueden preguntarle al gráfico si realmente permite una afirmación.

Los agentes escriben hallazgos tipificados

graph_write toma nodos y aristas tipificados validados por esquema con procedencia obligatoria. Rechaza en lugar de coercionar — aristas sin tipo, tipos fuera del vocabulario controlado, puntos finales pendientes y procedencia faltante se rechazan todos; las escrituras duplicadas son idempotentes.

Los nodos escritos por agentes sobreviven a una compilación completa, a un graph.json eliminado, a --limit y a la eliminación total del corpus. Bajo pruebas adversariales, 60 escrituras concurrentes contra una compilación activa pasaron con cero lecturas interrumpidas entre 1.483 lecturas.

Los agentes verifican contra el gráfico

verify_claim responde si el gráfico permite una triple. El veredicto es una función pura de los bytes del gráfico: sin LLM, sin incrustación, sin coincidencia difusa en ningún lugar de la ruta de decisión. Un verificador que alucina es peor que no tener verificador.

Toma (subject, predicate, object) y no tiene parámetro de lenguaje natural — a propósito. Siete veredictos, incluyendo PRESENT_UNEVIDENCED (la arista existe pero nada respaldado por documentos la sostiene) y ABSENT ("este gráfico no afirma eso" — nunca una refutación).

Dos garantías que vale la pena enunciar claramente. supersedes nunca produce un veredicto: dice que un nodo fue reemplazado, no que una triple sea falsa. Y una escritura de agente solo puede debilitar una clase de procedencia, nunca actualizar una — nada de lo que un agente afirma puede presentarse como respaldado por documentos.

También

  • Resolución de entidades semánticas. Los candidatos agrupados por incrustación ahora alimentan la cola de revisión existente en lugar de fusionarse automáticamente. Precisión sobre exhaustividad: una fusión incorrecta une silenciosamente dos entidades reales y cada recorrido descendente hereda el error.
  • Enrutamiento de forma de pregunta para ask. Los gráficos ganan preguntas de múltiples saltos, temporales y de síntesis y pierden búsquedas de hechos simples y costo, por lo que pagar precios de gráfico para todo es una pérdida. La decisión de enrutamiento está en el envoltorio para que una respuesta barata sea auditable; --route anula.
  • Intervalos de validez en hechos temporales, derivados de marcas de tiempo de fuente — nunca reloj de pared.
  • --llm-limit se mantiene bajo extracción concurrente. Desde que v0.26.0 hizo la extracción paralela, la antigua verificación-entonces-incremento permitía que cada trabajador leyera el contador antes de escribirlo, por lo que --llm-limit 1 compraba una llamada por trabajador. Es un límite de gasto, por lo que ahora falla cerrado.
  • La cobertura de compilación es un invariante, no una afirmación. Cuatro rutas de pérdida silenciosa de datos cerradas, luego la maquinaria detrás de ellas eliminada completamentecompile(loader=…) no tiene llamador de producción, y defender esa API solo de biblioteca fue la fuente de cada defecto grave en varios rondas de revisión. Uno de ellos fue una regresión que v0.26.0 mismo introdujo.
  • Nueva documentación para las superficies de escritura, verificación y enrutamiento.

Qué no se envió y por qué

Un contraste de pase para extraer aristas contradicts_claim / derived_from / criticizes se construyó, midió y se cortó. Acuñó 0 aristas de 80 pares juzgados en dos corpus reales, y 60 de 60 ratificaciones de juez dieron la misma razón: los pares eran casi duplicados sin nada que contradecir.

La causa fue estructural. La generación de candidatos se bloqueó en tokens raros compartidos, que optimiza para similitud — pero la contradicción y derivación se mantienen entre afirmaciones que difieren. Un rediseño evaluó cinco nuevos generadores sin conexión, a costo cero de LLM: el de alto volumen puntuó 0/10 en inspección manual (sus "números conflictivos" eran IDs de arXiv y fechas de publicación), y el único preciso produjo seis pares de candidatos en un corpus y ninguno en el otro.

Una ejecución de control lo resolvió — juzgar 15 aristas de razonamiento que ya existen devolvió recall de 7/15. El juez siempre funcionaba; los candidatos siempre estaban equivocados.

La regla de lint REASONING_EDGE_RATIO permanece y fija la línea de base honesta: 7,5% de aristas llevan razonamiento, con contradicts_claim, derived_from, attributes_improvement_to y criticizes en cero instancias.

Actualización desde v0.26.0

Instalación directa. Si establece TESSERAE_CONTRAST_PASS, ya no hace nada — el pase se ha ido.