Agree a toolchain by strict majority; a node on another version sits out (ADR 0584, issue 1578) #587

Merged
mesh-tools merged 2 commits from fix/toolchain-majority into main 2026-11-01 15:04:12 +00:00
Member

Delivery group fix/toolchain-majority (mesh-sdk, mesh-delivery, mesh-catalog), one check, one Approve. Issue 1578. Decision: ADR 0584 (accepted 2026-11-01, chosen by the operator): the agreed toolchain of a language is the version a strict majority of build nodes report; a build waits only when no version has a strict majority; a node on another version builds nothing of that language (it declines build and check asks instead of failing them) and is named in the build's Step ("ace sits out: typescript 26.12.1, agreed 26.13.0"), readable through builder_builds. Changes ADR 0477 §2.

Why: on 2026-11-01 ace reported Node.js 26.12.1 and the other three 26.13.0, and no TypeScript module built from about 09:00 (36 modules, gitea among them). Quick fix (pause ace's TypeScript builder or upgrade ace) weighed against the thorough fix (this group): thorough chosen, the second time a version gap stalled builds.

This member: mesh-build-go and mesh-build-node (the build modules that run askrun and the Puller) pin mesh-sdk v0.1.14-0.20261101143343-67354f8e019a. Only go.mod and go.sum change.

Reviewed-by: reviewerA@shanks at f06335cf7e
Pushed-by: lead-47@shanks

https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL

Delivery group fix/toolchain-majority (mesh-sdk, mesh-delivery, mesh-catalog), one check, one Approve. Issue 1578. Decision: ADR 0584 (accepted 2026-11-01, chosen by the operator): the agreed toolchain of a language is the version a strict majority of build nodes report; a build waits only when no version has a strict majority; a node on another version builds nothing of that language (it declines build and check asks instead of failing them) and is named in the build's Step ("ace sits out: typescript 26.12.1, agreed 26.13.0"), readable through builder_builds. Changes ADR 0477 §2. Why: on 2026-11-01 ace reported Node.js 26.12.1 and the other three 26.13.0, and no TypeScript module built from about 09:00 (36 modules, gitea among them). Quick fix (pause ace's TypeScript builder or upgrade ace) weighed against the thorough fix (this group): thorough chosen, the second time a version gap stalled builds. This member: mesh-build-go and mesh-build-node (the build modules that run askrun and the Puller) pin mesh-sdk v0.1.14-0.20261101143343-67354f8e019a. Only go.mod and go.sum change. Reviewed-by: reviewerA@shanks at f06335cf7eff896b1163841c85ec716384f4fe30 Pushed-by: lead-47@shanks https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
mesh-tools added 2 commits 2026-11-01 14:42:08 +00:00
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Pin the Go and TypeScript build modules to mesh-sdk 67354f8: a check ask for another toolchain is declined too (ADR 0584, issue 1578)
mesh/delivery merged: source.main moved to novox/mesh-catalog@cff7588797b8
mesh/delivery-group group fix/toolchain-majority merged: every member is merged
mesh/check pass f06335cf7eff on fc300e3d7242 | judged by the candidate's mesh-build-go at 323bb9cdc526
f06335cf7e
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Author
Member

Delivery novox/mesh-catalog@f06335cf7eff — merged since 2026-11-01T15:04:14Z

Source — source.main moved to novox/mesh-catalog@cff7588797. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.

Group fix/toolchain-majority: novox/mesh-catalog@f06335cf7e, novox/mesh-delivery@d739516056, novox/mesh-sdk@67354f8e01

  • composed together: pass — the checker's verdict at the members' heads (5d22d9ea466d)

Transitions

  • 2026-11-01 14:42 (new) → proposed (announced): novox/mesh-catalog#587's head announced
  • 2026-11-01 14:42 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
  • 2026-11-01 15:04 ready → merged (merged): on the trunk its modules follow: merged there

The commit's note under refs/notes/mesh-plan keeps every transition of this change up to its merge: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-catalog@f06335cf7eff` — **merged** since 2026-11-01T15:04:14Z **Source** — source.main moved to novox/mesh-catalog@cff7588797b8. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `fix/toolchain-majority`: novox/mesh-catalog@f06335cf7eff, novox/mesh-delivery@d739516056dd, novox/mesh-sdk@67354f8e019a - composed together: pass — the checker's verdict at the members' heads (5d22d9ea466d) **Transitions** - 2026-11-01 14:42 (new) → proposed (announced): novox/mesh-catalog#587's head announced - 2026-11-01 14:42 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false) - 2026-11-01 15:04 ready → merged (merged): on the trunk its modules follow: merged there The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `git log --notes=mesh-plan`.
mesh-tools merged commit cff7588797 into main 2026-11-01 15:04:12 +00:00
mesh-tools deleted branch fix/toolchain-majority 2026-11-01 15:04:13 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-catalog#587