June 6, 2026
Pre-pass mirroring, context stability, and read tool aliases
The high-deliberation thinking pre-pass has been refined to carry the parent turn verbatim—user message and active tool surface—with the system prompt as the on
The high-deliberation thinking pre-pass has been refined to carry the parent turn verbatim—user message and active tool surface—with the system prompt as the only delta. It now delegates to parent.config and parent.active_tools, making it channel-agnostic. Because the parent’s user prompt already includes the previous messages history, the thinking pass automatically inherits the conversation context, eliminating the earlier history carry-forward issue.
The composer context indicator was oscillating because it picked up any llm_call_log row with usage_class=‘chat’, including noisy delegate sub-requests. The fix keys off job_name=‘user:user’ to track only the main user turn, giving a stable and meaningful context size reading. Additionally, on mobile the controls row now spans 100% width, aligning with the input box and eliminating the inset layout.
The read tool previously only accepted a ‘source’ parameter, so when a model used natural keys like ‘url’ or ‘path’ the value was silently dropped, causing repeated failures. The tool now resolves the first non-empty value from a set of common aliases (source/url/uri/link/path/file/etc.) and returns a diagnostic error listing the keys received if none match, helping the model self-correct instead of looping.
-
Thinking pre-pass now mirrors parent user message and active tools, with only system prompt differing.
-
Context indicator keyed to job_name=‘user:user’ stops oscillation from delegate requests.
-
Mobile composer controls row set to full width for consistent layout.
-
Read tool accepts url/path/filepath aliases and gives diagnostic error on missing source.