Long chats drift. By turn thirty the model is answering a slightly different question than the one the user is actually asking, because the early context that framed everything has scrolled out of reach.

You cannot keep every turn forever, so you have to decide what a conversation is really made of. Usually it is a small set of durable facts (who the user is, what they are trying to do, the constraints they stated up front) plus the last few exchanges. The durable facts belong in a running summary that you carry forward verbatim. The recent turns stay raw because their wording matters.

The mistake is to summarize everything into one blurry paragraph. Details that felt minor at the time turn out to be the whole point later, and a lossy summary throws them away. Keep the stated constraints exact. Compress the chit-chat.

When we started separating durable facts from recent turns, the complaints about the assistant forgetting things mostly went away. It was not forgetting. We were feeding it a summary that had quietly dropped the one line that mattered.