Build payloads from the storage hierarchy instead of flat "last N turns". - L1 within `verbatim_turns`/`verbatim_minutes` - L3 within configured window - L2/L4/L5/L6 via memory search (relevance-gated); L6 filtered to `current` - Token estimation per section, percentage-based allocation from `max_context` (`budget_persona_pct`, `budget_session_pct`, `budget_summaries_pct`, `budget_search_pct`, `budget_reserve_pct`) - Shrinking: cut from priority 9 upward (see design doc table); never cut new user message or previous raw turn **Files:** `chat_sessions.{h,cpp}`, `config.{h,cpp}`
Activity
FM #23 (step 1): payload assembly budget + window config keys
FM #23 (step 2): budget-aware payload assembler + priority shrinking
FM #23 (step 3a): recipe-ingredient fetch methods
FM #23 (step 3b): wire tiered payload into the chat REPL
Merge #23: tiered payload assembly + budget/shrinking (CLI path)
diskerror commentedon Aug 8, 2026
Payload assembly can be triggered before it's triggered by the agent framework and be aware of cache validity.