0.34.0
Added
- P3-M1: Tokenization-aware chunking —
splitIntoChunksвindexer.goпереписан: размер чанков и overlap считаются по токенам (tokens.Count) вместо байтов. Корректная работа с UTF-8 кириллицей. ФункцияtokenOverlapTailдля overlap по токен-границе. - P3-M2: Russian-aware sentence split — regex расширен для многоточий (
…), восклицаний (?!), переносов строк. Знаки препинания сохраняются в предложениях (переход сregexp.SplitнаFindAllStringIndex). FallbacksplitByNewlines. - P3-M3: Dream батчирование —
listAllActiveFactsлогируетslog.Warnпри достижении лимита 10000 фактов (вместо молчания). Батчевыйanalyze: при > 500 активных фактов разбиение на батчи по 500. - P3-M4: TouchBuffer — буфер дедупликации
TouchBuffer(touch_buffer.go): накапливает fact IDs, flush по достижении 100 или раз в 5 сек. Integrated вContextBuilder/AgentLoop. Fallback наTouchFactпри отсутствии буфера. - P3-M5: Settings hot-reload —
DreamServiceиConsolidatorServiceперечитывают интервал из БД после каждого тика, пересоздаютtime.Tickerпри изменении.consolidator_interval_minutesдобавлен в whitelist настроек API. - P3-M6: UI метрики памяти — word-by-word diff в истории фактов. Карточка метрик: активных/неактивных, средняя confidence, всего обращений, мёртвые факты (access=0), топ-5 по access_count.
- 29 новых тестов:
indexer_test.go(14),dream_batch_test.go(3),touch_buffer_test.go(5),hotreload_test.go(5),indexer_test.go(+2 общих).
Changed
ContextBuilder.TouchBuffer— новый интерфейсный поле, заменяет прямой вызовTouchFacts.AgentLoop— полеtouchBuffer+SetTouchBuffer(), останавливается вStop().
Security
- Knowledge Graph (P3-M6) отложен в
docs/todo.md.