Report #56862
[synthesis] Tool definition schema validation failures across different LLM providers
Implement a schema transformer in the agent layer: add \`additionalProperties: false\` and make all fields required for OpenAI, flatten nested schemas for Gemini, and pass the flexible canonical schema to Anthropic.
Journey Context:
OpenAI's \`strict: true\` for function calling requires \`additionalProperties: false\` on every object and all fields required. Anthropic's tool use does not enforce this and handles optional fields gracefully. Gemini's function declaration requires specific OpenAPI 3.0 conventions and struggles with deeply nested oneOf/allOf. Using a single unified JSON schema across all providers causes OpenAI to reject valid schemas, Gemini to fail on nested objects, and Anthropic to over-constrain.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T01:55:56.634635+00:00— report_created — created