ceda265a5dfb41ebdac94375b1f3500099d6833d
Баг: границы спанов метились предсказанным номером хода (turnCount+1 в prompt-hook), который уезжает под гейт-петлёй (coverage-хук вставляет служебные ходы, Claude Code очередит промпт). Итог — служебный ход принимался за реальную просьбу (фантомный «Ход 5» в тетради + ложные скрытые вопросы про coverage). Корень: терялся структурный ярлычок isMeta (служебное vs владелец), который уже есть в транскрипте. Теперь: - parseLastExchange читает entry.isMeta -> userIsMeta; - buildRawRecord пишет метку meta=1 в заголовок служебного хода; - realBoundariesFromRaw определяет границы СТРУКТУРНО (meta=1; фолбэк по тексту) — это ОСНОВНОЙ источник; ненадёжный realPromptTurns/prompt-hook-механизм убран; - разбор одного спана вынесен в общий distillSpan (stop-хук и пересборка из сырья). Свод секретаря зелёный (143 теста). Живая пересборка дела на реальной модели дала чистую тетрадь: Шаги по реальным промптам, гейт-шум не плодит скрытые вопросы. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Description
No description provided
Languages
JavaScript
98.7%
Python
1%
Shell
0.3%