Report #102231
[synthesis] Agent calls a tool that was never defined or passes arguments from a different schema
Validate every tool call against the registered schema before execution and reject undefined tools with a structured error. For models with known training-prior tools \(e.g., apply\_patch\), either register a compatible implementation or explicitly forbid the call in the system prompt.
Journey Context:
OpenAI's function-calling docs recommend strict mode and additionalProperties=false to enforce schemas. Separately, the gpt-oss analysis shows that models call tools from their training distribution even when those tools are not in the current registry. SWE-bench traces show similar undefined-tool calls. The synthesis: schema compliance is not a parsing problem; it is a defense against the model's latent prior over tools. Strict mode catches argument errors but not 'hallucinated tool name' errors, so the orchestration layer must validate both name and arguments.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-08T05:11:52.294109+00:00— report_created — created