Readers leave the controller: hand acts, packages, compare, provisioner on the watched reader (design 47 L5-L7) #586

Merged
mesh-tools merged 10 commits from feat/l5-l7-main into main 2026-11-01 13:53:21 +00:00
Member

Delivery group feat/l5-l7-main (mesh-sdk, mesh-catalog, mesh-delivery, mesh-tools, mesh-media-catalog): the rest of design 47 L5, L6 and L7, one check, one Approve. Issues: issue 1953, issue 1954, issue 1955. Decisions: ADR 0565, ADR 0570, ADR 0571, ADR 0580 (a watched reader in mesh-sdk; the provisioner and the upgrade compare use it), ADR 0581 (root-free from each node seat).

What moves off the controller: hand acts and warrants to mesh-hand-acts (mesh-config, assigner, mesh-grants, claude-code, mesh-healers drill); pacman reads node-engine.packages, falling back per node to the controller mirror until the lease write (ADR 0565 §6); plex asks the vault's issued; the builder drops mesh-controller.held; the assigner and mesh-grants read the grants part's key; mesh-grants asks root-free of each node seat; node-tools waits on the self-check's checked; gitea drops a dead consume. Also: mesh-config compare (mesh-wireguard rows; merged or closed pull candidates dropped through the forge tool), mesh-wants.upgrade by the watched reader, the sweep test fixture (already on main).

Built on main after the issue 1585 group merged (carried, not rebased). Delivery condition: mesh-hand-acts must be placed on novox before this group is delivered (placement proposal open). Rule bent, said here: claude-code gains one unit test row folded into an existing test; no count rises. Quick vs thorough: thorough (ADR 0580 watched reader) chosen for the provisioner's slow read, the third instance of the kind.

Reviewed-by: reviewerA@shanks at 2002b08505
Pushed-by: carry-A@shanks

https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL

Delivery group feat/l5-l7-main (mesh-sdk, mesh-catalog, mesh-delivery, mesh-tools, mesh-media-catalog): the rest of design 47 L5, L6 and L7, one check, one Approve. Issues: issue 1953, issue 1954, issue 1955. Decisions: ADR 0565, ADR 0570, ADR 0571, ADR 0580 (a watched reader in mesh-sdk; the provisioner and the upgrade compare use it), ADR 0581 (root-free from each node seat). What moves off the controller: hand acts and warrants to mesh-hand-acts (mesh-config, assigner, mesh-grants, claude-code, mesh-healers drill); pacman reads node-engine.packages, falling back per node to the controller mirror until the lease write (ADR 0565 §6); plex asks the vault's issued; the builder drops mesh-controller.held; the assigner and mesh-grants read the grants part's key; mesh-grants asks root-free of each node seat; node-tools waits on the self-check's checked; gitea drops a dead consume. Also: mesh-config compare (mesh-wireguard rows; merged or closed pull candidates dropped through the forge tool), mesh-wants.upgrade by the watched reader, the sweep test fixture (already on main). Built on main after the issue 1585 group merged (carried, not rebased). Delivery condition: mesh-hand-acts must be placed on novox before this group is delivered (placement proposal open). Rule bent, said here: claude-code gains one unit test row folded into an existing test; no count rises. Quick vs thorough: thorough (ADR 0580 watched reader) chosen for the provisioner's slow read, the third instance of the kind. Reviewed-by: reviewerA@shanks at 2002b08505cc16891db4874459d6670041af26b1 Pushed-by: carry-A@shanks https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
mesh-tools added 9 commits 2026-11-01 09:01:39 +00:00
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Composing one node read every placement, have, module and resolved key one at a time and took past 30 s with the bus
local (ADR 0580 clause 2): the holder now reads them from mesh-sdk's watched copy, its watch handlers queue the nodes a
change touches after the copy took it, and a resolved value's change recomposes its node. mesh-sdk pinned at ba8b8f2.

Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
ADR 0580 clause 2 as revised: the holder hears haves by watch as it hears resolved values, so a have's change recomposes
its node from the copy it already holds.

Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Pin group A's mesh-sdk head on main
mesh/delivery-group group feat/l5-l7-main rejected: composed together: the checker's verdict at the members' heads (c598e176f3b2): unit: modules/gitea.the chec…
mesh/delivery closed: a newer head of the same pull request
mesh/check failed: unit: modules/gitea.the checker's owed is what this module reads, and it consumes no check.status: "Cannot read properties of undef…
6de5c6680e
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Author
Member

Delivery novox/mesh-catalog@2002b08505cc — merged since 2026-11-01T13:53:26Z

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

Group feat/l5-l7-main: novox/mesh-catalog@2002b08505, novox/mesh-delivery@b7dfe4c637, novox/mesh-media-catalog@927cecfec3, novox/mesh-sdk@790d1c82d0, novox/mesh-tools@fb6631aee1

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

Transitions

  • 2026-11-01 09:39 (new) → proposed (announced): novox/mesh-catalog#586's head announced
  • 2026-11-01 09:40 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 13:53 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@2002b08505cc` — **merged** since 2026-11-01T13:53:26Z **Source** — source.main moved to novox/mesh-catalog@fc300e3d7242. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `feat/l5-l7-main`: novox/mesh-catalog@2002b08505cc, novox/mesh-delivery@b7dfe4c6375a, novox/mesh-media-catalog@927cecfec306, novox/mesh-sdk@790d1c82d027, novox/mesh-tools@fb6631aee1a2 - composed together: pass — the checker's verdict at the members' heads (807ad401f61c) **Transitions** - 2026-11-01 09:39 (new) → proposed (announced): novox/mesh-catalog#586's head announced - 2026-11-01 09:40 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 13:53 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`.
jschoubben added 1 commit 2026-11-01 09:39:55 +00:00
gitea: the check-owed test reads a missing consumes list as empty, since group A removed gitea's last consume
mesh/delivery merged: source.main moved to novox/mesh-catalog@fc300e3d7242
mesh/delivery-group group feat/l5-l7-main merged: every member is merged
mesh/check checking 2002b08505cc on fc300e3d7242 | novox/mesh-catalog#586 in group feat/l5-l7-main
2002b08505
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Author
Member

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
Author
Member

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
Author
Member

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
Author
Member

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-tools merged commit fc300e3d72 into main 2026-11-01 13:53:21 +00:00
mesh-tools deleted branch feat/l5-l7-main 2026-11-01 13:53:22 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-catalog#586