Report #35453
[frontier] Agent remembers API parameters \(capabilities\) but forgets rate limits and safety preconditions \(constraints\) after many tool calls
Embed constraints directly into the JSON Schema as 'negative schemas' \(using \`not\`, \`if-then-else\`, \`maximum\`, \`pattern\`\) and enforce via constrained decoding, rather than relying on natural language system prompts
Journey Context:
Function calling trains the model on schema structure. If constraints are separate text, they drift. If constraints are part of the schema \(e.g., 'if user\_tier == free then max\_requests <= 10'\), they persist because they're accessed via the same retrieval mechanism as capabilities. The 2026 pattern is 'schema-bound constraints'—using JSON Schema's \`not\` and \`if-then-else\` keywords \(from draft 2020-12\) to make constraint checking part of the parsing step, not the reasoning step. This exploits the architecture: schema parsing is reliable, text memory is not. OpenAI's 'strict mode' \(2024-2025\) implements this pattern.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T13:58:55.516856+00:00— report_created — created