The catalogue moves out, to novox/mesh-catalog #33

Merged
jschoubben merged 1 commits from chore/catalogue-moves-out into main 2026-09-20 20:13:39 +00:00
Owner

Completes the catalogue migration on the controller side. examples/modules/ framed the real catalogue as illustrations of a control-plane package; it is the mesh's own catalogue and now lives in novox/mesh-catalog, consumed as a build source. The parser engine stays here (internal/catalogue) — the control plane owns the manifest contract; the data does not belong beside it. Answers ADR 0030's open tier-4 question (where the catalogue lives) in favour of one flat mesh-catalog repository.

Verified safe to remove:

  • All 30 modules in examples/modules/ are already present in mesh-catalog (70 modules) — comm confirms zero missing. Nothing is lost.
  • The only reference to examples/modules outside itself is internal/catalogue/parseall_test.go, which is removed with it (along with modules_test.go). internal/catalogue's own inline parser tests remain.
  • After the change: go build ./..., go vet ./..., and go test ./internal/... ./cmd/... all pass.

Rebased onto current main (resolved modify/delete conflicts on distribution.json/dnsmasq.json — edited on main since, deleted here as the whole directory goes).

The sibling claude/four-more-of-the-catalogue branch (which added modules to this now-removed location) is left in place; its still-unconverted modules (kometa/penpot/matrix) are follow-up work for mesh-catalog in its current format, not salvageable from the old examples format.

https://claude.ai/code/session_01D6qtiYU3P9jk3pnAXyAFyx

Completes the catalogue migration on the controller side. `examples/modules/` framed the real catalogue as illustrations of a control-plane package; it is the mesh's own catalogue and now lives in `novox/mesh-catalog`, consumed as a build source. The parser engine stays here (`internal/catalogue`) — the control plane owns the manifest contract; the data does not belong beside it. Answers ADR 0030's open tier-4 question (where the catalogue lives) in favour of one flat mesh-catalog repository. **Verified safe to remove:** - All **30** modules in `examples/modules/` are already present in `mesh-catalog` (70 modules) — `comm` confirms zero missing. Nothing is lost. - The **only** reference to `examples/modules` outside itself is `internal/catalogue/parseall_test.go`, which is removed with it (along with `modules_test.go`). `internal/catalogue`'s own inline parser tests remain. - After the change: `go build ./...`, `go vet ./...`, and `go test ./internal/... ./cmd/...` all pass. Rebased onto current main (resolved modify/delete conflicts on `distribution.json`/`dnsmasq.json` — edited on main since, deleted here as the whole directory goes). The sibling `claude/four-more-of-the-catalogue` branch (which added modules to this now-removed location) is left in place; its still-unconverted modules (kometa/penpot/matrix) are follow-up work for mesh-catalog in its current format, not salvageable from the old examples format. https://claude.ai/code/session_01D6qtiYU3P9jk3pnAXyAFyx
jschoubben added 1 commit 2026-09-20 20:13:33 +00:00
The modules the mesh runs were under examples/modules/, which framed
the real catalogue as illustrations of a control-plane package. They
are neither examples nor the control plane's — they are the mesh's own
catalogue, and they now live in their own repository (novox/mesh-catalog),
consumed as a build source like any other.

The engine that reads them stays here (internal/catalogue): the control
plane owns the manifest contract; the data does not belong beside it.

Removed with them: modules_test.go and parseall_test.go, which validated
the example manifests against the parser. That validation logically
follows the catalogue to mesh-catalog, but it imports internal/catalogue,
so re-homing it needs the parser exported from internal/ first — a
deliberate follow-up, not done here. Until then the pipeline is the gate,
and internal/catalogue's own inline tests still cover the parser.

Answers novox/hq ADR 0030's open tier-4 question — where the catalogue
lives — in favour of one flat mesh-catalog repository.

Claude-Session: https://claude.ai/code/session_01LrgweAeERJYBg88c5cKDzF
jschoubben merged commit 1c2e94e1a0 into main 2026-09-20 20:13:39 +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#33