Review and acceptance
Review is the human bottleneck in the collaboration. That is intentional: implementation is fast, understanding is not.
mdBoard reviews the batch as a whole at handover. It does not ask you to approve every task.
The handover
A batch enters handover when:
- all tasks are
done; - no task is in
error; - the agent has a report draft.
The agent opens a handover review meeting and asks the reviewers to look at the batch. The batch does not move to completed automatically.
What you review
Review the intent and the outcome, not the agent’s keystrokes:
- Does the batch match the accepted idea and the acceptance criteria?
- Are the tests and evidence sufficient?
- Are the risks and out-of-scope items explicit?
- Is the report understandable without reading every commit?
- Is the cost estimate consistent with what was delivered?
- Are docs and changelog updated?
The agent can show the task list, commits, tests and report draft on request.
The review artifact
Each reviewer writes or dictates a review artifact for the round:
id: RV-0007-01-01
batch: "#0007"
round: 1
reviewer: reviewer
authored_by: reviewer
transcribed_by: agent
verdict: changes-required
findings:
- id: F1
text: "The stream closes before the final row."
created_at: 2026-10-24T15:00:00Z
authored_byis the human whose verdict it is.transcribed_byis set when the agent writes down a chat review.- The provenance is part of the record. The agent does not silently impersonate a reviewer.
If review independence matters more than convenience, write the artifact yourself in the HTML board instead of dictating it in chat.
Multiple reviewers
Reviewers can work in parallel. Each artifact is independent. This is the only place where mdBoard deliberately supports parallelism: human review is the bottleneck, so add reviewers, not feature branches.
The owner makes the final acceptance decision. If any reviewer requests changes, the owner either:
- requests changes, returning the batch to
doing; or - records an explicit override reason in the event.
Request changes
Human: I reviewed #0007. The stream closes before the final row.
Request changes and create a rework task.
Agent: I recorded a changes-required artifact from you, returned
#0007 to doing, and created #0007-04 from finding F1.
The other tasks are still done.
The batch goes handover → doing. Rework is a new task linked to the review artifact. done tasks are not reopened; the history stays clean.
When the rework is done, the batch enters handover again with a new review round.
Accept
Human: I accept #0007. Complete it.
Agent: I recorded your owner accept, wrote the final report,
appended the changelog entry, and closed #0007 as completed.
Completion requires:
- at least one independent review artifact;
- the owner’s accept;
- the report at
.mdboard/reports/R0007.md; - the changelog bullet in the root
CHANGELOG.md.
One-human projects
If there is only one human, the owner may self-review with an explicit override reason. The event records it. This is a pragmatic alpha rule, not a claim of independent review.
What happens after completion
completed is final. If the batch turns out to be wrong or incomplete:
- start a new spark for the follow-up;
- do not reopen a completed batch.
A defect in released code is new intent, not a quiet edit to history.
Review checklist
Use this in the handover review:
| Check | Question |
|---|---|
| Intent | Does it still match the accepted idea? |
| Scope | Are the out-of-scope items explicit? |
| Evidence | Tests, logs or manual checks shown? |
| Risk | Anything the next maintainer must know? |
| Cost | Does the estimate match the work? |
| Narrative | Can a human understand the change from the report? |
| Docs | Are user-facing docs updated? |
| Changelog | One dated bullet with a report link? |