2.7 KB · updated 2026-07-31 · md

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_chunk contaba 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.