Summary
The template now distributes .github/comparevi/capabilities.json as a real descendant-facing contract, but it is still validated only by ad-hoc field assertions in tests/Test-TemplateSmokeRender.ps1. The next bounded slice is to formalize that manifest as a checked-in schema contract and validate hosted/docker/mixed renders against it.
Scope
- Add a checked-in schema for
labview-template/comparevi-capabilities@v1 in the canonical template repo.
- Cover the always-present
viHistory manifest contract and the optional dockerProfile manifest contract for docker and mixed renders.
- Point generated consumer docs at the canonical schema source for
.github/comparevi/capabilities.json.
- Make
tests/Test-TemplateSmokeRender.ps1 validate hosted, docker, and mixed capability manifests against the checked-in schema instead of relying only on ad-hoc assertions.
- Keep this slice contract-and-proof only; no producer/runtime behavior changes.
Acceptance
- The canonical template repo owns a checked-in capability-manifest schema.
- Hosted renders validate against that schema with no
dockerProfile entry.
- Docker and mixed renders validate the emitted
dockerProfile contract through the schema.
- Generated docs reference the canonical schema location for
.github/comparevi/capabilities.json.
- No new runtime or release-publication behavior is introduced.
Why this is next
#42 formalized the Docker receipt.
#44 formalized the Docker lane policy.
- The remaining obvious unchecked contract in the distributed proving surface is the capability manifest itself.
- This fits the larger
#1497 release-grade downstream consumer proving direction by making the distributed consumer contract more machine-verifiable.
Parent umbrella:
Summary
The template now distributes
.github/comparevi/capabilities.jsonas a real descendant-facing contract, but it is still validated only by ad-hoc field assertions intests/Test-TemplateSmokeRender.ps1. The next bounded slice is to formalize that manifest as a checked-in schema contract and validate hosted/docker/mixed renders against it.Scope
labview-template/comparevi-capabilities@v1in the canonical template repo.viHistorymanifest contract and the optionaldockerProfilemanifest contract fordockerandmixedrenders..github/comparevi/capabilities.json.tests/Test-TemplateSmokeRender.ps1validate hosted, docker, and mixed capability manifests against the checked-in schema instead of relying only on ad-hoc assertions.Acceptance
dockerProfileentry.dockerProfilecontract through the schema..github/comparevi/capabilities.json.Why this is next
#42formalized the Docker receipt.#44formalized the Docker lane policy.#1497release-grade downstream consumer proving direction by making the distributed consumer contract more machine-verifiable.Parent umbrella: