Spotlight · D5 Context + Reliability
Late-Stage Summarization Dollar-Amount Drift: Causes and Fixes
One of the most common D5 traps: an agent reports wrong dollar amounts from earlier turns after a mid-session summarization. The diagnosis is always the same - semantic compression collapsed precise figures into prose approximations. The fix is structural, not prompt-level.
- What is late-stage summarization dollar-amount drift?
- When an agent compresses long conversations mid-session, exact numerical values (prices, balances, totals) are lossy. The model paraphrases figures rather than preserving them verbatim, so downstream turns receive corrupted ground truth - e.g., $14,837.92 collapses into 'around $15,000' and is then cited with false confidence in later turns.
- What is the root cause of dollar-amount drift after summarization?
- Compressed summaries treat numeric tokens as ordinary semantic content. Precise figures become approximations because the summarizer optimizes for prose density, not arithmetic fidelity. The model then anchors on its own approximation as fact in subsequent turns.
- Fix 1: How does structured memory anchoring prevent dollar-amount drift?
- Extract all monetary values into a typed key-value store - a tool call result or system-prompt ledger - before summarization runs. Inject that ledger verbatim into every subsequent context window so figures are never derived from prose summaries. The summary is allowed to drift; the ledger never does.
- Fix 2: How does summarization scope fencing preserve exact figures?
- Instruct the summarizer to pass numeric entities through unsummarized using a sentinel pattern such as <preserve>$14,837.92</preserve>. Prose stays compressed while figures stay exact. This is cheaper than ledger maintenance for one-off conversations but doesn't scale to multi-session memory.
- What CCA-F exam signal does dollar-amount drift map to?
- This is a D5 (Context + Reliability) signal. Exam questions test whether candidates distinguish semantic compression loss from retrieval failure. The correct fix is always re-injection of structured state - not longer context windows, not re-prompting the summary, not switching models.