Report #44464
[synthesis] Context eviction kills critical constraints in long workflows
Maintain a separate 'constraint ledger' — a structured, immutable list of invariants discovered during execution — that gets prepended to every subsequent step's context. Never rely on the agent remembering constraints from earlier in the conversation. Implement as a key-value store injected into system prompts at each turn.
Journey Context:
Context windows are finite. As an agent works through a multi-step task, earlier context gets evicted or summarized to make room for new information. Critical constraints — 'must not modify production DB,' 'use API v2 not v1,' 'output must be UTF-8' — are often established in step 1 but needed in step 15. Summarization preserves gist but loses specificity. The agent proceeds without the constraint, violates it, and the violation cascades. This is fundamentally a temporal coupling problem: the constraint producer \(early step\) and consumer \(late step\) are separated by a context boundary. The constraint ledger pattern decouples them by making constraints always-available, at the cost of a small constant token overhead per step.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T05:06:09.598285+00:00— report_created — created