Skip to content

ci(skills-json): normalize per-skill sha/updated in the drift gate + heal manifest#458

Merged
aaronjmars merged 1 commit into
mainfrom
ci-skills-json-normalize-sha
Jun 12, 2026
Merged

ci(skills-json): normalize per-skill sha/updated in the drift gate + heal manifest#458
aaronjmars merged 1 commit into
mainfrom
ci-skills-json-normalize-sha

Conversation

@aaronjmars

Copy link
Copy Markdown
Owner

Follow-up to #457 / #455.

Problem: the ci-skills-json gate compares the full skills.json, including each skill's sha and updated — which are derived from git log. Squash-merging a skill PR rewrites that skill's commit, so the merged skill's sha/updated go stale in the committed manifest until the next regen. The result: the gate false-fails the next, innocent skills PR over drift it didn't cause. We hit this immediately — after #353 and #419 squash-merged, main was left drifted on ctrl then beamr-route.

Fix: normalize sha/updated out of the comparison alongside generated, so the gate enforces only the semantic catalog fields (category / name / description / schedule / requires / …) — the #454/#456 drift class it's actually meant to catch — and is immune to squash-merge churn. fetch-depth: 0 is retained (the generator still resolves full history; the git-derived values are just normalized out of the diff).

Verified locally: with the refined norm(), the gate is green on main; a real category/description change still trips it.

Also regenerates skills.json to heal the beamr-route sha/updated drift left by #419's squash merge, so the committed manifest is accurate.

🤖 Generated with Claude Code

…anifest

The ci-skills-json gate (#457) compared the full manifest, including each
skill's git-derived sha/updated. Squash-merging a skill PR rewrites that
skill's commit, so the merged sha goes stale in skills.json until the next
regen — making the gate false-fail the *next*, innocent skills PR.

Normalize sha/updated out of the comparison alongside generated, so the gate
enforces only semantic catalog fields (category/name/description/...) — the
#454/#456 drift class it's meant to catch — and is immune to squash churn.

Also regenerate skills.json to heal the beamr-route sha/updated drift left by
#419's squash merge.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@aaronjmars aaronjmars merged commit 1681192 into main Jun 12, 2026
2 checks passed
@aaronjmars aaronjmars deleted the ci-skills-json-normalize-sha branch June 12, 2026 14:17
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