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
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.
1.9 KiB
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
- 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.getfor each entry of itsdecisions:). An open question in the text is a reason to run playbook 01, not to start building around it. - Name the owner. Set
code:in the design's frontmatter to the repositories fromrepos.md. If the repository does not exist yet, add it torepos.mdin the same change. - 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. - Flip the status.
status: in-progress,updated:today. - Build in the code repository. HQ is not a code repository and never carries implementation.
- 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 ruledeferralchecks 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
cdin a shared checkout commits to the wrong branch, and the error scrolls past.