A handoff is a reproducible state
A handoff is not just a message saying “almost done.” The next participant should understand what was done, which files changed, which decisions were made, what checks confirmed, which risks remain, and what specific next step to take.
The information should rely on artifacts and evidence, not on the author’s memory.
| HANDOFF_NOTE.md section | Contents |
|---|---|
| Goal | The expected result in one sentence |
| Specification | A link to TASK_SPEC.md and a short scope |
| Changed files | The actual list of affected paths |
| Decisions and assumptions | The chosen approach and what has not yet been confirmed |
| Evidence and checks | Commands, logs, tests, and results |
| Risks | Uncovered scenarios and limitations |
| Next step | One clear action |
HANDOFF_NOTE.md structure
# HANDOFF_NOTE.md
## Goal
...
## Specification
- TASK_SPEC.md: ...
- Scope: ...
## Changed files
- ...
## Decisions
- ...
## Evidence
- ...
## Tests and checks
- command: result
## Risks
- ...
## Next step
- ...Package for a fresh reviewer
- A fresh reviewer should not receive the entire conversation history.
- Separate context reduces the impact of the author’s assumptions.
- The reviewer checks scope, edge cases, the API, and whether the handoff matches the actual changes.
- Pass along
TASK_SPEC.md. - Pass along
HANDOFF_NOTE.md. - Add the diff relative to the base branch.
- Add test and check results.
- Describe the review focus and priority risks.
- Ask reviewers to support findings with a link to a diff, test, or other evidence.
Do not confuse engineering artifacts
| Artifact | Role |
|---|---|
| Handoff note | Continuation or verification of the current task |
| PR description | A change package before merge |
| Commit message | One logical step in history |
| Changelog | Changes for the release and the user |
A quality handoff completes the milestone
After the handoff, the task becomes less dependent on the author’s memory: another session or person can restore context, check gaps, and determine the next action. This is the final artifact of a controlled transfer, not a formality before completion.
Canonical lesson source · JavaRush
Open JavaRush material