v0.20.2.es.md
docs/i18n/release-notes/v0.20.2.es.md
Tesserae v0.20.2 — el modelo ahora lee todo
<!-- translations:start -->
English · 한국어 · 中文 · 日本語 · Русский · Français · Deutsch
<!-- translations:end -->
Lanzado 2026-07-14 · PyPI · GitHub release · pip install --upgrade tesserae==0.20.2
La segunda mitad de la corrección para sesiones largas. v0.20.1 eliminó el tope de importación de 300 turnos para que el historial completo de conversación llegue al almacén; esta versión corrige el lado del consumo, de modo que cada LLM que lee ese historial realmente lo lee todo — sin importar la longitud total.
Lo que seguía mal después de 0.20.1
- Extractos de sesión truncados para caber: más allá de un horizonte de 24,000 caracteres por proyecto, los resúmenes descartaban sesiones enteras con "…more sessions omitted for length" — el modelo nunca las veía.
- Un aviso sin límite: la narrativa del resumen y la minería de decisiones de agente enviaban todo en una sola llamada LLM cada una — en una ventana ocupada, más grande que cualquier ventana de contexto.
max_turns_per_chunkcontaba turnos, no tamaño: treinta turnos pueden cargar un volcado de herramienta de 500KB; los chunks de extracción del grafo de sesión aún podían desbordarse.
Lo que cambió
Nuevo tesserae/llm_chunking.py: un empaquetador de bloques determinista y un ejecutor map-reduce dimensionado a un presupuesto de contexto conservador (48,000 caracteres ≈ 12k tokens; TESSERAE_LLM_CHUNK_CHARS para ajustar). Cada consumidor LLM del historial de sesión ahora itera chunks del tamaño del presupuesto — llamadas map PART i/N, luego una fusión jerárquica — con los marcadores de truncamiento eliminados, un solo turno sobredimensionado dividiéndose por líneas entre chunks en lugar de desbordar, y las entradas pequeñas conservando exactamente la antigua ruta de una sola llamada.
--max-turns sigue siendo solo una protección de memoria del escaneo — ya no limita lo que el modelo lee.
Verificado directamente contra el requisito: 600KB de historial de sesión → 82 llamadas acotadas (aviso máximo de 7,525 caracteres bajo un presupuesto de prueba de 8,000 caracteres) → una narrativa fusionada con cada sesión contabilizada. La prueba de aceptación planta una decisión en la última sesión más allá del antiguo horizonte de truncamiento — falla en el código previo a la corrección.