fix(coverage-matrix): bump schema_version to 0.1 to match pre-release convention - #71
Merged
Merged
Conversation
…-release convention The matrix JSON shape started at `"1.0"` in v0.1.1, the first cut where the registry → audits → matrix codegen landed. Every other version-bearing surface in the project (the `anc` crate, the scorecard JSON schema, the vendored spec) uses the project's pre-release `0.x` convention; the matrix was the lone `1.0` outlier and read as a stability claim the shape has not earned yet. Bumps `src/principles/matrix.rs` `SCHEMA_VERSION` from `"1.0"` to `"0.1"`, regenerates the committed `coverage/matrix.json` against the new constant, updates the `CLAUDE.md` cross-reference, and adjusts the integration test's literal expectation. Drift check (`anc emit coverage-matrix --check`) passes; 793 tests still green. Safe for the lone consumer (`agentnative-site/src/build/coverage.mjs`): the site validates the field exists but does NOT pin a specific value (no `SUPPORTED_MATRIX_VERSIONS` allowlist like the scorecard has). The vendored copy at `agentnative-site/src/data/coverage-matrix.json` will re-sync on the site's next coverage-matrix import.
brettdavies
added a commit
that referenced
this pull request
May 31, 2026
… convention (#71) ## Summary Bumps the `coverage/matrix.json` `schema_version` from `"1.0"` to `"0.1"` so the matrix follows the same pre-release `0.x` convention as every other version-bearing surface in the project (the `anc` crate at `0.5.0`, the scorecard JSON schema at `0.7`, the vendored spec at `0.5.0`). The `1.0` originated in v0.1.1 when the registry plus codegen first landed; nothing publicly consumed the matrix at that time, so the version was effectively a stability claim the shape has not earned yet. Safe for the only consumer: `agentnative-site/src/build/coverage.mjs` validates that `schema_version` is present but does NOT pin a specific value (no `SUPPORTED_MATRIX_VERSIONS` allowlist, unlike the scorecard's contract). The vendored copy at `agentnative-site/src/data/coverage-matrix.json` will re-sync on the site's next coverage-matrix import. ## Changelog ### Changed - `coverage/matrix.json` `schema_version` is now `"0.1"` (was `"1.0"`). The shape evolves additively until first public release locks it; consumers should feature-detect new fields rather than pin to an exact value. ### Documentation - `CLAUDE.md` § Coverage Matrix Artifact Lifecycle: updates the documented `schema_version` value and notes the pre-release-shape convention. ## Type of Change - [x] `fix`: Bug fix (non-breaking change which fixes an issue) ## Related Issues/Stories - Story: n/a - Issue: n/a - Architecture: Aligns with the project's `0.x`-while-unreleased version convention used by the CLI crate, scorecard JSON schema, vendored spec, and badge URL. Cherry-picked onto `release/v0.5.0` after this PR merges. - Related PRs: n/a ## Testing - [x] All tests passing **Test Summary:** - `cargo test`: 793 passed, 2 ignored. - `cargo build --release`: clean. - `anc emit coverage-matrix --check`: exit 0 (no drift between regenerated artifact and the new constant). ## Files Modified **Modified:** - `src/principles/matrix.rs` (constant change, 1 line). - `coverage/matrix.json` (regenerated against the new constant, single-field diff). - `tests/integration.rs` (literal expectation update, 1 line). - `CLAUDE.md` (cross-reference update). **Created:** - None. **Renamed:** - None. **Deleted:** - None. ## Breaking Changes - [x] No breaking changes The matrix has no public consumer pinning the prior value; the site validates the field's existence, not its value. ## Deployment Notes - [x] No special deployment steps required The site's vendored copy at `agentnative-site/src/data/coverage-matrix.json` will need a re-sync at its convenience. That is a site-side concern, not gating for this PR or the v0.5.0 release.
brettdavies
added a commit
that referenced
this pull request
Jun 1, 2026
The original v0.5.0 CHANGELOG section was generated before the hierarchical noun-verb consistent-naming fix (PR #73) was cherry-picked onto the release branch. Regenerated to include the new bullet plus a couple of others (#68, #69, #71 cherry-picks) that landed between the first generation and now. Side-effect: the section header date moves 2026-05-31 -> 2026-06-01 since git-cliff uses the regeneration date. The tag will publish today; the new date matches the actual release date.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Bumps the
coverage/matrix.jsonschema_versionfrom"1.0"to"0.1"so the matrix follows the same pre-release0.xconvention as every other version-bearing surface in the project (theanccrate at0.5.0, the scorecard JSONschema at
0.7, the vendored spec at0.5.0). The1.0originated in v0.1.1 when the registry plus codegen firstlanded; nothing publicly consumed the matrix at that time, so the version was effectively a stability claim the shape
has not earned yet.
Safe for the only consumer:
agentnative-site/src/build/coverage.mjsvalidates thatschema_versionis present butdoes NOT pin a specific value (no
SUPPORTED_MATRIX_VERSIONSallowlist, unlike the scorecard's contract). The vendoredcopy at
agentnative-site/src/data/coverage-matrix.jsonwill re-sync on the site's next coverage-matrix import.Changelog
Changed
coverage/matrix.jsonschema_versionis now"0.1"(was"1.0"). The shape evolves additively until firstpublic release locks it; consumers should feature-detect new fields rather than pin to an exact value.
Documentation
CLAUDE.md§ Coverage Matrix Artifact Lifecycle: updates the documentedschema_versionvalue and notes thepre-release-shape convention.
Type of Change
fix: Bug fix (non-breaking change which fixes an issue)Related Issues/Stories
0.x-while-unreleased version convention used by the CLI crate, scorecardJSON schema, vendored spec, and badge URL. Cherry-picked onto
release/v0.5.0after this PR merges.Testing
Test Summary:
cargo test: 793 passed, 2 ignored.cargo build --release: clean.anc emit coverage-matrix --check: exit 0 (no drift between regenerated artifact and the new constant).Files Modified
Modified:
src/principles/matrix.rs(constant change, 1 line).coverage/matrix.json(regenerated against the new constant, single-field diff).tests/integration.rs(literal expectation update, 1 line).CLAUDE.md(cross-reference update).Created:
Renamed:
Deleted:
Breaking Changes
The matrix has no public consumer pinning the prior value; the site validates the field's existence, not its value.
Deployment Notes
The site's vendored copy at
agentnative-site/src/data/coverage-matrix.jsonwill need a re-sync at its convenience.That is a site-side concern, not gating for this PR or the v0.5.0 release.