One instruction, not a summary
The receiver should not have to derive what to do from a wall of state. The first thing in the artifact is the single next move, and whether anything blocks it.
The artifact
Every competitor built a place to store context and a way to query it. That is a database posture. The job to be done is a transfer.
Wire the retry path in charges/worker.rb to the new idempotency key. Nothing else is blocking.
Ledger writes are cut over and green in staging. Read path is still dual-reading.
Rollback flag payments.v2_reads is live and tested.
Rendered markdown, frozen at creation, plus a live link.
Section by section
The receiver should not have to derive what to do from a wall of state. The first thing in the artifact is the single next move, and whether anything blocks it.
A human-confirmed constraint and an unconfirmed agent assertion are not the same object and must not look the same. Human items carry the accent; agent items are muted until a human confirms them.
A decision without its reasoning gets re-litigated the moment someone new arrives. Every decision states why, and what alternative it beat.
Including who owns them and how long they have been sitting. An open question with no owner since three weeks ago is information about the project, not just about the task.
What was tried, rejected, and must not be proposed again. This is the highest-value block in the artifact and the reason a fresh agent does not walk straight back into the approach the team already ruled out.
PRs, ADRs, tickets. The handoff does not duplicate them, it locates them.
The thesis
“The unit of value is not memory. It is the handoff.”
Work stops with one actor and resumes with another: the same human tomorrow, a different human next week, a different agent on the next task. The thing that should exist is an artifact produced at the moment of stopping and consumed at the moment of resuming.
It also has to survive crossing tools. If it only works inside one vendor's client, it is not a handoff.