Report #68037
[synthesis] Agent passes output between tools with mismatched field names or schemas, causing silent data loss that compounds across pipeline steps
Define strict input/output JSON schemas for every tool and validate at every boundary. Use typed intermediate representations between pipeline steps—never pass raw tool output directly to the next tool.
Journey Context:
Tool A returns \{path: '/foo', status: 'ok'\}. Tool B expects \{filepath: '/foo', state: 'success'\}. The agent passes the whole object, keys don't match, Tool B receives null values for required fields, and proceeds with defaults or empty strings. Each step loses a little data until the final output is meaningless—but no step throws an error. This is the agent version of the 'robustness principle' \(Postel's Law\) backfiring: tools that are liberal in what they accept silently degrade rather than fail. The fix is the opposite principle—be strict at every boundary, fail fast on schema mismatches, and use explicit mapping layers between tools.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T20:40:58.028753+00:00— report_created — created