v0.26.0.ru.md
docs/i18n/release-notes/v0.26.0.ru.md
Tesserae v0.26.0 — компиляции, которые завершаются, и рассказывают, что они сделали
<!-- translations:start -->
English · 한국어 · 中文 · 日本語 · Español · Français · Deutsch
<!-- translations:end -->
Released 2026-07-26 · PyPI · GitHub release · pip install --upgrade tesserae==0.26.0
v0.25.1 остановил зависание компиляций. Этот выпуск делает их быстрыми, честными о том, что они охватывали, и останавливает их поглощение мусора.
Быстрее
- Параллельная извлечение. Пакетный цикл порождал один подпроцесс CLI и блокировал его, один документ за раз — время по стене было буквальной суммой каждого обхода модели, измеренной примерно на 2 часа 40 минут для 161 документа. Извлечение теперь выполняется 4 документа одновременно по умолчанию (
TESSERAE_EXTRACT_CONCURRENCY=1восстанавливает последовательное выполнение).
Параллелизм изменяет скорость, но никогда не изменяет результаты: рабочий список зафиксирован в порядке пути, а результаты собираются по индексу. merge_graphs разрешает дублирующиеся ID узлов позиционно, поэтому сбор по порядку завершения молча создаст другой граф — зафиксировано тестом, чей извлекатель завершается в обратном порядке пути.
- Кэш ответов действительно кэширует.
complete_jsonвсегда принималcache_key, и оба клиента CLI принимали его и выбрасывали — только клиент Anthropic когда-либо его использовал. Идентичный контент переплачивал полную цену при каждой компиляции. Оба теперь читают и пишут кэш с адресацией по содержимому под~/.tesserae/llm_cache, с ключом по содержимому плюс модель и усилие рассуждения, так что переключение моделей переспрашивает вместо того, чтобы использовать ответы предыдущей модели. Сохраняются только анализируемые ответы.TESSERAE_LLM_CACHE=0отключает.
Честно
- Сбои извлечения называются, а не игнорируются. Классификация сбоев различает переходящие ошибки (повторяются) от реальных,
--limitбольше не теряет охват графика, и аутентификация на основе ведомости предотвращает отравление прогона одним плохим профилем. - Маркеры полноты
graphed. Строка манифеста отмечается только после того, как ее содержание действительно достигаетgraph.json— поэтому компиляция, которая умирает на полпути, больше не может оставлять строки, утверждающие охват, которого граф не имеет. Удаленные и переименованные документы получают надгробие вместо того, чтобы оставаться вечно. - Область
--retry-fallbacksтеперь повторно пытается ровно для документов, чье введенное извлечение не удалось, и ничего больше.
Чище
- Каталоги мусора остаются вне корпуса. Tmpdirs pytest (
pytest-of-<user>/pytest-N/) и каталоги временных файлов pip попадают в настроенный корневой каталог источника, когдаTMPDIRразрешается в репозитории, высеивая тысячи одноразовых файлов фикстур, которые меняются при каждом запуске тестов — так что набор кандидатов никогда не повторяется и--changed-onlyникогда не может быть пусто. Один реальный манифест проекта содержал 25,269 записей, из которых 16,110 (63%) указывали на файлы, которые больше не существуют.
Ходок теперь пропускает эти семейства при рекурсивном спуске. Это каталог правило: docs/pip-install-guide.md — это обычный документ и остается в индексе — сам генератор концепций Tesserae создает ровно эту форму имени файла из любого заголовка "pip install x".
Также
- Модель Codex по умолчанию —
gpt-5.6-luna. - Новая справка по настройке документирует все 29 переменных окружения
TESSERAE_*— значения по умолчанию, что контролирует каждая, и когда это изменять. Некоторые, включая тайм-аут извлечения, отправленный в v0.25.1, вообще не имели документации.
Обновление с v0.25.1
Прямая установка. Два момента, которые стоит знать:
Извлечение теперь работает 4-кратно. Если ваша учетная запись провайдера имеет жесткое ограничение скорости, установите TESSERAE_EXTRACT_CONCURRENCY=1.
Первая компиляция после обновления может выполнить больше работы, чем обычно — маркеры graphed не существуют в старых манифестах, поэтому строки, предшествующие им, рассматриваются как недоказанные и переотмечаются. Это одна исправительная перекомпиляция, а не постоянная стоимость.