The artifact store's seat is one per mesh, and the test says so from the catalogue #51

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

The one real fix from the review of the (now closed) registry hand-over PR #48. Test only: internal/catalogue/artifact_store_seat_test.go reads distribution from the catalogue beside the checkout and holds it to a mesh-scoped the-artifact-store — the store alone resolves; a second one on any other machine is refused, and the refusal names the seat (one per mesh).

Pairs with novox/mesh-catalog fix/the-artifact-store-is-one-per-mesh (the claim's scope change). CI note: catalogueManifest skips when the catalogue is not beside the checkout, so this test is exercised only once the catalogue PR has landed; it ran green locally against that branch.

go build ./... && go vet ./... && go test -count=1 ./... green with MESH_TEST_POSTGRES. gofmt -l . flags only cmd/mesh-builder/stdout_test.go, unformatted on main and untouched here. Nothing else from the gate work: no route vocabulary, no proxy change.

The one real fix from the review of the (now closed) registry hand-over PR #48. Test only: `internal/catalogue/artifact_store_seat_test.go` reads `distribution` from the catalogue beside the checkout and holds it to a mesh-scoped `the-artifact-store` — the store alone resolves; a second one on any other machine is refused, and the refusal names the seat (`one per mesh`). Pairs with novox/mesh-catalog `fix/the-artifact-store-is-one-per-mesh` (the claim's scope change). **CI note**: `catalogueManifest` skips when the catalogue is not beside the checkout, so this test is exercised only once the catalogue PR has landed; it ran green locally against that branch. `go build ./... && go vet ./... && go test -count=1 ./...` green with `MESH_TEST_POSTGRES`. `gofmt -l .` flags only `cmd/mesh-builder/stdout_test.go`, unformatted on main and untouched here. Nothing else from the gate work: no route vocabulary, no proxy change.
jschoubben added 1 commit 2026-09-23 21:41:10 +00:00
Review of the registry work found the seat 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.

The claim is mesh-scoped in mesh-catalog now; this holds the catalogue's manifest to it —
a second store anywhere is refused by name, where it is assigned.
jschoubben merged commit 1b5ccf4165 into main 2026-09-23 21:42:33 +00:00
jschoubben deleted branch fix/the-artifact-store-is-one-per-mesh 2026-09-23 21:42:33 +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-controller#51