papa-hq reads 01 research -> 03 decision -> 02 design. The order is a scar, not a choice: 02-DESIGN existed from its initial commit, and when adr/ was finally promoted on 2026-07-13 it took the next free number rather than its place in the sequence. By then design was too settled to renumber. hal-hq was three commits old, so it is not. adr/ becomes 02-DECISIONS and 02-DESIGN becomes 03-DESIGN, and following the folder numbers now walks the process in the order it happens: research produces a decision, the decision authorises a design. 00-GENESIS becomes 00-META, matching papa's rename from the same restructure. Every path reference rewritten across documents, frontmatter, playbooks and skills. All links resolve; all 58 frontmatter blocks parse and their path fields still point at files that exist.
31 lines
1.5 KiB
Markdown
31 lines
1.5 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 record in [`02-DECISIONS/`](../../02-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.** hal-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.
|
|
- 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.
|