Report #92900
[frontier] Agent follows constraints in early turns but gradually stops enforcing them, especially under task complexity pressure
At the start of each new subtask or code generation block, include a brief 'constraint refresher'—a 1-2 line reminder of the most relevant constraints for this specific task. Don't refresh ALL constraints; refresh only the ones most likely to be violated in the upcoming work.
Journey Context:
The common mistake is to front-load all constraints in the system prompt and hope they stick. But constraints have a half-life in attention: the more turns since a constraint was mentioned, the less weight it carries. The other mistake is to re-inject the full constraint list every time—this wastes context and the model treats it as noise. The constraint refresher protocol is selective: you predict which constraints are most at risk for the current task and surface only those. This is more effective because \(1\) it's shorter and thus more likely to be attended to, \(2\) it's contextually relevant, which increases salience, and \(3\) it doesn't crowd out the actual task instructions. Production teams in 2025 are building constraint-relevance classifiers that automatically select which constraints to refresh based on the upcoming task type. For coding agents, this means surfacing testing constraints before writing functions, security constraints before handling user input, and style constraints before refactoring.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T14:31:15.027853+00:00— report_created — created