The artifact store's seat is one per mesh #48

Merged
jschoubben merged 1 commits from fix/the-artifact-store-is-one-per-mesh into main 2026-09-23 21:42:25 +00:00
Owner

The one real fix from the review of the (now closed) registry hand-over PR #47. One line: distribution's claim the-artifact-store goes from node scope to mesh scope.

Why: node-scoped, a second distribution on another machine resolved cleanly there, and only afterwards did the mesh notice artifact-store offered by two nodes, with every consumer elsewhere refusing to choose. A node-scoped requirement with one candidate installs that candidate, so anything that wanted the store beside it would have raised a fresh, empty store on the wrong machine first. There is one store in a mesh — the claim now says so by name, where a second one is assigned.

Pairs with novox/mesh-controller fix/the-artifact-store-is-one-per-mesh, which adds the catalogue-backed test (it skips on the controller's CI until this lands). Nothing else from the gate work: no config mount, no second process, no route.

The one real fix from the review of the (now closed) registry hand-over PR #47. One line: `distribution`'s claim `the-artifact-store` goes from node scope to mesh scope. **Why**: node-scoped, a second `distribution` on another machine resolved cleanly there, and only afterwards did the mesh notice `artifact-store` offered by two nodes, with every consumer elsewhere refusing to choose. A node-scoped requirement with one candidate installs that candidate, so anything that wanted the store beside it would have raised a fresh, empty store on the wrong machine first. There is one store in a mesh — the claim now says so by name, where a second one is assigned. Pairs with novox/mesh-controller `fix/the-artifact-store-is-one-per-mesh`, which adds the catalogue-backed test (it skips on the controller's CI until this lands). Nothing else from the gate work: no config mount, no second process, no route.
jschoubben added 1 commit 2026-09-23 21:41:10 +00:00
Review of the registry work found it node-scoped: a second `distribution` on another
machine resolved cleanly there, and only afterwards did the mesh notice `artifact-store`
offered by two nodes, with every consumer elsewhere refusing to choose. Worse, a node-scoped
requirement with one candidate installs that candidate, so anything that wanted the store
beside it would have raised a fresh, empty store on the wrong machine first.

There is one store in a mesh, which was already the effective rule; the claim now says it
where a second one is assigned, by name, instead of leaving consumers to discover it.
jschoubben merged commit 4d8be01c5f into main 2026-09-23 21:42:25 +00:00
jschoubben deleted branch fix/the-artifact-store-is-one-per-mesh 2026-09-23 21:42:25 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-catalog#48