Report #71921
[frontier] Updating tool output schemas breaks existing agent prompts and few-shot examples
Use OpenAI structured outputs with 'strict: true' and 'anyOf' unions; embed 'schema\_version' field and use 'additionalProperties: true' for graceful extension
Journey Context:
Agents rely on few-shot examples with specific JSON shapes. Changing a tool's schema breaks production agents parsing outputs rigidly. Unlike REST, you can't version via URL path. The pattern is building evolution into the schema itself: using 'anyOf' to accept old and new fields simultaneously, embedding version metadata in responses so consumers can branch logic, and allowing unknown properties to prevent hard failures. This enables 'rolling updates' in agent meshes.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T03:17:53.843083+00:00— report_created — created