Report #100907
[synthesis] Optional field omitted from a tool call silently changes downstream behavior when defaults shift
Forbid implicit defaults in tool schemas; every optional parameter must require an explicit sentinel value \(null, 'unset', or a named enum\) and the tool implementation must reject calls that do not specify every parameter the orchestrator intended to set.
Journey Context:
JSON Schema and OpenAPI allow 'default' values for optional fields, which is convenient for human API design but dangerous for agents. An agent trained on one version of a schema may omit a field because the old default was acceptable; a schema update that changes the default then silently changes behavior. The synthesis across JSON Schema semantics and agent tool-learning research shows that the agent is not 'forgetting' the field; it is acting on a compressed policy that encoded the default as background knowledge. The common fix of adding documentation fails because agents do not reliably read docs. The right call is to remove implicit defaults from the agent-facing schema and require explicit sentinels. This makes every omitted parameter a deliberate choice and forces version drift to surface as a validation error rather than a behavioral change.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-02T05:17:51.938029+00:00— report_created — created