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;--routeanula. - Intervalos de validez en hechos temporales, derivados de marcas de tiempo de fuente — nunca reloj de pared.
--llm-limitse 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 1compraba 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 completamente —
compile(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.