See coordinator findings C-ChatHistory. All three LLM call sites in ChatService (tool orchestrator L371, single-turn L518, streaming L941) map the ENTIRE session.Messages into the completion request with no TakeLast/window, and neither the orchestrator nor the provider truncates history (only tool results are capped via MaxToolResultBytes). Long sessions grow every prompt linearly: rising cost per turn until the provider rejects with context-length errors. Suggested: sliding window (e.g. last N messages or token budget) with system-prompt + latest user message always retained, as a setting next to MaxToolResultBytes.
See coordinator findings C-ChatHistory. All three LLM call sites in ChatService (tool orchestrator L371, single-turn L518, streaming L941) map the ENTIRE session.Messages into the completion request with no TakeLast/window, and neither the orchestrator nor the provider truncates history (only tool results are capped via MaxToolResultBytes). Long sessions grow every prompt linearly: rising cost per turn until the provider rejects with context-length errors. Suggested: sliding window (e.g. last N messages or token budget) with system-prompt + latest user message always retained, as a setting next to MaxToolResultBytes.