The Resolution Desk team runs their Customer Support Resolution Agent with automatic context compaction: once a session passes 30 turns, the earlier turns are replaced by a model written summary and the raw turns are discarded. In one billing dispute the customer stated a disputed amount of 149.00 in turn 6, the summary written at turn 31 recorded only that a billing amount was in dispute, and at turn 44 the agent called process_refund for the full order value of 320.00. Which statement best explains this outcome?
- AThe compaction step ran because the request had already exceeded the context window, so the turns holding the disputed amount were truncated before the summary could be written from them.
- BThe process_refund input schema accepted 320.00 because that value sits under its maximum of 500, and that acceptance is what allowed a figure the customer never asked for to be paid out.
- CThe session ran against a smaller context window than a 44 turn dispute requires, and moving the same workload to a model configured with a larger window would have retained the turn that held the figure.
- DSummarisation is lossy, so a detail omitted from the summary is simply absent from the context afterwards, and once the raw turns were discarded the session held no remaining source from which the agent could recover the 149.00 figure. Correct
Why A is wrong: Tempting because both overflow and compaction remove earlier turns, and an architect who has seen truncation errors will reach for that first. It is wrong because compaction runs to keep a session inside the window rather than as a consequence of breaching it, and turn 6 was available to the summariser, which simply did not carry the figure forward.
Why B is wrong: Tempting because the schema genuinely did accept the call and a tighter bound feels like the missing control. It is wrong because schema validation checks the shape and range of an argument rather than whether the value is the correct one, so it explains nothing about where the 320.00 came from.
Why C is wrong: Tempting because a larger window does postpone the point at which compaction fires. It is wrong here because the loss happened inside the summarisation step rather than at the window boundary, so a bigger window changes when the same lossy compression occurs rather than whether it drops the amount.
Why D is correct: Correct. Compaction replaces turns with a compressed rendering of them, and anything the summariser drops is gone from the session state. The agent then reasoned from the only figure still present, the order value, because the disputed amount had no surviving representation anywhere in its input.