When I get close to 35% context used, I have to find an efficient and safe way to save the work done and continue it in a new session. Why 35%? At ~50% used context, an LLM’s output quality starts declining. So I have ~15% of buffer to build my safepoint.
The easiest and most efficient way (read again, I didn’t say “effective”) seemed to be a handoff doc. So I tell the LLM to write such a doc, i.e. a summary of shipped and pending work, caveats, bugs surfaced, and everything the next session needs to pick the work up.
I feel safe: my work will just continue where it left off.
BUT… handoff docs written by AI are mostly:
- Well-formatted.
- Nicely structured.
- Confidently flawed.
What I didn’t see
The session that wrote the handoff had hallucinated several things that day. Buried in a wall of text (classic AI) so they slipped past me.
Every half-verified claim, every “this should work” got “upgraded” into a clean paragraph. Ouch.
Here’s how I noticed.
I kicked off a fresh session and the LLM read those paragraphs as if they were the Truth, capital T, nothing to doubt. It picked up work from those statements. And when what the doc claimed didn’t match the actual code and I pushed back, it defended those paragraphs against my objections!
The invisible problem
Here’s the guiding principle I work (live) by:
Confident prose about a wrong fix or plan looks exactly like confident prose about a right one. Very hard to spot. Always be questioning.
How I improved things
Demote the document. Give it less importance.
before │ handoff = conclusions to build on
after │ handoff = a list of sources to look into
Same file. Completely different authority.
Every session now opens with an instruction. Mine below, verbatim from the day I’d had enough:
“Don’t take the handoff doc as confirmed or the best solution possible. In that session, you messed up lots of things. So look at things by following the criteria and rules you must follow, and ground everything.”
Yes, a prompt instruction. I can make its delivery mechanical with a hook, but no hook can verify the re-grounding actually happened. There’s no error code for trusting a wrong paragraph. So I do it every session and check the output.
That day, the handoff described a fix as done and correct. Re-grounded, the real fix turned out different. That’s the one I shipped.
The re-grounding costs me a little time at the start of every session. The wrong fix I almost built on would have cost far more.
So what, Matteo?
- A handoff document is a model’s summary of its own work. Often flawed.
- We’d like to think of a handoff document like a colleague briefing us. It’s not, it’s closer to a stranger handing you notes confidently.
- Treat handoff docs as an index of places to re-check and ground, not as conclusions to trust willy-nilly.
- A handoff isn’t a verdict on the work. It’s a map of where to look.
The dangerous part was never the hallucination. Models get things wrong, that’s known, I plan for it.
The danger is the laundering: an incorrect or ungrounded claim from a previous session coming back as a clean statement the model builds on, with all the doubt edited out.
That’s the riskier aspect. So stop letting the handoff document have authority it didn’t earn. Read it as an index, that way any wrong line is just one more place to check, not a foundation you build on by mistake.