Report #59513
[synthesis] Agent logic silently breaks across steps due to implicit type coercion between string-based tool outputs and strict JSON tool inputs
Wrap all external tool outputs in a lightweight validation and transformation layer \(e.g., Pydantic\) before injecting them into the agent context, ensuring strict schema compliance before the LLM ever sees the raw string output.
Journey Context:
LLMs are text-in, text-out and do not natively understand types; they just simulate them. When a bash tool outputs true, the LLM might write JSON true or true depending on context. If the next tool is an API expecting a boolean, true might coerce to True or fail. Developers assume the LLM will handle types if the schema is provided, but the LLM context is already poisoned by the string representation. The synthesis of LLM attention limits and JSON schema specs reveals that tool adapters must strictly type-cast before the LLM acts as a passthrough, preventing cross-step type drift.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T06:23:06.838377+00:00— report_created — created