ADR 0270 and 0271 (accepted): a held delivery a later merge contains, or that moves nothing, ends by itself; a send held for the bus's step is told at once
#241
Merged
mesh-adminmerged 7 commits from decision/0270-0271-held-deliveries-end-and-bus-step-said into main2026-10-09 07:35:21 +00:00
Decisions to take (both proposed; the operator accepts):
ADR 0270 (issues 319, 316): a merge that moves nothing is delivered at once; new final state covered for a merge whose every module a later delivered walk of the same trunk sent; a group member waits published while its composed check is unanswered and is lifted back when it passes. Extends ADR 0239's table.
ADR 0271 (issue 336): signals row S17 bus.<module>.step-waiting, raised at the first refused send for the operator with the verb; S3 leaves such a walk out; the delivery plan says before the merge that a person's bus upgrade follows. Extends ADR 0236.
Each issue's diagnosis gains a dated section: what the fix does and how to verify it once delivered.
Includes issue 336's report and diagnosis (merged in from issues/336-a-send-held-for-the-bus-step-raises-nothing, PR #228), since ADR 0271 links to them: merge #228 first.
Not in this PR, on acceptance: flip both to accepted and give them their home in to-be 47 (state table: covered, the moves-nothing and lifted rows, the group's wait) and to-be 45 (S17 in §3, a line in §8), plus the glossary's delivery entry (final states). A design cannot cite a proposed record (records.py).
**Decisions to take** (both `proposed`; the operator accepts):
- **ADR 0270** (issues 319, 316): a merge that moves nothing is delivered at once; new final state `covered` for a merge whose every module a later delivered walk of the same trunk sent; a group member waits published while its composed check is unanswered and is lifted back when it passes. Extends ADR 0239's table.
- **ADR 0271** (issue 336): signals row S17 `bus.<module>.step-waiting`, raised at the first refused send for the operator with the verb; S3 leaves such a walk out; the delivery plan says before the merge that a person's bus upgrade follows. Extends ADR 0236.
Each issue's diagnosis gains a dated section: what the fix does and how to verify it once delivered.
**Includes issue 336's report and diagnosis** (merged in from `issues/336-a-send-held-for-the-bus-step-raises-nothing`, PR #228), since ADR 0271 links to them: merge #228 first.
**Not in this PR, on acceptance:** flip both to `accepted` and give them their home in to-be 47 (state table: `covered`, the moves-nothing and lifted rows, the group's wait) and to-be 45 (S17 in §3, a line in §8), plus the glossary's *delivery* entry (final states). A design cannot cite a proposed record (records.py).
Code: mesh-catalog #150 (ADR 0270), mesh-controller fix/336-bus-step-waiting (ADR 0271).
merge-check.sh passes locally.
For 28 minutes on 2026-10-08 every send to the control-node waited for a bus upgrade only a person can start, and nothing but a walk's note said so. Located in the controller: the refusal is kept as the walk's note, S3 fires only past a 30-minute bound with generic words, and probe DB reads only a running step.
Issues 319 and 316: fifteen held deliveries asked a person a question with no right answer, and stop,
the only way out, records a delivered change as an error. ADR 0270 delivers a merge that moves nothing at
once, adds the final state covered for a merge a later delivered walk of the same trunk carried, and lifts
a group hold once its composed check passed.
Issue 336: a send held for the bus's planned step raised nothing for 28 minutes. ADR 0271 adds row S17,
said at the first refusal for the operator with the verb, keeps S3 from calling it lateness, and has the
delivery plan say before the merge that a person's bus upgrade follows.
Each issue's diagnosis says what the fix does and how to verify it once delivered.
Deliverynovox/hq@29bf2cae30d5 — delivered since 2026-10-09T07:35:41Z
Delivery plan — builds nothing: the change touches no module of the mesh's graph
Transitions
2026-10-09 07:30 (new) → proposed (announced): novox/hq#241's head announced
2026-10-09 07:30 proposed → checked (checked): the verdict names this commit
2026-10-09 07:30 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-09 07:35 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
2026-10-09 07:35 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@29bf2cae30d5` — **delivered** since 2026-10-09T07:35:41Z
**Delivery plan** — builds nothing: the change touches no module of the mesh's graph
**Transitions**
- 2026-10-09 07:30 (new) → proposed (announced): novox/hq#241's head announced
- 2026-10-09 07:30 proposed → checked (checked): the verdict names this commit
- 2026-10-09 07:30 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-09 07:35 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
- 2026-10-09 07:35 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`.
Merge order on a protected trunk is kept only as the first filter; the forge's compare, through a new
read-only tool, decides whether a later merge contains a held one. A merge held without a passing check is
covered only by a later delivery whose own check passed. Covered says a later merge that contains it was
delivered, not that the change runs: a revert in between stays possible. A delivery that only adds a module
is delivered whatever its build does, and covered wins over go when a person's walk fails between two
readings. The glossary gains covered beside superseded and delivered.
ADR 0271 names the bus upgrade as the mesh call and says S17 clears once the step sent the new bus.
Decision 1 named S6 for a failed new-module build; S6 is a lost build ask. Such a build is said by one
line in the controller's log until its module is assigned. A module on one machine never gets a 'rest'
step, so covered never reaches it. The forge module's tests run in the catalogue's TypeScript check, #151.
The operator accepted both on 2026-10-09. Design 47's state table gains covered and what ends a held
delivery by itself, and its group the wait for a composed check and the lift; design 45's signals table
gains S17 and its planned bus step says the wait is told at once. The glossary's delivery entry names its
six final states.
mesh-admin
changed title from ADR 0270 and 0271 (proposed): a held delivery whose change runs ends by itself; a send held for the bus's step is told at once to ADR 0270 and 0271 (accepted): a held delivery a later merge contains, or that moves nothing, ends by itself; a send held for the bus's step is told at once2026-10-09 07:29:17 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Decisions to take (both
proposed; the operator accepts):coveredfor a merge whose every module a later delivered walk of the same trunk sent; a group member waits published while its composed check is unanswered and is lifted back when it passes. Extends ADR 0239's table.bus.<module>.step-waiting, raised at the first refused send for the operator with the verb; S3 leaves such a walk out; the delivery plan says before the merge that a person's bus upgrade follows. Extends ADR 0236.Each issue's diagnosis gains a dated section: what the fix does and how to verify it once delivered.
Includes issue 336's report and diagnosis (merged in from
issues/336-a-send-held-for-the-bus-step-raises-nothing, PR #228), since ADR 0271 links to them: merge #228 first.Not in this PR, on acceptance: flip both to
acceptedand give them their home in to-be 47 (state table:covered, the moves-nothing and lifted rows, the group's wait) and to-be 45 (S17 in §3, a line in §8), plus the glossary's delivery entry (final states). A design cannot cite a proposed record (records.py).Code: mesh-catalog #150 (ADR 0270), mesh-controller fix/336-bus-step-waiting (ADR 0271).
merge-check.sh passes locally.
Delivery
novox/hq@29bf2cae30d5— delivered since 2026-10-09T07:35:41ZDelivery plan — builds nothing: the change touches no module of the mesh's graph
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.ADR 0270 and 0271 (proposed): a held delivery whose change runs ends by itself; a send held for the bus's step is told at onceto ADR 0270 and 0271 (accepted): a held delivery a later merge contains, or that moves nothing, ends by itself; a send held for the bus's step is told at once