0.167.41
Removed
- Уборка мёртвого кода контекстного слоя ( — P3, аудит 2026-08-context). Часть объявленных сущностей описывала поведение, которого нет в коде, и вводила в заблуждение при доработках. Удалено: тип
Compressorцеликом (Compress,summarizeAndExtract,persistFacts,compressorFact,makeCompressorCompactFn,strPtr, константыcompressorProtectedFirst/Last,compressorMinDiscard) — нигде не инстанцировался вне тестов со времён перехода на memory.AutoCompact; решение «подключить или удалить» откладывалось до закрытия (структурированный handoff) — закрыт, handoff реализован вmemory.CompactionHandoffPrompt, заготовка не понадобилась; живойemergencyCompactсохранён.removeOrphanedToolMessagesвinternal/memory/autocompact.go— только тестовые вызовы, рабочий дубль логики —repairToolPairs(context.go) + позиционная тёзка вproviders/sanitize.go(не тронута); 4 теста удалены вместе с функцией. Мёртвые константыtoken_estimator.go:CompactHardThreshold,ContextSafetyReserve,ImageTokenWeight,CompactCooldownSeconds— ноль потребителей (живойCompactSoftThresholdостался). Сохранено как legacy-shim: trim короткого маркера[Сжатый контекст]вbuildSummarySection(chat_history.go) — генератор (Compressor) удалён, но в БД остаются summary-строки прошлых деплоев; без trim маркер протекал бы в tool-вывод (выявленоocr review).docs/Memory.md§7 переписан по фактическому коду: прежний текст описывал удалённый TTL/DELETE-алгоритм (30 мин простоя,DELETE FROM messages, session.metadata) — актуально: событийный гибридный триггер (ADR 2026-06-30-autocompact-event-driven), non-destructive soft-delete (ADR 2026-06-30-non-destructive-compaction),CompactConfigиз трёх полей,archiveToConversation+CompactionHandoffPrompt(#285), маркер[Resumed Session]≤1 в активном окне.