Accept ADR 0282: the operator decided the delivery budgets on 2026-10-10
To-be 47 lists the record among its decisions, ADR 0236 and ADR 0276 say where their mechanism moves, and the glossary drops 'proposed'.
This commit is contained in:
+2
-2
@@ -368,13 +368,13 @@ planner, the walk). **Downstream of** Module, Core, Health and repair and Data.
|
||||
back, no condition raised since the send (ADR 0236 §2). Not *the gate* bare (see [Homonyms](#homonyms)).
|
||||
- **core module** and **leaf module** — a core module is one on the controller's own path (the controller,
|
||||
the node-engine, the tool runner, the bus, mesh-delivery) or the mesh's resolver, whose judgement protects
|
||||
the mesh's ability to reach a node at all; a leaf module is every other module. Proposed by
|
||||
the mesh's ability to reach a node at all; a leaf module is every other module. Decided by
|
||||
[ADR 0282](../02-DECISIONS/0282-a-fix-to-a-leaf-module-runs-healthy-on-every-node-within-five-minutes-of-its-merge-and-a-core-module-within-ten.md).
|
||||
Not a *core component* (ADR 0236's controller, node-engine, tool runner and bus, each with a health probe):
|
||||
the core modules add mesh-delivery and the resolver.
|
||||
- **delivery time** — from a delivery's merge to every node of its deploy plan that is heard from running its
|
||||
modules' builds and reporting them healthy. Its **delivery budget** is what it is held to: five minutes for
|
||||
a leaf module, ten for a core module (proposed by ADR 0282). Not the walk's time, which ends at the send.
|
||||
a leaf module, ten for a core module (ADR 0282). Not the walk's time, which ends at the send.
|
||||
- **release** — a person's word that a held delivery goes on; the verb `mesh-delivery.release`. Used in
|
||||
this sense only.
|
||||
- **rollback** — putting a node back on the build it ran before, by something other than the build being
|
||||
|
||||
+7
@@ -111,6 +111,13 @@ gated: it is the module saying it must change everywhere at once.
|
||||
> passes, so that when the send fails, a module healthy on its own for the passes asked keeps a pass and is
|
||||
> not put back (issue 318).
|
||||
|
||||
> **The mechanism changed — 2026-10-10, by [ADR 0282](0282-a-fix-to-a-leaf-module-runs-healthy-on-every-node-within-five-minutes-of-its-merge-and-a-core-module-within-ten.md).**
|
||||
> What stands: a core module's three judgings, their spacing and bound, and every other point above. What
|
||||
> moved: a leaf module (every module off the controller's own path and the mesh's resolver) is judged on two
|
||||
> readings when it has a long-running resource and on one when its every resource is a tools bundle, and one
|
||||
> tier's first machines are judged at once. Until ADR 0282's third slice is built, three judgings hold for every
|
||||
> module.
|
||||
|
||||
**3. A build that fails its gate is put back there, once, and never sent again on its own.** The plan
|
||||
stops; the build is marked failed at its gate; the module's registered build goes back to the build the
|
||||
first machine ran before — the newest successful build of that commit still kept ([ADR 0189](0189-the-store-keeps-what-the-records-name.md)
|
||||
|
||||
+7
@@ -135,6 +135,13 @@ either, because **delivery group** already names deliveries that share a head br
|
||||
are replaced by it. A merge heard after a later merge of its repository and branch was put in a walk is
|
||||
answered by that walk: by the batch still assembling, by the open walk, or, when that walk was delivered,
|
||||
it ends `covered` at once.
|
||||
|
||||
> **The mechanism changed — 2026-10-10, by [ADR 0282](0282-a-fix-to-a-leaf-module-runs-healthy-on-every-node-within-five-minutes-of-its-merge-and-a-core-module-within-ten.md).**
|
||||
> What stands: the window for a merge whose delivery group has a member not yet merged or that arrives while a
|
||||
> batch assembles (decision 1), two walks of one repository never at once, and no walk superseded once it
|
||||
> started. What moved: a lone merge is cut at once without the window, and walks that share no repository,
|
||||
> module or module-graph edge run at once, one first-node judgement per machine at a time. Until ADR 0282's
|
||||
> second and fourth slices are built, the window for every merge and one walk at a time hold.
|
||||
5. **The order of a delivery group holds inside a walk** (ADR 0249 unchanged). The pairs its order rules
|
||||
give (declared, built by, version skew, engine before controller, each with the rule that won) become
|
||||
edges of the walk's tiers beside the module graph: the modules of a member ordered after another are in
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
---
|
||||
topic: the mesh
|
||||
status: proposed
|
||||
status: accepted
|
||||
date: 2026-10-10
|
||||
deciders: jochen
|
||||
reconstructed: false
|
||||
|
||||
@@ -4,6 +4,7 @@ status: designed
|
||||
code: []
|
||||
updated: 2026-10-10
|
||||
decisions:
|
||||
- 02-DECISIONS/0282-a-fix-to-a-leaf-module-runs-healthy-on-every-node-within-five-minutes-of-its-merge-and-a-core-module-within-ten.md
|
||||
- 02-DECISIONS/0276-merges-are-assembled-in-a-rolling-window-and-each-batch-is-delivered-by-one-walk-with-one-commit-per-repository.md
|
||||
- 02-DECISIONS/0270-a-held-delivery-that-moves-nothing-or-that-a-later-delivered-merge-contains-ends-by-itself-and-a-hold-whose-reason-is-gone-lifts.md
|
||||
- 02-DECISIONS/0250-a-merge-heard-only-from-the-buss-history-is-retired-and-owed-work-the-forge-cannot-do-ends.md
|
||||
@@ -160,10 +161,9 @@ controller's `plan-moved` event, never inferred from time.
|
||||
|
||||
## The delivery budget
|
||||
|
||||
*Proposed 2026-10-10 by [ADR 0282](../../02-DECISIONS/0282-a-fix-to-a-leaf-module-runs-healthy-on-every-node-within-five-minutes-of-its-merge-and-a-core-module-within-ten.md),
|
||||
which awaits the operator's decision. Nothing in this section is in force until that record is accepted; then it
|
||||
joins this document's decisions and replaces, where they differ, the window for every merge and the one walk at a
|
||||
time above.*
|
||||
*Decided 2026-10-10 by [ADR 0282](../../02-DECISIONS/0282-a-fix-to-a-leaf-module-runs-healthy-on-every-node-within-five-minutes-of-its-merge-and-a-core-module-within-ten.md).
|
||||
Where it differs, this section replaces the window for every merge and the one walk at a time above, slice by
|
||||
slice as each slice below is built; until a slice is built, the text above is what runs.*
|
||||
|
||||
**The target.** A delivery's **delivery time** runs from its merge to every node of its deploy plan that is heard
|
||||
from running its modules' builds and reporting them healthy. A **leaf module's** delivery budget is five minutes;
|
||||
|
||||
Reference in New Issue
Block a user