The catalogue moves out, to novox/mesh-catalog
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
This commit is contained in:
@@ -1,23 +0,0 @@
|
||||
package catalogue
|
||||
|
||||
import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestEveryExampleManifestStillParses(t *testing.T) {
|
||||
found, err := filepath.Glob("../../examples/modules/*.json")
|
||||
if err != nil || len(found) == 0 {
|
||||
t.Fatalf("no example manifests found: %v", err)
|
||||
}
|
||||
for _, f := range found {
|
||||
raw, err := os.ReadFile(f)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if _, err := ParseManifest(raw); err != nil {
|
||||
t.Errorf("%s no longer parses: %v", filepath.Base(f), err)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user