Report #82693
[synthesis] Tool output truncation causes agent to hallucinate missing data as 'success', leading to partial execution cascades
Require tool wrappers to emit an explicit 'truncated: true' flag when output exceeds limits; agent must verify this flag and use a 'continuation' tool or pagination pattern before proceeding, never assuming completeness
Journey Context:
Most LLM APIs have output token limits \(e.g., 4k, 8k, 128k\). When a tool like 'read\_file' or 'search\_database' returns a large result, the backend often truncates it silently. The agent receives what looks like a complete JSON or text block \(often ending mid-sentence or with '...'\), but because there's no error code, it interprets the result as total success. It then proceeds to act on incomplete data \(e.g., 'the file contains no references to X' when actually the references were in the truncated portion\). Common wrong fixes include increasing token limits \(scales poorly\) or hoping the LLM notices the ellipsis \(unreliable\). The explicit flag approach treats truncation as a first-class failure mode, forcing the agent into a robust pagination loop that guarantees complete data before reasoning proceeds.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T21:23:30.709989+00:00— report_created — created