ADR 0244 left the code renames of the node-engine and the tool runner for later with no issue, owner or date, and two days on the operator believed them live. Open the issue with the inventory, the risk and a staged plan; add the rule to playbooks 02 and 04, as a dated insight on ADR 0244, and as a cycle.py check that found the same gap in ADR 0270 (issue 355).
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 record in02-DECISIONS/. 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.cycle.pychecks the decision record (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.