Research efforts move from status.md to 00-overview.md with active / graduated / abandoned, matching papa-hq so the two repositories read the same way. Playbooks, skills, README and the ledger follow. Reverses yesterday's withdrawal of the symlink note in GENESIS. The note was right and the withdrawal was wrong: the intent is that the mesh creates no symlinks at all, so a founding document listing "symlinks, not copies" as a design principle does point the opposite way from where this is going, and that is a contradiction rather than a stale detail. ADR 0018 records the position, proposed. ADR 0011 stays as it is — it is the historical decision and the incident behind it is why anyone believes either record — and is superseded in intent, not edited. Its one editorial line, which called the wider reading false, is corrected to state what is actually true: centralising who may link narrowed the incident class without closing it, because a link the installer makes resolves exactly like one made by hand. The argument that kept linking was staleness. ADR 0004 removed it: every managed file is already derived and reconciled, so a copy is the natural form and a pointer into source is the shape the mesh's own model forbids everywhere else. What is not settled, and is marked open, is how staleness gets detected — which is the decision that makes or breaks it.
49 lines
1.9 KiB
Markdown
49 lines
1.9 KiB
Markdown
# Playbook 01 — Research
|
|
|
|
**Trigger.** An idea, technology or approach worth investigating before it is committed to
|
|
design. Also: an as-is document that raises a question nobody can answer.
|
|
|
|
**Who runs it.** Anyone.
|
|
|
|
## Steps
|
|
|
|
1. Take the next free number: highest `01-RESEARCH/NNN-*` plus one, zero-padded to three
|
|
digits. Never skip or reuse a number.
|
|
2. Create `01-RESEARCH/NNN-descriptive-name/` and a `00-overview.md` in it carrying:
|
|
|
|
```yaml
|
|
---
|
|
status: active
|
|
initiated: YYYY-MM-DD
|
|
touches: [] # areas, subsystems or as-is design docs the effort bears on
|
|
---
|
|
```
|
|
|
|
Then a short prose summary: **what** is being investigated, **why**, and **what it
|
|
touches**.
|
|
3. Do the research in further documents in the same folder — notes, option analyses, evidence,
|
|
draft designs. Anything goes. Keep the summary in `00-overview.md` current as the effort changes
|
|
shape.
|
|
|
|
## What makes research worth reading
|
|
|
|
State evidence, not assertion. *"Zero of 124 modules declare `brain` as a dependency"*
|
|
outranks *"the dependency rule is not followed"*. An effort that measured nothing has not
|
|
finished.
|
|
|
|
Research describes real observations but never identifies the mesh it observed. The shape of a
|
|
finding survives anonymisation intact — *a node publicly named but behind a household NAT*
|
|
carries the whole lesson without naming anything.
|
|
|
|
## Do not
|
|
|
|
- Do not put status in prose. It lives in `00-overview.md`'s frontmatter, and the prose must not restate it.
|
|
- Do not set `became:` while the effort is open — playbook 02 sets it at closure.
|
|
- Do not write into `02-DESIGN` from an open effort.
|
|
|
|
## Closing
|
|
|
|
An effort never just stops. It closes through playbook [02](02-graduation.md) as `graduated`
|
|
or `abandoned`, always with `became:` pointing at what it turned into. Nothing is deleted —
|
|
what was rejected, and why, is the more expensive half to rediscover.
|