ADR 0239: a delivery is owned by mesh-delivery and runs from commit to delivered #156

Merged
mesh-admin merged 2 commits from design/0239-a-delivery-is-owned-by-mesh-delivery into main 2026-10-06 22:07:19 +00:00
Contributor

The operator's decision of 2026-10-06: a new module, mesh-delivery, holding a seat of the same name, owns the delivery (one commit in one repository: one PR, one status, one note) and the delivery group (deliveries sharing a head branch name across repositories, one level, ordered and checked as one future state), and coordinates their workflow.

  • ADR 0239 — the owner, the composite model, the state table with guards, the trunk rule as the guard on published, group membership (branch name; needs: dropped), order (declared after: + inferred by the planner: built-by, version skew, engine before controller), the clean stop of a failed member (what was delivered stays; the failed member's builds put back at its gate), the four ways each transition is said, the boundary (the controller keeps planner, gate, registration, sending, the walk), the bootstrap rule (the core and mesh-delivery on the controller's built-in path; a check never depends on mesh-delivery; push / plans go by hand when it is down), KV state, the switch without a gap. Rejected: change, upgrade-planner, release, pipeline; the controller as owner; timing/trailer/verb grouping; porting the walk now; a postgres database.
  • to-be 47 — the design, with phases A (owner), B (conditions + H2), C (the walk itself, not decided).
  • to-be 10 — a dated section: a delivery has an owner; answers its first open question.
  • Glossary — delivery, delivery group, delivery plan (retires change plan), mesh-delivery, walk.
  • ADR 0238 / 0236 — pointer notes where the state machine, the release plan and the notes moved.

Checks: records.py, index.py, cycle.py, merge-check.sh pass. Role names only.

Build: mesh-controller, mesh-catalog, mesh-host on feat/mesh-delivery (PRs to follow).

The operator's decision of 2026-10-06: a new module, `mesh-delivery`, holding a seat of the same name, owns the **delivery** (one commit in one repository: one PR, one status, one note) and the **delivery group** (deliveries sharing a head branch name across repositories, one level, ordered and checked as one future state), and coordinates their workflow. - **ADR 0239** — the owner, the composite model, the state table with guards, the trunk rule as the guard on `published`, group membership (branch name; `needs:` dropped), order (declared `after:` + inferred by the planner: built-by, version skew, engine before controller), the clean stop of a failed member (what was delivered stays; the failed member's builds put back at its gate), the four ways each transition is said, the boundary (the controller keeps planner, gate, registration, sending, the walk), the bootstrap rule (the core and mesh-delivery on the controller's built-in path; a check never depends on mesh-delivery; `push` / `plans go` by hand when it is down), KV state, the switch without a gap. Rejected: change, upgrade-planner, release, pipeline; the controller as owner; timing/trailer/verb grouping; porting the walk now; a postgres database. - **to-be 47** — the design, with phases A (owner), B (conditions + H2), C (the walk itself, not decided). - **to-be 10** — a dated section: a delivery has an owner; answers its first open question. - **Glossary** — delivery, delivery group, delivery plan (retires *change plan*), mesh-delivery, walk. - **ADR 0238 / 0236** — pointer notes where the state machine, the release plan and the notes moved. Checks: `records.py`, `index.py`, `cycle.py`, `merge-check.sh` pass. Role names only. Build: mesh-controller, mesh-catalog, mesh-host on `feat/mesh-delivery` (PRs to follow).
mesh-admin added 1 commit 2026-10-06 21:18:44 +00:00
ADR 0239: a delivery is owned by mesh-delivery and runs from commit to delivered
mesh/delivery superseded: a newer head of the same pull request
mesh/merge-gate pass: the change touches no module of the mesh's graph
16b187d4c3
One owner for one commit's journey, so 'did my change go out' is answered by
one module instead of five records joined by hand; delivery groups make the
cross-repository order the mesh enforces instead of the person merging.
jschoubben added 1 commit 2026-10-06 21:58:31 +00:00
ADR 0239 and to-be 47: as built — registered at the walk's start, the forge asked through its tools
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/delivery delivered
e1b95d09cd
A build registered before its turn is carried by the next send to its
machines, so a published delivery asks nothing until its walk starts; the
rows the build needed (appeared, adopted, held on no walk, held then go)
and Phase B's verbs-without-probe are now said.
mesh-admin merged commit c51a3da5d5 into main 2026-10-06 22:07:19 +00:00
mesh-admin deleted branch design/0239-a-delivery-is-owned-by-mesh-delivery 2026-10-06 22:07:19 +00:00
Author
Contributor

Delivery novox/hq@e1b95d09cd1c — delivered since 2026-10-06T23:05:28Z

Delivery plan — builds nothing: the change touches no module of the mesh's graph

Transitions

  • 2026-10-06 23:05 (new) → proposed (announced): novox/hq#156's head announced
  • 2026-10-06 23:05 proposed → checked (checked): the verdict names this commit
  • 2026-10-06 23:05 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-06 23:05 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
  • 2026-10-06 23:05 published → delivered (done): nothing for a walk to move

The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/hq@e1b95d09cd1c` — **delivered** since 2026-10-06T23:05:28Z **Delivery plan** — builds nothing: the change touches no module of the mesh's graph **Transitions** - 2026-10-06 23:05 (new) → proposed (announced): novox/hq#156's head announced - 2026-10-06 23:05 proposed → checked (checked): the verdict names this commit - 2026-10-06 23:05 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-06 23:05 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move - 2026-10-06 23:05 published → delivered (done): nothing for a walk to move The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/hq#156