v0.5.0.es.md
docs/i18n/release-notes/v0.5.0.es.md
Tesserae v0.5.0 — La columna vertebral del motor y el Compilador de Contexto Bajo Demanda
<!-- translations:start -->
English · 한국어 · 中文 · 日本語 · Русский · Français · Deutsch
<!-- translations:end -->
Publicado el 06-06-2026 · PyPI · Lanzamiento en GitHub · pip install --upgrade tesserae==0.5.0
Tesserae 0.5.0 es la versión en la que el proyecto se convierte en el motor de contexto que describe su misión. Entrega la columna vertebral del motor — un orquestador de pipeline, un demonio supervisor y un monitor de sesiones en vivo — y la función estelar del Pilar 3: el Compilador de Contexto Bajo Demanda, que convierte "dame contexto sobre X" en un paquete a medida, citado y listo para el agente. Por debajo, las pasadas de automejora ahora están activadas y persistidas mediante el sidecar node_memory (confianza de recurrencia numérica en la salida, supersede activado por defecto), los embeddings reales por defecto reemplazan el stub de hash-bucket (Pista B), y la infraestructura de compilación incremental aterriza pero permanece con el flag OFF/experimental. Dos bugs reales de compilación encontrados por el camino se corrigen (idempotencia changed-only, contrato de store inyectado), y la suite de pruebas alcanza 1544 aprobadas / 0 fallidas. Esta es la versión que entrega las fases 0–6 de la hoja de ruta del motor de contexto.
Tabla de contenidos:
- Compilador de Contexto Bajo Demanda — MD0 (Pilar 3, estelar)
- La columna vertebral del motor — orquestador, demonio, monitor de sesiones en vivo
- Automejora, activada y persistida (sidecar MD0 )
- Embeddings reales por defecto (Pista B)
- Infraestructura de compilación incremental (flag OFF) + dos correcciones de compilación
- Actualizar desde v0.4.0
- Contexto estratégico
1. Compilador de Contexto Bajo Demanda — compile_context (Pilar 3, estelar)
Qué es
La función a la que apuntaba toda la hoja de ruta: una consulta (o un conjunto de nodos semilla) entra, un paquete de contexto a medida, citado y listo para el agente sale. compile_context es una función pura — lee el grafo y devuelve un ContextBundle en memoria, sin escribir nada en disco. El pipeline es: consulta/semillas → PPR + búsqueda híbrida para semillas → recorrido de vecindario k-hop acotado en profundidad → ensamblar los cuerpos wiki relevantes → síntesis LLM opcional (con un fallback determinista elegante) → control de presupuesto con un marcador de truncado en límite de palabra. Cada nodo que contribuye se registra como un ContextCitation, de modo que todas las citas del paquete se resuelven de vuelta a nodos reales del grafo.
| Tipo | Rol | |
|---|---|---|
| `compile_context(query \ | seeds, depth, budget, …)` | Punto de entrada puro; devuelve un ContextBundle. |
ContextBundle | El contexto ensamblado más su lista de citas. | |
ContextCitation | Una cita resoluble (id de nodo → cuerpo aportado). |
El compilador se expone de tres maneras:
- Herramienta MCP
compile_context— para que un agente la llame a mitad de conversación.budget=0significa sin tope. - CLI
tesserae project context— exit-0 / stdout /--output/ determinista, para scripting y pipelines. - Exportaciones con alcance por tema —
slice_export_context_for_topicproduce un slicellms.txtcon alcance por tema, y el brief del harness de agente ahora se renderiza por tema víacompile_context(Patrón 4 + Patrón 6) en vez de un top-12 codificado a fuego.
Junto a ello se entregan dos mejoras de recuperación relacionadas: node_context gana una ruta clasificada use_ppr (con relleno de vecinos consciente de la supresión y controles de aristas/límite), y el slice por tema usa el slug wiki canónico, de modo que citas y exportaciones se alinean.
Cómo usarlo
# CLI: compilar un documento de contexto citado para un tema, imprimir a stdout o a un archivo
tesserae project context "clasificación de recuperación y fusión RRF"
tesserae project context "clasificación de recuperación" --output ./context-retrieval.md
Desde un cliente MCP:
{
"tool": "compile_context",
"arguments": {
"query": "¿Cómo clasifica candidatos nuestro stack de recuperación?",
"depth": 2,
"budget": 4000
}
}
// → devuelve un ContextBundle: cuerpo ensamblado + una lista de citas resolubles.
// budget: 0 significa sin tope.
También puedes sembrar directamente desde ids de nodo (saltando el paso de búsqueda) cuando ya conoces los anclajes:
{
"tool": "compile_context",
"arguments": {
"seeds": ["decision-2026-05-22-switch-to-rrf-fusion"],
"depth": 2,
"budget": 0
}
}
Cuándo usarlo
- Un agente necesita un brief enfocado en un tema, no el volcado
llms.txtde todo el corpus ni un único cuerpo dewiki_page. - Quieres citas que se resuelvan — cada afirmación del paquete rastrea de vuelta a un nodo del grafo — para que el agente pueda dar seguimiento.
- Estás scriptando una entrega y quieres un artefacto de contexto determinista (
--output, modo de ensamblaje sin LLM) que se regenere por tema.