ADR 0221: a push sends no build a policy or a plan holds back, except to the machine it names #112

Merged
mesh-admin merged 1 commits from decision/0221-a-push-sends-no-held-build into main 2026-10-05 20:26:49 +00:00
Contributor

Issue 259: a named push's cascade (ADR 0083) sent every machine a build that record or a plan's one-machine-first (ADR 0218) was holding back.

  • ADR 0221 (extends 0083):
    • Each send records the builds it carried.
    • A push does not send a machine it did not name when one of its modules would move to a build its policy records, or that an open plan has not sent it yet. The same applies to the bus holder added to a push.
    • Unknown counts as held. The push names the machine and says push <node> sends it.
    • push --behind is unchanged, with the reasons given.
    • Rejected: pinning held modules at their last build.
    • The cost is stated: a held machine that is owed a grant waits for its own push, and is named.
    • Every rule names its test.
  • ADR 0083 gets a dated pointer saying the mechanism changed.
  • to-be 30 gets a revision section, and the decision is added to its list.
  • Issue 259 is set to located, with amended-design and a diagnosis note. fixed-by is left empty until the controller PR merges.

Checks: records.py, index.py (README regenerated) and cycle.py all pass.

Implementation: novox/mesh-controller branch fix/259-a-named-push-sends-no-held-build.

Issue 259: a named push's cascade (ADR 0083) sent every machine a build that `record` or a plan's one-machine-first (ADR 0218) was holding back. - **ADR 0221** (extends 0083): - Each send records the builds it carried. - A push does not send a machine it did not name when one of its modules would move to a build its policy records, or that an open plan has not sent it yet. The same applies to the bus holder added to a push. - Unknown counts as held. The push names the machine and says `push <node>` sends it. - `push --behind` is unchanged, with the reasons given. - Rejected: pinning held modules at their last build. - The cost is stated: a held machine that is owed a grant waits for its own push, and is named. - Every rule names its test. - ADR 0083 gets a dated pointer saying the mechanism changed. - to-be 30 gets a revision section, and the decision is added to its list. - Issue 259 is set to `located`, with `amended-design` and a diagnosis note. `fixed-by` is left empty until the controller PR merges. Checks: records.py, index.py (README regenerated) and cycle.py all pass. Implementation: novox/mesh-controller branch `fix/259-a-named-push-sends-no-held-build`.
mesh-admin added 1 commit 2026-10-05 20:23:50 +00:00
A named push's cascade sent every machine a build held back by `record` or by
a plan waiting on its first machine, so a change meant to be walked through
the mesh one machine at a time reached all of them at once (issue 259).
Records the decision, narrows ADR 0083's flush with a dated pointer, amends
to-be 30, and locates issue 259 in the controller.
mesh-admin merged commit 6719ab029c into main 2026-10-05 20:26:49 +00:00
mesh-admin deleted branch decision/0221-a-push-sends-no-held-build 2026-10-05 20:26:49 +00:00
Author
Contributor

Delivery novox/hq@6719ab029cdc — held since 2026-10-06T23:05:28Z

Held for a person: merged without a passing check: only a person decides that it goes on — mesh-delivery.release with why lets it go on.

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#112 merged; its head was not heard by this owner, so it is made from the forge's word
  • 2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on

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

<!-- mesh-delivery:view --> **Delivery** `novox/hq@6719ab029cdc` — **held** since 2026-10-06T23:05:28Z Held for a person: merged without a passing check: only a person decides that it goes on — `mesh-delivery.release` with why lets it go on. **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#112 merged; its head was not heard by this owner, so it is made from the forge's word - 2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on 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
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/hq#112