Skip to content

fix(skill): correct stale manifest version 0.1.0 to 0.2.0#72

Merged
brettdavies merged 1 commit into
devfrom
chore/skill-manifest-version-bump
May 3, 2026
Merged

fix(skill): correct stale manifest version 0.1.0 to 0.2.0#72
brettdavies merged 1 commit into
devfrom
chore/skill-manifest-version-bump

Conversation

@brettdavies
Copy link
Copy Markdown
Owner

@brettdavies brettdavies commented May 3, 2026

Summary

Tracks the agentnative-skill repo's already-shipped v0.2.0 release (tag v0.2.0 at 2b10c84, no commits ahead of
main since). Was 0.1.0 since site launch; the skill repo moved to v0.2.0 alongside PR #67's deprecation of the SHA-pin
surface, but the site's manifest was never bumped.

The skill bundle's bin/check-update reads its own local VERSION, not /skill.json.version, so this drift didn't
break update detection. But /skill.json consumers reading the version field saw a stale value that didn't track the
published skill state.

Changelog

Fixed

  • Correct stale src/data/skill.json.version (was 0.1.0, bumped to 0.2.0) to match the published skill bundle.

Type of Change

  • fix: Bug fix (non-breaking change which fixes an issue)

Note (added post-merge): Originally typed as chore. Reclassified as fix because /skill.json.version is a
public-endpoint field that agents observe; a stale value there is a correction, not internal maintenance. The dev-side
squash commit (e5e9a5b) keeps the original chore(skill): subject (forever-branch policy rules out history rewrites),
but the GitHub PR record and the release-PR (#73) changelog category are corrected.

Related Issues/Stories

Testing

  • All tests passing

Test Summary:

  • Pre-push hook: 200/200 unit + regression tests pass
  • bun run lint clean, bun run build clean

Files Modified

Modified:

  • src/data/skill.json: version 0.1.0 to 0.2.0

Created: None.

Renamed: None.

Deleted: None.

Key Features

n/a (1-line metadata bump).

Benefits

  • /skill.json.version now tracks the published skill state, removing a silent drift.

Breaking Changes

  • No breaking changes.

Deployment Notes

  • No special deployment steps required.

Will be cherry-picked into release/2026-05-01-spec-vendoring-and-cleanup (PR #68) so it ships in the same release as
the SHA-pin cleanup arc that motivated the skill v0.2.0 release.

Checklist

  • Code follows project conventions and style guidelines
  • Commit messages follow Conventional Commits
  • Self-review of code completed
  • Tests added/updated and passing
  • No new warnings or errors introduced
  • Changes are backward compatible

Additional Context

The same root cause produced concern (1) on PR #68's review: shape-changing PRs (#67 dropped source.commit and
verify) should bump version per RELEASES.md step 2. That step was missed, hence this catch-up commit.

Tracks the agentnative-skill repo's already-shipped v0.2.0 release
(tag `v0.2.0` at `2b10c84`, no commits ahead of main since).

The site's `/skill.json` advertises the published skill bundle's
metadata; its `version` field should track the skill repo's released
VERSION, not lag behind. Was `0.1.0` since site launch; the skill repo
moved to v0.2.0 alongside PR #67's deprecation of the SHA-pin surface
but the site manifest was never bumped.
@brettdavies brettdavies merged commit e5e9a5b into dev May 3, 2026
2 checks passed
@brettdavies brettdavies deleted the chore/skill-manifest-version-bump branch May 3, 2026 05:37
brettdavies added a commit that referenced this pull request May 3, 2026
## Summary

Tracks the `agentnative-skill` repo's already-shipped v0.2.0 release
(tag `v0.2.0` at `2b10c84`, no commits ahead of main since). Was `0.1.0`
since site launch; the skill repo moved to v0.2.0 alongside PR #67's
deprecation of the SHA-pin surface, but the site's manifest was never
bumped.

The skill bundle's `bin/check-update` reads its own local `VERSION`, not
`/skill.json.version`, so this drift didn't break update detection. But
`/skill.json` consumers reading the `version` field saw a stale value
that didn't track the published skill state.

## Changelog

### Changed

- Bump `src/data/skill.json.version` from `0.1.0` to `0.2.0` to match
the published skill bundle.

## Type of Change

- [x] `chore`: Maintenance tasks (dependencies, config, etc.)

## Related Issues/Stories

- Story: Surface alignment between `/skill.json` and the published skill
bundle.
- Issue: n/a
- Architecture: n/a
- Related PRs: #67 (the PR that should have bumped this; missed it).

## Testing

- [x] All tests passing

**Test Summary:**

- Pre-push hook: 200/200 unit + regression tests pass
- `bun run lint` clean, `bun run build` clean

## Files Modified

**Modified:**

- `src/data/skill.json`: `version` 0.1.0 to 0.2.0

**Created:** None.

**Renamed:** None.

**Deleted:** None.

## Key Features

n/a (1-line metadata bump).

## Benefits

- `/skill.json.version` now tracks the published skill state, removing a
silent drift.

## Breaking Changes

- [x] No breaking changes.

## Deployment Notes

- [x] No special deployment steps required.

Will be cherry-picked into
`release/2026-05-01-spec-vendoring-and-cleanup` (PR #68) so it ships in
the same release as the SHA-pin cleanup arc that motivated the skill
v0.2.0 release.

## Checklist

- [x] Code follows project conventions and style guidelines
- [x] Commit messages follow [Conventional
Commits](https://www.conventionalcommits.org/)
- [x] Self-review of code completed
- [x] Tests added/updated and passing
- [x] No new warnings or errors introduced
- [x] Changes are backward compatible

## Additional Context

The same root cause produced concern (1) on PR #68's review:
shape-changing PRs (#67 dropped `source.commit` and `verify`) should
bump `version` per RELEASES.md step 2. That step was missed, hence this
catch-up commit.
@brettdavies brettdavies changed the title chore(skill): bump manifest version 0.1.0 to 0.2.0 fix(skill): correct stale manifest version 0.1.0 to 0.2.0 May 3, 2026
brettdavies added a commit that referenced this pull request May 3, 2026
## Summary

First production release since the v0.1 launch (#60, 2026-04-30).
Promotes **8 PRs** from `dev` to `main`/anc.dev. Two
PRs from the post-launch batch (#61, #63) were verified as no-ops for
`main` and skipped: both were pure docs
reorganizations into `docs/research/` and `docs/design/`, neither of
which lives on `main` (or should).

The headline is **#64**: this site is now a downstream consumer of
`brettdavies/agentnative` (the spec repo) via a
vendored snapshot at `src/data/spec/`. Footer, OG card, and per-tool
badges now read from three independent spec-version
sources by design (vendored, scoring, manual reconciliation), preventing
the conflation that would otherwise lie about
at least one currency dimension.

Trailing the headline, this release also clears the SHA-pin cleanup arc
end-to-end: render side (#66), schema side
(#69), and a fresh 96-tool rescore against brew-installed `anc v0.3.0`
(#70). This is the first scoring pass where every
tool's `anc.commit` is `null` by construction (no `.git/` in the brew
cellar).

## Changelog

### Added

- Vendored `agentnative` spec snapshot at `src/data/spec/` (`VERSION`,
`CHANGELOG.md`, all 7 principles, `README.md`).
  Site is now a true downstream consumer of the canonical spec repo.
- `scripts/sync-spec.sh`: manual remote-first vendoring with
local-fallback.
- `scripts/SYNCS.md`: single-page cross-repo sync map (CLI / spec /
skill in, scorecards / Cloudflare out).

### Changed

- Footer, per-tool badges, and OG card pull from three distinct
spec-version sources (`SITE_SPEC_VERSION`,
`scorecard.spec_version`, `anc`'s self-scorecard `spec_version`). Each
tracks its own currency dimension.
- `anc` is now brew-installed inside the scoring docker image (replaces
the local-cargo-build-from-checkout path that
  produced wrong-SHA scorecards).
- All 96 tool scorecards regenerated against brew-installed `anc v0.3.0`
(#70). Supersedes the v0.2.0 baseline shipped
at v0.1 launch. First scoring pass where every `anc.commit` is `null` by
construction.

### Removed

- Skill SHA-pin enforcement surface (`source.commit`, `verify` block)
from `/skill.json` and the build validator. Update
detection now uses the skill bundle's `bin/check-update` against `main`
on GitHub.
- `anc.commit` field from the scorecard schema documentation and
invariant tests (#69). The field is no longer emitted
by `agentnative-cli` or surfaced in any rendered scorecard. Pairs with
the upstream cleanup in `agentnative-cli`.

### Fixed

- Per-tool scorecard pages no longer link to an incorrect commit SHA on
the `agentnative-cli` repo.
- Per-tool reproduce-fence at `/score/<tool>.md` now tags as `bash` (was
untagged).
- Correct stale `src/data/skill.json.version` (`0.1.0` to `0.2.0`) to
match the published `agentnative-skill` release
(#72). The manifest was never bumped alongside #67's deprecation of the
SHA-pin surface, so `/skill.json` consumers
  had been reading a stale value.

### Documentation

- Release runbook now uses a triple-diff verification (main → release /
release → dev / dev → main) plus a patch-id
cherry sweep (#69). Catches both directions of drift: guarded paths
leaking IN and real feature commits being missed
  OUT.
- "Status-check context pitfall" subsection added to RELEASES.md (#71).
Captures the exact-match rule for
`required_status_checks[].context` and the `gh api .../check-runs`
diagnostic for confirming real contexts after a
  first CI run.

## Type of Change

- [x] `feat`: New feature (non-breaking change which adds functionality)

The release is multi-typed (feat + fix + chore + docs) but `feat`
headlines because spec vendoring is the largest
user-facing surface.

## Related Issues/Stories

- Story: First post-v0.1 release; clears the post-launch backlog of
dev-side work plus the deep-check failure on the
  SHA-pin probe.
- Issue: n/a
- Architecture:
`docs/solutions/best-practices/agentnative-version-model-2026-05-01.md`
(cross-repo version model,
  dev-only)
- Related PRs: #62, #64, #65, #66, #67, #69, #70, #71, #72 (all merged
to dev between 2026-04-30 and 2026-05-03)

## Testing

- [x] Unit tests added/updated
- [x] All tests passing

**Test Summary:**

- 200 / 0 fail unit + regression tests pass on the release branch
(pre-push hook verified)
- `bun run build` clean: 111 pages, 97 scorecards, 96 badges
- Staging at `agentnative-site-staging.brettdavies.workers.dev` already
verified post-each-PR-merge: `/skill.json` has
no `source.commit`/`verify`; per-tool scorecard pages render the `Anc
build` row as version-only (no commit link)
- Skill-distribution e2e probe (the test that motivated this release;
see deep-check failure 2026-05-02 06:49 UTC) will
go green on next deep-check after merge: the assertion that fails on
`main` is removed by #67.

## Files Modified

**Modified:**

- `docs/DESIGN.md`: companion-artifacts section reframed shipped vs
research split (#62)
- `scripts/og/og.css`, `tests/e2e/flows.e2e.ts`: stale-ref cleanup (#62)
- `src/build/util.mjs`: `SPEC_VERSION` + `SITE_SPEC_VERSION` exports
(#64)
- `src/build/shell.mjs`: footer reads `SITE_SPEC_VERSION` (#64)
- `src/build/build.mjs`: badge generation reads scorecard `spec_version`
(#64)
- `src/build/scorecards-render.mjs`: `renderAncBuildHtml` /
`renderAncBuildMarkdown` collapsed to version-only; SHA
  allowlist regex + repo URL constant removed (#66)
- `src/build/skill.mjs`: `COMMIT_RE`, `verify` validation, "pinned at
commit" prose, and `## Verify` markdown section
  all removed (#67)
- `src/data/skill.json`: `source.commit` and `verify` object dropped
(#67)
- `docker/score/Dockerfile`: `brew install brettdavies/tap/agentnative`
replaces `COPY docker/score/anc` (#66)
- `docker/score/build.sh`, `docker/score/README.md`: drop cargo-build
preamble + `ANC_CLI_ROOT` plumbing (#66)
- `content/scorecard-schema.md`: `anc.commit` field documented as
captured-but-unsurfaced (#66); subsequently removed
  from schema doc + invariants (#69)
- `scripts/og/generate.ts`: reads `anc-v*.json`'s `spec_version` (#64)
- `tests/build.test.ts`: three commit-render tests consolidated (#66);
SHA-pin tests dropped (#67); `anc.commit`
  assertions removed (#69); spec-version coverage added (#64)
- `tests/e2e/skill.e2e.ts`: pin-freshness checks dropped (#67)
- `tests/regression.test.ts`: `source.commit` / `verify.expected`
invariants dropped (#67)
- `public/og-image.png`: OG asset regenerated (#64)
- `RELEASES.md`: skill-release procedure no longer requires a manifest
re-pin (#67); triple-diff verification added
  (#69); status-check context pitfall added (#71)
- `scripts/SYNCS.md`: re-pin language scrubbed from the skill flow (#67)
- `package.json`: version metadata updates from #64
- `scorecards/*.json`: 96 tool scorecards regenerated against `anc
v0.3.0` (#70); 7 of them renamed to track upstream
version bumps (act, anc, claude-code, flyctl, ollama, opencode,
starship)

**Created:**

- `src/data/spec/VERSION`: pinned spec semver (#64)
- `src/data/spec/CHANGELOG.md`: vendored copy of the spec repo's
changelog (#64)
- `src/data/spec/README.md`: vendoring workflow doc (#64)
- `src/data/spec/principles/p1-...` through `p7-...`: 7 principle files
vendored from the spec repo (#64)
- `scripts/sync-spec.sh`: vendoring script (#64)
- `scripts/SYNCS.md`: cross-repo sync map (#64)

**Renamed:**

- 7 scorecard files renamed in #70 to track upstream version bumps:
`act-v0.2.87.json` → `act-v0.2.88.json`;
`anc-v0.2.0.json` → `anc-v0.3.0.json`; `claude-code-v2.1.123.json` →
`claude-code-v2.1.126.json`;
`flyctl-v0.4.44.json` → `flyctl-v0.4.45.json`; `ollama-v0.22.0.json` →
`ollama-v0.22.1.json`; `opencode-v1.14.30.json`
→ `opencode-v1.14.31.json`; `starship-v1.25.0.json` →
`starship-v1.25.1.json`.

**Deleted:**

- None.

## Key Features

- **Three-source spec versioning model.** Footer / per-tool badges / OG
card each pull from a different spec-version
source by design. Conflating them would lie about at least one currency
dimension. Documented in
`docs/solutions/best-practices/agentnative-version-model-2026-05-01.md`
(dev-only).
- **Brew-installed `anc` in the scoring image.** Install parity with
every other registry tool, no more operator-state
coupling, scorecards from this image will always emit `anc.commit: null`
(no `.git/` in the brew cellar) by
  construction.
- **End-to-end SHA-pin cleanup.** Render (#66), schema (#69), and
rescore (#70) land together; the deep-check failure on
the skill-distribution pin probe goes away by removing the assertion in
#67.

## Benefits

- **Honest version surfaces.** Each spec-version display tracks its own
currency dimension; no more conflation.
- **Schema-render coherence.** `/skill.json` shape now matches the
documented update model (`bin/check-update` against
  `main`); per-tool scorecard pages no longer link incorrect SHAs.
- **Dead-ceremony reduction.** Skill releases no longer think about a
SHA bump that doesn't carry a contract.
- **Release-runbook hardening.** Triple-diff and status-check pitfall
both came from real-world misses; both are now
  permanent runbook entries.

## Breaking Changes

- [x] No breaking changes for end users.

`/skill.json` loses `source.commit` and the `verify` object. Agents that
read these advisory fields will see them
missing rather than wrong; consumers that don't read them are
unaffected. `agentnative-cli`'s
`src/skill_install/skill.json` fixture pulls from this repo's
source-of-truth, so its `skill-fixture-drift` workflow
will surface the shape change on its next PR. Coordinated CLI-side
update should land in lockstep.

## Deployment Notes

- [x] No special deployment steps required.

After deploy:

- `https://anc.dev/skill.json` will lose `source.commit` and the
`verify` object.
- Per-tool scorecard pages on `anc.dev` will no longer render commit
links.
- `anc.dev/score/anc` will display `anc v0.3.0` (was `v0.2.0`).
- Footer / OG card / badges continue to display version labels (now from
the vendored spec source).

## Skipped from this release (verified no-op for main)

- **#61** `refactor(layout): split docs/design into shipped src/styles +
research`. The "shipped" half
(`src/styles/foundation.css`, `scripts/og/og.{css,html}`, etc.) was
already on `main` via the v0.1 squash; the
remaining changes were a rename into `docs/research/design/`, which is
excluded from `main`.
- **#63** `chore(docs): move docs/VOICE.md to docs/research/VOICE.md`.
`docs/VOICE.md` never existed on `main`; the move
target (`docs/research/VOICE.md`) is excluded from `main` (now blocked
by `guard-main-docs.yml`'s extension to cover
  `docs/research/` and `docs/ideation/`).

## Checklist

- [x] Code follows project conventions and style guidelines
- [x] Commit messages follow [Conventional
Commits](https://www.conventionalcommits.org/)
- [x] Self-review of code completed
- [x] Tests added/updated and passing
- [x] No new warnings or errors introduced
- [x] Changes are backward compatible

## Additional Context

`docs/research/` and `docs/design/` are intentionally excluded from
`main`. They hold research material that lives on
`dev` only. The central reusable workflow at
`brettdavies/.github/.github/workflows/guard-main-docs.yml` already
enforces this for `docs/research/` and `docs/ideation/` alongside
`docs/plans|brainstorms|solutions|reviews/`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant