We opened one agent session to wire an auth flow and let it run across many turns. Early on, before any doc was read, it guessed the access token arrived at data.access_token in the JSON body and wrote parsing around that. By hour three the real shape had surfaced: the token came back in the response headers, not the body. We added the correction to the latest message and kept going. The agent kept parsing the body anyway, then explained its choice in a confident paragraph.

The correction was on the record, but the session did not treat it as a rewrite. It treated the original guess as the default model and the note as an edge case to watch for. That gap between what was written down and what the session acted on is the core failure of a long, unreset conversation.

The first plausible model hardens

At the start of a session the agent has little to anchor on, so the first convenient structure it invents becomes the working world model. Every later turn builds on it: code, notes, follow-up questions, and summaries all lean on that assumption, which makes it feel established even though it was never confirmed.

When a correction arrives late, it attaches to the bottom of a long history rather than replacing the foundation. The old model stays the default; the note becomes an exception to remember under specific conditions. Chat history also grows, so the specific correction drifts downward under new turns, while the repeated framing near the top keeps pulling the session back.

This is anchoring, not stubbornness. The session does not argue because it disagrees; it defends the model it has been reasoning from for hours, because that model is the thing the history keeps reinforcing.

What breaks when the assumption survives

  • It defends an invented convention. The agent quotes its own earlier turns as evidence, treating a guess that was never verified as a settled decision.
  • It edits against the wrong frame. New changes are fitted to the assumed model instead of the current fact, so the fix compounds the original mistake.
  • It re-asks settled questions. After a reset or a sub-task, it re-derives from its own memory rather than the source and lands back on the wrong answer.
  • It misses contradicting evidence. Details that do not match the frame get ignored or reinterpreted to fit, instead of forcing a model change.
  • The reviewer repeats the correction every turn. A human has to restate the assumption in each message because the session keeps drifting back to it.

Keep verified facts separate from guesses

Do not let a long conversation accumulate one undifferentiated history. Maintain a compact factual brief at the top of the working context: verified facts, open assumptions, and what still needs confirmation. A guess stays labeled as a guess until a source confirms it; it is never promoted to fact just because it has been repeated.

  • Reset before the model hardens. Start a fresh session with the compact brief instead of extending a conversation for hours; the brief carries the confirmed state, and the old history stays available for lookup.
  • Force re-derivation from source files. Ask the agent to read the doc, spec, or code directly rather than answering from what it remembers, so the current source outranks the session's mental model.
  • Mark unverified assumptions explicitly. Write "assumed, unconfirmed" next to a guess so a later pass can challenge it instead of inheriting it.
  • Move corrections to the brief, not just the latest message. A note at the bottom of a long thread gets lost; the brief at the top is the model the session reads first.

For API work, the same principle points to the on-disk spec: the current contract outranks the session's half-remembered response shape. We keep that kind of local contract check in Powerduck rather than relying on a long chat history, because a fresh pass should match the file, not a model the agent invented early and defended for hours.

A long session hardens a model; it does not accumulate knowledge

Treat early guesses as temporary until a source confirms them, keep verified facts in a brief the session reads first, and reset before the assumption becomes harder to remove than the original problem. The correction on the record only helps if the model above it is allowed to change.