6dad309b51
Эскалация (владелец) — Опция A: 100k только фолбэк для НЕсконфигурированных инсталляций; при заданном chatContextWindow бюджет = floor(0.7×window) БЕЗ капа (бюджетер — защита от брика об контекст-окно, не эконом-лимитер). Спек репиннут resolveReplayBudget(1_000_000)→700_000. DO1: агрессивный next-turn recovery ×0.5 вынесен в чистую resolveEffectiveReplayThreshold + тест линковки replayOverflow→0.5×бюджет (mutation-verified). DO2: checkNewComments partial-failure — per-page reject скипается (→null), скан резолвится, порядок выживших сохранён; тест #7 (mutation-verified). DO3: ai-chat.write-volume.spec.ts → .int-spec.ts (WAL-гард не бежал НИ в одном CI-lane) + маппер @docmost/token-estimate в jest-integration.json; реальный WAL на pg:5432 зелёный (трейс v1 140MB→v2 0.04MB). DO4: CHANGELOG [Unreleased] по #490. Follow-up: issue #520 (эскалация агрессивной доли при незаданном окне + малом реальном контексте). Ребейзнут на develop (волна 1 смержена): только 6 коммитов #490 над develop. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>