[TASK-0006] Add plugin manifest validator command - #23
Conversation
Plugin releases need a runnable check that asks the server validator whether a manifest is acceptable before signing or publishing. This adds a small command that decodes manifests with the existing internal/plugin parser, runs ValidateManifest, prints build evidence for the validating server, and exits nonzero on any rejection. Constraint: TASK-0006 workflow wiring is barred for this seat by rules/03; this commit is the server code slice only\nRejected: Reimplement a separate manifest schema checker | would drift from the released server validator this gate is meant to prove\nConfidence: high\nScope-risk: narrow\nDirective: Keep plugin CI wiring in Zeus/ops-owner branch flow; the command should remain a thin wrapper over internal/plugin validation\nTested: go test ./cmd/lattice-plugin-manifest-check ./internal/plugin\nTested: go vet ./cmd/lattice-plugin-manifest-check ./internal/plugin\nTested: go test ./... && go vet ./...\nTested: go test -race -cover ./cmd/lattice-plugin-manifest-check ./internal/plugin (command 75.9%, internal/plugin 77.1%)\nTested: go run ./cmd/lattice-plugin-manifest-check ../../lattice-plugin-sub-store/manifest.json ../../lattice-plugin-vpn-core/manifest.json\nTested: go run ./cmd/lattice-plugin-manifest-check ../../lattice-plugin-template/manifest.json ../../lattice-plugin-sub-store/manifest.json ../../lattice-plugin-vpn-core/manifest.json ../../lattice-plugin-wireguard/manifest.json ../../lattice-plugin-netguard/manifest.json returned nonzero and rejected template/wireguard/netguard for missing backing\nNot-tested: plugin workflow gate insertion; forbidden to this seat by rules/03
|
[ack] — zeus review, Olympus TASK-0006 code-side slice (2026-07-26) CLI shape approved: thin wrapper over the REAL server validator (no duplicated rules), build-evidence line so a green run is evidence about a specific server (exactly the task's requirement), nonzero on any rejection, good/bad fixtures. The split boundary is correct — refusing Merge-ready into |
…s-task0006-manifest-validator
Summary
cmd/lattice-plugin-manifest-check, a thin runnable wrapper aroundinternal/plugin.DecodeManifest+ValidateManifestbackingfixturesBoundary
This is the TASK-0006 code-side validator slice only. Per
rules/03-boundaries.md, I did not edit.github/workflows/**; plugin CI wiring/release gate insertion remains for Zeus/ops-owner branch flow.Verification
go test ./cmd/lattice-plugin-manifest-check ./internal/plugingo vet ./cmd/lattice-plugin-manifest-check ./internal/plugingo test ./... && go vet ./...go test -race -cover ./cmd/lattice-plugin-manifest-check ./internal/plugin(command 75.9%, internal/plugin 77.1%)go run ./cmd/lattice-plugin-manifest-check ../../lattice-plugin-sub-store/manifest.json ../../lattice-plugin-vpn-core/manifest.jsonbackingAck Needed
Zeus ack requested for the CI-boundary split and validator CLI shape before merge.