SDK-10: mesh-sdk's manifest declares its Go package beside lib, each in series 0.1 (design 32, design 51)
The Go build module publishes mesh-sdk's go through the Go seat; the paths word is known to every judge since R4e. The own-manifest test now holds the two packages. Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
This commit is contained in:
@@ -6,10 +6,9 @@ import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
// mesh-sdk's own manifest is judged by the controller that runs when it is checked, and that controller reads it
|
||||
// strictly: a manifest word ships one release ahead of its first user. R4e's group is judged by today's controller
|
||||
// (novox/hq ADR 0503 §4), which does not know `paths` (ADR 0499), so mesh-sdk's lib names no paths until a release
|
||||
// after R4e's delivery adds them back (ADR 0499 §6, issue 1758).
|
||||
// mesh-sdk's own manifest declares its two packages (design 32, SDK-10): the TypeScript `lib` and the Go `go`, built
|
||||
// from the directory go, each in series 0.1, so the Go build module publishes mesh-sdk's Go package through the Go seat
|
||||
// (design 51). Its words are judged by the group's own indexer, delivered with them (ADR 0621 §4).
|
||||
func TestOwnManifestUsesNoWordTheRunningControllerRefuses(t *testing.T) {
|
||||
raw, err := os.ReadFile("../../module.json")
|
||||
if err != nil {
|
||||
@@ -22,11 +21,19 @@ func TestOwnManifestUsesNoWordTheRunningControllerRefuses(t *testing.T) {
|
||||
if m.Build == nil || len(m.Build.Artifacts) == 0 {
|
||||
t.Fatal("mesh-sdk's module.json declares no artifact")
|
||||
}
|
||||
packages := map[string]Artifact{}
|
||||
for _, a := range m.Build.Artifacts {
|
||||
if a.Paths != nil {
|
||||
t.Errorf("artifact %q names paths %v: the running controller refuses the word until R4e is delivered", a.Name, a.Paths)
|
||||
packages[a.Language] = a
|
||||
if a.Kind != ArtifactPackage || a.Series != DefaultSeries {
|
||||
t.Errorf("artifact %q is a %s in series %q, want a package in %s", a.Name, a.Kind, a.Series, DefaultSeries)
|
||||
}
|
||||
}
|
||||
if g := packages["go"]; g.Name != "go" || !slices.Equal(g.Paths, []string{"go"}) {
|
||||
t.Errorf("mesh-sdk's Go package is %+v, want go built from go", g)
|
||||
}
|
||||
if l := packages["typescript"]; l.Name != "lib" || l.Paths != nil {
|
||||
t.Errorf("mesh-sdk's TypeScript package is %+v", l)
|
||||
}
|
||||
|
||||
// What a reader reads (novox/hq ADR 0614 §4): the baseline is the contract of mesh-sdk f02f142, which every running
|
||||
// node-engine was built with, and this contract reads all of it; the words added since are the only ones it lacks.
|
||||
|
||||
+2
-1
@@ -4,7 +4,8 @@
|
||||
"slug": "sdk",
|
||||
"build": {
|
||||
"artifacts": [
|
||||
{ "name": "lib", "kind": "package", "language": "typescript" }
|
||||
{ "name": "lib", "kind": "package", "language": "typescript", "series": "0.1" },
|
||||
{ "name": "go", "kind": "package", "language": "go", "paths": ["go"], "series": "0.1" }
|
||||
]
|
||||
},
|
||||
"resources": []
|
||||
|
||||
Reference in New Issue
Block a user