Introduction
Handoffs are where value leaks. The COMPASS spec is blunt about it: teams that treat earlier artifacts as disposable end up re-discovering context that was already established. The presale-to-development handoff is the classic example — months of understanding evaporate because nobody made the baton-pass explicit.
This module is about making the baton-pass explicit and durable, so work moves between people (and between you-today and you-next-week) without dropping context. It's the capstone: every habit from Modules 03–05 exists partly to make handoffs hold up.
What you'll be able to do by the end
- Write a handoff with a real producer/consumer contract
- Use accept/decline as a quality signal, not a formality
- Make in-flight work legible to a reviewer who wasn't in the room
1. Why handoffs leak
Work changes hands constantly: phase to phase, person to person, human to agent and back. Each transfer is a chance to lose the why — the constraints, the rejected alternatives, the open questions that only lived in someone's head.
The fix isn't more meetings. It's making the context travel with the work, on the shared record, so the next person reads it instead of reconstructing it. ATLAS gives you the primitives; the discipline is yours.
2. The producer/consumer contract
A handoff is an explicit baton-pass to another person with structured context — compass_handoff_create carries context (opaque structured JSON) and can bind to a Journey. A handoff that holds up answers everything the consumer needs before they have to ask:
| The consumer needs to know | So the handoff carries |
|---|---|
| Where the work stands | Current phase, what's done, what's in flight |
| Why it looks the way it does | The key decisions + rationale (link them) |
| What's not settled | Open questions, explicitly listed |
| Where to look | Pointers — the journey, the artifacts, the relevant versions |
| What "done" means for them | The acceptance criteria they're now responsible for |
The producer's contract You owe the consumer enough context to continue without finding you. If the only way to pick up your handoff is to message you, the handoff failed — you just deferred the meeting.
The good news: if you've worked the way Modules 03–05 describe, most of this already exists. Your decisions are logged with rationale, your artifacts are versioned and linked, your session has a close-out summary. The handoff mostly references that record rather than re-writing it.
3. The receiving side: onboard before you accept
Before accepting a handoff, get yourself oriented from the record, not from the producer:
compass_journey_context— current-phase artifacts, the full lineage, and any open Decision Gate. The journey view of "where is this."compass_feature_context— the roll-up: tagged sessions, recent events, referenced artifacts, and decisions for the feature. The "onboard me onto this work" call.
Read those first. If they give you enough to continue, the producer did their job — and you can accept with confidence rather than hope.
4. Accept and decline are quality signals
A handoff is pending until the recipient accepts or declines — each with an optional note, each firing a notification to subscribers.
- Accept with a note that confirms you understand the state and naming what you'll do next. Acceptance is you taking ownership — say what you're taking on.
- Decline is not failure. Declining a handoff that's missing its decisions, or whose open questions aren't listed, is better than accepting it and silently inheriting a gap. Decline with a specific reason ("no rationale for the auth approach — can't safely continue") and the producer can fix it in minutes.
Silent acceptance of an incomplete handoff is how context-loss compounds. A clean decline is a gift: it catches the leak at the source instead of three phases downstream.
The decline test Would you bet your name on continuing this work as handed to you? If not, decline with the specific missing piece. A precise decline is faster for everyone than a wrong acceptance.
5. Writing for the stranger
The deepest version of this skill: assume the reviewer wasn't in the room — because eventually they weren't. The artifact, the decision log, and the traceability graph are the context. If the reasoning only exists in a chat thread or your memory, it doesn't exist for the person reviewing on Monday.
So write every decision, summary, and handoff for a competent stranger:
- Name the alternatives you rejected, not just the choice you made.
- Link decisions to the artifacts they touch, so they surface in the right place.
- State open questions out loud — an unstated assumption is a defect waiting for the next person.
- Make the record self-sufficient: someone should be able to reconstruct what and why without finding you.
That's what "survives Monday-morning review" means. The reviewer opens the journey cold, reads the lineage and the decisions, and it all hangs together — no DM required.
Exercise — write a handoff a stranger could pick up
Take a piece of in-flight work and hand it off as if you're going on leave tomorrow:
- Write the handoff context: current state, the two or three decisions that shaped it (linked), the open questions, and pointers to the journey and artifacts.
- Hand it to a teammate — and ask them to onboard using only
compass_journey_context/compass_feature_contextand your handoff, without asking you anything. - Have them accept or decline. If they decline, the gap they name is exactly the context you assumed but didn't write down.
When someone can take your work forward from the record alone, you've closed the loop the whole track was building toward: AI-accelerated delivery that stays legible, reviewable, and owned. That's an AI-native practitioner.