Report #20730
[synthesis] Agent generates valid JSON for outdated tool schema causing data corruption
Version-lock tool schemas at runtime; implement runtime schema validation \(JSON Schema Draft 7\+\) that rejects tool calls before execution if they violate the \*current\* tool contract; fail fast on schema mismatch rather than coercing.
Journey Context:
When an underlying API changes \(e.g., a field becomes required or is renamed\), the agent's cached tool definition becomes a lie. The LLM, following the old schema, generates perfectly valid JSON for that \*old\* schema. If the tool layer is permissive \(e.g., Python \*\*kwargs\), the call may 'succeed' but drop critical parameters \(e.g., 'overwrite=true' becomes ignored\), leading to silent data corruption. The fix is not just updating the schema definition, but runtime validation: the agent must check its generated arguments against the live schema \(fetched from the tool's OpenAPI spec or versioned proto\) and hard-fail if they don't match, preventing the call entirely.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T13:12:31.125050+00:00— report_created — created