The bus node writes the grants part's signed user list alone once the lease is handed (issue 774) #194

Merged
mesh-tools merged 2 commits from feat/l3-removal into main 2026-11-02 00:35:44 +00:00
Member

Issue 774 (design 47): nothing is left with the controller — the removal before the lease write. ADRs 0582, 0588, 0571 §13, 0567 §11, 0564 §9.

  • After the lease write the bus node's follower never falls back to the controller's user list, also when the key is unreadable or deleted (ADR 0582).
  • Pins mesh-sdk at the group's head.

Delivery group: the five pull requests on branch feat/l3-removal (mesh-sdk, mesh-catalog, mesh-delivery, mesh-host, mesh-tools), one check, one Approve, merged in one pass in the order mesh-sdk → mesh-catalog → mesh-delivery → mesh-host → mesh-tools. Every member pins mesh-sdk at c21d8fd9692c (this group's head). Every new behaviour is dormant until the lease write, which is asked separately on the operator's Approve.

Tested locally before the push (GOWORK=off, GOFLAGS=-mod=readonly, GOPROXY=off, GOSUMDB=off): gofmt, go vet and go vet -tags integration, and the whole untagged unit suite of every touched module pass. Integration tests that exercise the change, against an embedded bus: ./internal/userlist: ok, 1.4 s; ./cmd/mesh-host: ok, 36.5 s.

Reviewed-by: review-g1@shanks at c27fad5c6e
Pushed-by: lead-47@shanks

https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL

Issue 774 (design 47): nothing is left with the controller — the removal before the lease write. ADRs 0582, 0588, 0571 §13, 0567 §11, 0564 §9. - After the lease write the bus node's follower never falls back to the controller's user list, also when the key is unreadable or deleted (ADR 0582). - Pins mesh-sdk at the group's head. **Delivery group:** the five pull requests on branch `feat/l3-removal` (mesh-sdk, mesh-catalog, mesh-delivery, mesh-host, mesh-tools), one check, one Approve, merged in one pass in the order mesh-sdk → mesh-catalog → mesh-delivery → mesh-host → mesh-tools. Every member pins mesh-sdk at c21d8fd9692c (this group's head). Every new behaviour is dormant until the lease write, which is asked separately on the operator's Approve. **Tested locally before the push** (GOWORK=off, GOFLAGS=-mod=readonly, GOPROXY=off, GOSUMDB=off): gofmt, `go vet` and `go vet -tags integration`, and the whole untagged unit suite of every touched module pass. Integration tests that exercise the change, against an embedded bus: `./internal/userlist`: ok, 1.4 s; `./cmd/mesh-host`: ok, 36.5 s. Reviewed-by: review-g1@shanks at c27fad5c6e36eba7b70e9f038a7b614c0a65bb98 Pushed-by: lead-47@shanks https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
mesh-tools added 2 commits 2026-11-01 23:58:02 +00:00
A key that later cannot be read or is deleted is said, the key last heard stands and the list loaded stays. A key without
the flag still falls back, as before.
Tests: three rows added to the existing table test of the follower; no new test function. Built against the group's
mesh-sdk through a go.work outside the tree; go.mod is not re-pinned here.

(issue 774, 774/S31)
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Pin mesh-sdk at c21d8fd, the removal group's head, so every member builds the same contract (issue 774)
mesh/delivery merged: source.main moved to novox/mesh-host@598b0d8193a5
mesh/delivery-group group feat/l3-removal merged: every member is merged
mesh/check failed: mesh-build-go: the check of novox/mesh-catalog#590: the ask mvyhumdm860c7f's step on shanks did not end within 30m0s of its start |…
c27fad5c6e
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Author
Member

Delivery novox/mesh-host@c27fad5c6e36 — merged since 2026-11-02T00:35:46Z

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

Group feat/l3-removal: novox/mesh-catalog@2c5e9c9a98, novox/mesh-delivery@17ef1d577d, novox/mesh-host@c27fad5c6e, novox/mesh-sdk@c21d8fd969, novox/mesh-tools@29fd452628

  • composed together: fail — the checker's verdict at the members' heads (49fb3ed27c03): mesh-build-go

Transitions

  • 2026-11-01 23:58 (new) → proposed (announced): novox/mesh-host#194's head announced
  • 2026-11-01 23:58 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-02 00:35 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-host@c27fad5c6e36` — **merged** since 2026-11-02T00:35:46Z **Source** — source.main moved to novox/mesh-host@598b0d8193a5. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `feat/l3-removal`: novox/mesh-catalog@2c5e9c9a9847, novox/mesh-delivery@17ef1d577d4f, novox/mesh-host@c27fad5c6e36, novox/mesh-sdk@c21d8fd9692c, novox/mesh-tools@29fd452628ec - composed together: fail — the checker's verdict at the members' heads (49fb3ed27c03): mesh-build-go **Transitions** - 2026-11-01 23:58 (new) → proposed (announced): novox/mesh-host#194's head announced - 2026-11-01 23:58 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-02 00:35 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 598b0d8193 into main 2026-11-02 00:35:44 +00:00
mesh-tools deleted branch feat/l3-removal 2026-11-02 00:35:44 +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-host#194