4.2 KB · updated 2026-07-06 · md

v0.12.2.ru.md

docs/i18n/release-notes/v0.12.2.ru.md

Tesserae v0.12.2 — исчерпание дескрипторов файлов демоном + учёт свежести в ask

<!-- translations:start -->

English · 한국어 · 中文 · 日本語 · Español · Français · Deutsch

<!-- translations:end -->

Выпущено 2026-06-30 · PyPI · GitHub release · pip install --upgrade tesserae==0.12.2

Два исправления ошибок. Совместимо с v0.12.x.

tesserae engine больше не исчерпывает дескрипторы файлов

Долгоживущий демон (особенно в режиме fleet, наблюдающий за многими проектами) мог спираль в шторм Too many open files / unable to open database file, который каскадировал в неудачные компиляции, нечитаемый реестр fleet и ошибки временных файлов codex — всё разделяло таблицу дескрипторов файлов процесса.

Причина: сборщик сессий хранил каждый транскрипт проекта в своём известном наборе и открывал каждый .jsonl (плюс соединение sqlite) на каждом тике только чтобы проверить наличие новых байтов. С десятками тысяч завершённых транскриптов это десятки тысяч открытий за тик — быстрее, чем ОС их освобождает. Теперь дешёвый stat() полностью пропускает открытие, когда в транскрипте нет новых байтов, исчезшие файлы удаляются из отслеживаемого набора, а усечённый/повёрнутый файл перечитывается с начала. В установившемся состоянии ~0 открытий для неиспользуемого большинства; читаются только растущие транскрипты.

tesserae ask учитывает свежесть

Федерализованный ask о недавней работе мог вывести на верх узлы синтеза сессии, которым неделю (например, названные "Review ALL improvements that were just made") — они являются самым сильным семантическим совпадением для «недавней работы», но самым старым контентом, и чистый релевантный рейтинг не имел сигнала свежести.

Федерализованный recall теперь смешивает релевантность узла с оценкой свежести, так что более новые узлы всплывают: релевантность всё ещё доминирует (скромное значение по умолчанию 0.25), неозначенный узел рассматривается как нейтральный, а не свежий, и узел с датой только в заголовке (2026-05-18 — …) привязан к этой дате. Настройте или отключите с помощью tesserae ask --recency-weight <0..1> (0 = чистая релевантность, предыдущее поведение). Скомпилированные и экспортированные артефакты не затронуты и остаются байт-детерминированными.

Обновление с v0.12.x

Совместимо. Если вы запускаете tesserae engine для многих проектов, это рекомендуемое обновление.