Files
hq/00-META/process/04-build-handoff.md
T
jschoubben 418261213c
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the change's judges the pull requests after it merges; it…
mesh/delivery superseded: a newer head of the same pull request
Remove the decision records and research efforts, which the knowledge base now holds whole (issue 426)
ADR 0290 rule 9: once the import is checked record by record, hq keeps no copy.
The records and efforts are removed; every link or path to them reads "ADR NNNN" or
"research NNN"; a design's decisions: lists "ADR NNNN". 02-DECISIONS keeps a pointer
README with the reading order's six topics, which the knowledge base reads through the
records module; 01-RESEARCH keeps a pointer README. The checks drop the rules that
judged records (the knowledge base holds each at propose; checks/README.md says where)
and refuse a record written here again. Playbooks 01 and 02 and the skills write and
read records with the knowledge base's verbs.
2026-10-11 12:56:09 +02:00

1.9 KiB

Playbook 04 — Build handoff

Trigger. A to-be design is settled and work is about to start in a code repository.

Who runs it. Whoever starts the build.

Steps

  1. Confirm the design is settled. Its frontmatter reads status: designed, and every claim in it traces to a decision record in the knowledge base (knowledge-base.get for each entry of its decisions:). An open question in the text is a reason to run playbook 01, not to start building around it.
  2. Name the owner. Set code: in the design's frontmatter to the repositories from repos.md. If the repository does not exist yet, add it to repos.md in the same change.
  3. Check the as-is. Read the matching 03-DESIGN/00-as-is/ document. What is being replaced is stated there; if it is not, write it before changing it. Building against an undocumented as-is is how a shipped behaviour gets lost.
  4. Flip the status. status: in-progress, updated: today.
  5. Build in the code repository. HQ is not a code repository and never carries implementation.
  6. On completion, run the "when something ships" section of playbook 02.

Rules

  • Every merge is a human checkpoint, without exception.
  • What the handoff leaves for later is an issue with an owner, named in the design or the decision that leaves it — never a sentence saying "later". The design's code: names who owns what is built; the issue names who owns what is not. the knowledge base's rule deferral checks the decision record when it is proposed (issue 354).
  • Never open a pull request unprompted. A permissions list saying it is allowed is not a request.
  • Work in an isolated worktree, never a shared checkout. A failed cd in a shared checkout commits to the wrong branch, and the error scrolls past.