To-be 47: a merge whose walk said its modules unchanged is delivered (issue 611)
mesh/merge-gate head 18a5b2ac1a48 merged into trunk 8e6ca012c556 — pass: the change touches no module of the mesh's graph
mesh/repo-check head 18a5b2ac1a48 merged into trunk 8e6ca012c556 — pass: its merge-check.sh passed
mesh/delivery delivered
mesh/delivery-group group fix/611-an-unchanged-build-is-delivered delivered: every member is delivered
mesh/merge-gate head 18a5b2ac1a48 merged into trunk 8e6ca012c556 — pass: the change touches no module of the mesh's graph
mesh/repo-check head 18a5b2ac1a48 merged into trunk 8e6ca012c556 — pass: its merge-check.sh passed
mesh/delivery delivered
mesh/delivery-group group fix/611-an-unchanged-build-is-delivered delivered: every member is delivered
Names the walk record's delivery.unchanged, decided under the operator's standing rule on small design limits, and how mesh-delivery reads it.
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
layer: to-be
|
||||
status: in-progress
|
||||
code: [mesh-controller, mesh-catalog modules/mesh-delivery]
|
||||
updated: 2026-10-12
|
||||
updated: 2026-10-13
|
||||
decisions:
|
||||
- "ADR 0323"
|
||||
- "ADR 0313"
|
||||
@@ -132,6 +132,15 @@ delivery merged with no walk answering it within ten minutes is held too, with t
|
||||
says `covered: a later merge that contains it was delivered` as a success. A module that runs on one
|
||||
machine only is covered too: its walk records the empty rest as sent once its first machine passes
|
||||
(ADR 0270, as corrected 2026-10-12);
|
||||
- *a merge whose walk said its modules unchanged* moves nothing too, and is `delivered` when that walk ends,
|
||||
whichever commit the walk carried (issue 611). A delivery plan made while another walk built a module reads
|
||||
that module whole and names it; the walk, cut later, reads the build source that build recorded (ADR 0267) and
|
||||
may find none of the changed files in it. The walk's record then says so in `delivery.unchanged`: each such
|
||||
module with why, "its build source holds none of the changed files", and not in its modules, which keep
|
||||
meaning what the walk builds. A delivery whose every module the walk built or said unchanged is delivered,
|
||||
saying which matched what runs. One with a module the walk neither built nor said unchanged is read as below.
|
||||
Checked by the controller's `TestAWalkThatMovedNothingSaysWhichModulesMatchedWhatRuns` and mesh-delivery's
|
||||
`TestAMergeWhoseModulesMatchWhatRunsIsDelivered`;
|
||||
- *a stop whose walk ended without building its modules* (issue 474) stays `stopped`, a final state, and
|
||||
is read as covered once a later merge covers it by the same test: `mesh/delivery` then says `covered after
|
||||
its stop` with the covering merge, once, as a success. No state or transition is added (issue 480);
|
||||
|
||||
Reference in New Issue
Block a user