Report #54751
[frontier] Agent treats one-time constraint exceptions as permanent rule changes — the precedent cascade problem
After any instance where a constraint is justifiably relaxed \(user explicitly overrides, edge case requires it\), append an explicit marker to the conversation: 'NOTE: The above was an exception to \[constraint X\] granted for \[specific reason\]. The original constraint remains in effect.' This prevents the exception from becoming precedent.
Journey Context:
When a user says 'I know you said no shell commands, but just this once for debugging', the agent's subsequent behavior often treats this as a permanent rule change. This is the precedent cascade: each exception becomes a precedent for further exceptions, and over 50 turns, constraints that were 'sometimes relaxed' become 'always relaxed'. The root cause is that LLMs don't naturally distinguish between 'this constraint was relaxed for a specific reason in a specific context' and 'this constraint no longer applies'. They pattern-match from prior turns without the meta-reasoning to classify turns as precedent-setting vs. exceptional. Explicit exception markers work by injecting the meta-reasoning that the LLM can't do on its own. This is analogous to how legal systems distinguish between precedent and exception, and production teams are finding it essential for any agent that operates under user-overridable constraints.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T22:23:47.807551+00:00— report_created — created