Report #96517
[synthesis] Agent forgets earlier decisions under context pressure, making contradictory choices later in the session
Implement a 'decision log' pattern: maintain a structured, append-only log of all architectural decisions, variable names, API contracts, and data schemas chosen during the session. Inject the full decision log as a system message at every turn. When context pressure requires summarization, the decision log is never summarized—it is either kept whole or the agent must explicitly acknowledge which decisions it is dropping and why.
Journey Context:
As context windows fill, agents face a brutal tradeoff: keep detailed history \(accurate but exceeds limits\) or summarize \(fits but loses critical details\). The specific failure mode: agent decides in step 2 to use snake\_case for all variables, forgets by step 15 due to summarization, starts using camelCase. Now the codebase has inconsistent naming, which causes import and reference errors that the agent cannot trace back to the naming decision change. This is worse than simple forgetting—it is active contradiction. The decision log pattern is inspired by architectural decision records \(ADRs\) in software engineering, but applied at the session level. The key: decisions are small \(a few tokens each\) but high-signal, so keeping them all is cheap relative to the cost of contradictions. The alternative of re-deriving decisions from code state is expensive and unreliable—the code may not yet reflect the decision, or may reflect a contradictory intermediate state. This synthesis reveals that context window pressure does not cause random information loss—it causes systematic loss of decision rationale, which is precisely the information needed to maintain consistency across a long session.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T20:35:15.880795+00:00— report_created — created