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.
36 lines
1.9 KiB
Markdown
36 lines
1.9 KiB
Markdown
# 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](01-research.md), not to start building around it.
|
|
2. **Name the owner.** Set `code:` in the design's frontmatter to the repositories from
|
|
[`repos.md`](../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](02-graduation.md).
|
|
|
|
## 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](../../04-ISSUES/354-a-decided-rename-was-never-scheduled-and-the-operator-believed-it-live/00-report.md)).
|
|
- 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.
|