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.
1.4 KiB
1.4 KiB
name, description
| name | description |
|---|---|
| hal-handoff | Use when a hal-hq design is settled and implementation is about to start in a code repository. Triggers on "start building this", "hand this off", "ready to implement", "who owns this now". |
hal-handoff
Hands a settled design to a code repository. Authoritative playbook:
00-META/process/04-build-handoff.md.
Steps
- Confirm it is settled.
status: designed, and every claim traceable to a record in02-DECISIONS/. An open question in the text is a reason to runhal-new-research, not to build around it. - Name the owner. Set
code:from00-META/repos.md. If the repository does not exist yet, add it torepos.mdin the same change. - Read the as-is counterpart. What is being replaced must be written down in
03-DESIGN/00-as-is/before it is changed. Building against an undocumented as-is is how shipped behaviour gets lost. - Flip the status to
in-progress,updated:today. - Build in the code repository. hal-hq never carries implementation.
- On completion, run
hal-graduate's "when something ships" section.
Non-negotiable
- 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.
- Never push to the main branch.