Retire the word epic, and define milestone as a group of a design's issues delivered together (issue 1105)
mesh/merge-gate head 19bd7fd96066 merged into trunk f82a90dfa021 — pass: the change touches no module of the mesh's graph
mesh/repo-check head 19bd7fd96066 merged into trunk f82a90dfa021 — pass: its merge-check.sh passed
mesh/delivery delivered

The operator decided on 2026-10-18 that a domain word is used only when clearly defined. epic had three uses and no code; design 47 now names two ways, hotfix and feature.
This commit is contained in:
2026-10-18 04:08:15 +02:00
parent f82a90dfa0
commit 19bd7fd960
2 changed files with 10 additions and 8 deletions
+4 -3
View File
@@ -751,9 +751,10 @@ Not a domain of the mesh but of the way it is built, listed because its words me
([55 — The knowledge base](../03-DESIGN/01-to-be/55-the-knowledge-base.md)). Not **the record**, the literal reader
of this repository.
- **design** — a document in `03-DESIGN/`: **as-is** (what runs) or **to-be** (what is being built).
- **milestone** — one step of a design's work breakdown, usable on its own once delivered and named by what the
operator or the mesh can then do; delivered as one feature (playbook 04, ADR 0401).
- **epic** — a run of milestones in one design, released milestone by milestone (ADR 0401).
- **milestone** — a group of a design's issues delivered together, as one delivery group, or one pull request when
it touches one repository; named by what the operator or the mesh can do once it is delivered (playbook 04,
ADR 0401).
*Not:* ~~epic~~ (hq)
- **issue** — a question about the mesh that someone must answer, numbered and tracked by the issue tracker, which
holds it whole: its report, diagnosis and resolution included (ADR 0291);
the folders in `04-ISSUES/` are imported there and removed.
@@ -43,10 +43,10 @@ decisions:
# 47 — Delivery: from a commit to delivered
**A change reaches the machines in one of three ways, all owned by mesh-delivery: a hotfix (one pull request,
delivered at its merge), a feature (one branch name across its repositories: in two or more, one delivery
**A change reaches the machines in one of two ways, both owned by mesh-delivery: a hotfix (one pull request,
delivered at its merge) or a feature (one branch name across its repositories: in two or more, one delivery
group merged in one pass on the operator's one Approve and delivered by one delivery plan; in one, a lone
delivery), or an epic (a run of milestones, each delivered as a feature). The trunk is what runs; there is no
delivery). A design's milestones are features delivered one after another. The trunk is what runs; there is no
"release branch"** (ADR 0401, ADR 0418 §1, ADR 0421 §2).
**Every step starts on an event, and the state lives on the bus.** The forge's events, the controller's
@@ -92,7 +92,7 @@ controller's delivery tables and the timers that polled them.
- **Each node's backup seat** (`node-backup`) backs up the data a delivery plan moves there before the plan
sends anything (ADR 0404).
## Three ways a change reaches the machines
## Two ways a change reaches the machines
*ADR 0401.*
@@ -100,13 +100,14 @@ controller's delivery tables and the timers that polled them.
|---|---|---|
| **hotfix** | one pull request in one repository | at its merge, as a lone delivery; a lone merge is cut at once (ADR 0282 §2, as ADR 0304 §1 changed it) |
| **feature** | one branch name across its repositories; in two or more, its pull requests are one delivery group; in one, a single pull request | a group is merged in one pass once its composed check passed at every member's head and the operator gave the group's one Approve (ADR 0418 §4, ADR 0421 §2); its merges are one batch and one delivery plan, each module built once and sent once (ADR 0418 §1); in one repository, as a lone delivery like a hotfix |
| **epic** | a run of milestones in one design (playbook 04) | each milestone is a feature, delivered when its own group is ready; the next starts when the previous one's delivery plan is done |
- **The trunk is what runs.** Every delivery is cut from a repository's trunk. A merge into any other branch
starts no delivery, and the controller says so for that merge (issue 889). Holding merged work back, on a
branch beside the trunk or per module, was dropped: from 2026-10-13 23:52 to 2026-10-16 09:32 feature 57's
branches held the controller for 55.7 h, and 28 of 68 other merges touched a held module (research 055,
finding 3).
- **A design's milestones are features, one after another.** Each milestone is delivered as a feature when its
own group is ready; the next starts when the previous one's delivery plan is done (playbook 04).
- **A milestone is functional, its delivery shaped technically.** A milestone is named by what the operator or
the mesh can do once it is delivered; how it ships is shaped by the delivery plan its changes would have, asked of
the controller's planner through mesh-delivery's `what-if` (ADR 0239 §3): the modules it moves and their fan-out.