Merge pull request 'Playbooks 01 and 02: place research in the domains; its words reach the glossary at graduation' (#382) from playbooks/01-place-it-in-the-domains into main

Reviewed-on: #382
This commit was merged in pull request #382.
This commit is contained in:
2026-10-16 12:24:26 +00:00
2 changed files with 18 additions and 5 deletions
+12 -4
View File
@@ -63,13 +63,20 @@ An idea arrives in one of two forms, and the first step differs:
the reviews. the reviews.
- **Pre-check before proposing**, against what the review sends back most: every record, issue or design - **Pre-check before proposing**, against what the review sends back most: every record, issue or design
the text names is in `links`; work put off names the issue that tracks it (an acceptance test is not the text names is in `links`; work put off names the issue that tracks it (an acceptance test is not
put-off work: it is what the build proves, step 6); each figure is given as measured (a range, not a put-off work: it is what the build proves, step 7); each figure is given as measured (a range, not a
rounded claim); no word on a glossary *Not:* line. rounded claim); no word on a glossary *Not:* line.
- **Try at the cheapest level that answers the question.** A program's own behaviour (a library, a - **Try at the cheapest level that answers the question.** A program's own behaviour (a library, a
server, a protocol) is tried in process, on the machine's loopback, in minutes. Lab runs (about 12 to server, a protocol) is tried in process, on the machine's loopback, in minutes. Lab runs (about 12 to
16 minutes fresh) are for the mesh's own code; before that code exists, a lab run tests nothing an 16 minutes fresh) are for the mesh's own code; before that code exists, a lab run tests nothing an
in-process test does not, and its lab scenario is written as the build's acceptance test instead. in-process test does not, and its lab scenario is written as the build's acceptance test instead.
6. **Settle the direction with the operator.** When the questions are answered, write `05-direction.md`: 6. **Place it in the domains.** Before the direction, write `03-domains.md`: the domain or domains the idea
belongs to (the glossary's sections, ADR 0244); the modules and seats it lands in, each new, changed or
retired; what it does to each domain's words, each word added (with its domain and a one-line meaning),
changed or retired, and none on a *Not:* line or already meaning something else (the glossary's homonyms);
and whether a domain grows or shrinks, a concept moving between domains included. The direction names its
decisions in those words. Asked when the idea is set up, too: an option that lands a concept in the wrong
domain is offered with that cost named, like one that breaks a rule.
7. **Settle the direction with the operator.** When the questions are answered, write `05-direction.md`:
the proposed decisions in a few lines each, the options rejected and why, and the build's acceptance the proposed decisions in a few lines each, the options rejected and why, and the build's acceptance
tests: what the build must prove before it is done, carried by its milestones (playbook tests: what the build must prove before it is done, carried by its milestones (playbook
[04](04-build-handoff.md)). Nothing else is left open: each question closes by a test, by a decision the [04](04-build-handoff.md)). Nothing else is left open: each question closes by a test, by a decision the
@@ -84,7 +91,8 @@ An idea arrives in one of two forms, and the first step differs:
| reading and the setup questions (1, 2) | 30 minutes | the session's own, larger | | reading and the setup questions (1, 2) | 30 minutes | the session's own, larger |
| proposing (3, 4) | 15 minutes | larger | | proposing (3, 4) | 15 minutes | larger |
| each experiment or reading task (5) | 30 minutes | smaller, one agent at a time unless the operator allows more | | each experiment or reading task (5) | 30 minutes | smaller, one agent at a time unless the operator allows more |
| the direction (6) | 30 minutes | larger | | placing it in the domains (6) | 15 minutes | larger |
| the direction (7) | 30 minutes | larger |
A step past its bound is said to the operator at once, with what is being done about it. The lead reports A step past its bound is said to the operator at once, with what is being done about it. The lead reports
as playbook 07 does: every ten minutes and at once when something is found, stops or needs the operator, as playbook 07 does: every ten minutes and at once when something is found, stops or needs the operator,
@@ -124,7 +132,7 @@ and why, is the more expensive half to rediscover.
The rules on an effort are the knowledge base's: `propose` refuses one that breaks a rule that judges one The rules on an effort are the knowledge base's: `propose` refuses one that breaks a rule that judges one
record (the module's table test holds one case per rule), and the rules that judge the whole record set run record (the module's table test holds one case per rule), and the rules that judge the whole record set run
after every acceptance and raise a condition when one fails. The habits of steps 2, 5 and 6 (options checked after every acceptance and raise a condition when one fails. The habits of steps 2, 5, 6 and 7 (options checked
against the rules, one version per settled set, the cheapest level, nothing left open) are the lead's, read by against the rules, one version per settled set, the cheapest level, nothing left open) are the lead's, read by
the reviewer; of the pre-check, `propose` refuses a link to nothing and a retired word, and the review returns the reviewer; of the pre-check, `propose` refuses a link to nothing and a retired word, and the review returns
a record named but not linked, an untracked deferral and a figure not as measured. That this repository holds a record named but not linked, an untracked deferral and a figure not as measured. That this repository holds
+6 -1
View File
@@ -13,7 +13,7 @@ clauses in force for a topic or a record).
## Graduating research ## Graduating research
The effort's `05-direction.md`, confirmed by the operator (playbook [01](01-research.md), step 6), is what The effort's `05-direction.md`, confirmed by the operator (playbook [01](01-research.md), step 7), is what
graduates. The lead writes the records and the design on the larger model; it is one sitting, bounded at graduates. The lead writes the records and the design on the larger model; it is one sitting, bounded at
about an hour, and said to the operator if it runs past. about an hour, and said to the operator if it runs past.
@@ -48,6 +48,11 @@ about an hour, and said to the operator if it runs past.
The design lists the direction's acceptance tests: what the build proves before it is done. The design lists the direction's acceptance tests: what the build proves before it is done.
The words of the effort's `03-domains.md` go into the glossary in the same change, each in its domain: a
word added gets its entry, a word whose meaning changed gets its entry rewritten, and a retired word moves to
its replacement's *Not:* line. A word that already means something else in another domain is named as a
homonym with the qualified form each domain uses.
4. **Hand it to the work breakdown.** The design goes on through playbook [04](04-build-handoff.md): 4. **Hand it to the work breakdown.** The design goes on through playbook [04](04-build-handoff.md):
milestones, issues, and each milestone built as one feature step (playbook [07](07-feature-branches.md)). milestones, issues, and each milestone built as one feature step (playbook [07](07-feature-branches.md)).
5. **Close the effort.** `knowledge-base.propose` the effort again, whole, with `status: graduated` and a 5. **Close the effort.** `knowledge-base.propose` the effort again, whole, with `status: graduated` and a