Report #52541
[synthesis] Agent misinterprets tool output schema — treats missing fields as empty values rather than absent values, propagating fabricated data downstream
Validate all tool outputs against their declared JSON Schema before processing; treat any field not present in the response as unknown \(halt and re-query\) rather than null or empty; never silently default missing fields; add schema-strictness middleware at the tool interface layer
Journey Context:
When a tool returns \`\{status: 'ok'\}\` but the agent expects \`\{status: 'ok', data: \[...\]\}\`, most agent frameworks silently fill \`data\` as null or \[\]. The agent then operates on this fabricated empty data as if it's real — writing empty reports, skipping important steps, or making decisions based on 'no data' that actually means 'unknown data.' This is the null vs. missing distinction that plagues data engineering, amplified in agents because the agent doesn't see the raw response — it sees the parsed, defaulted version. The compounding: downstream steps treat 'empty data' as a valid result and build conclusions on it. The fix enforces strict schema validation at the tool boundary, making the distinction between 'field is empty' and 'field is absent' explicit and actionable.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T18:41:07.533214+00:00— report_created — created