Separate facts from intentions.
“We planned to refactor auth” is not the same as “auth was refactored and tests passed.” Future agents need the difference.
This is the small checklist I use before a Claude Code, Codex, or Hermes session gets cleared, compacted, or handed to the next agent. The point is deletion pressure: decide what survives before stale context starts sounding official.
“We planned to refactor auth” is not the same as “auth was refactored and tests passed.” Future agents need the difference.
User preferences, project conventions, and recurring setup quirks can enter memory. PR numbers, temporary blockers, and today’s scratchpad stay in logs.
A handoff that says “continue” is a trap. A handoff that says “run npm test after opening src/auth.ts” can survive a cold start.
Use [VERIFIED], [ASSUMED], and [UNKNOWN]. Unlabeled uncertainty becomes fake confidence two sessions later.
If a fact can go stale this week, it does not belong in durable memory. Put it in the session log with a re-check instruction.
This is the part most handoffs miss. Failed hypotheses and abandoned plans must be explicitly killed or the next agent resurrects them.