chore(release): re-cut v1.1.1 with PR #43 hotfix (1.1.0 -> 1.1.1 on master) - #45
Merged
Conversation
… version Two gaps surfaced while deploying v1.1.0: 1) `.claude-plugin/marketplace.json` was missing the `owner` field that Claude Code v2.1.263's marketplace schema requires, so `claude plugin marketplace add <repo>` failed with "Invalid schema: ... owner: Invalid input". Added `$schema`, a top-level `description`, and `owner.name`, mirroring the working `Agent-toolkit/.claude-plugin/marketplace.json` shape. The existing `plugin.json` was already correct, so the symlink-based install kept working; this only unblocks fresh marketplace-add installs. 2) `pyproject.toml`'s `version` field was not in `scripts/sync_version.py`'s sync surface. The v1.1.0 GitHub Release shipped a skill tarball labeled v1.1.0 but a Python wheel/sdist labeled 1.0.1, and `release.yml`'s "tag matches VERSION" check only verified the skill VERSION against the tag, so the drift slipped through. Added `TOML_VERSION_SPECS` (currently `pyproject.toml` `[project]` table) and a new `sync_toml_version()` that rewrites the `version = "..."` line in-place by regex (Python 3.10 stdlib has no TOML writer; `tomli` is read-only). `require_known_paths()` now also asserts the `[project]` table is present, so a future structural edit that deletes the table fails loudly instead of silently dropping pyproject.toml out of the drift check. Added 6 regression tests in `tests/unit/test_sync_version.py` that pin the new behavior (writes under [project], leaves other tables untouched, idempotent, --check-only, skips when section missing, and a real-repo guard that fails the moment pyproject.toml drifts from skills/adr-toolkit/VERSION). Bumped VERSION 1.1.0 -> 1.1.1 and ran `scripts/sync_version.py` to propagate the bump to SKILL.md, .claude-plugin/plugin.json, adapters/gemini-cli/gemini-extension.json, adapters/antigravity/plugin.json, and pyproject.toml. Verification: - scripts/sync_version.py --check: exit 0 (no drift, including pyproject.toml). - 6 new TOML sync tests re-run as standalone assertions with Python 3.13: pass. - ast.parse on both edited files: OK.
The initial PR #43 title fix(v1.1.1): ... did not match the pr-title-check regex (scope v1.1.1 contains dots
fix(release): marketplace.json owner + pyproject.toml version sync for v1.1.1
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
Cut release v1.1.1, take 2.
The previous PR #44 accidentally shipped release branch
release/v1.1.1that was branched off a stale local develop before PR #43's hotfix landed.masterended up at1.1.0instead of1.1.1, sorelease.ymlfailed at "Verify tag matches VERSION" withtag v1.1.1 != v1.1.0. This PR re-cuts v1.1.1 from the real develop HEAD (99153e9= PR #43 merge commit) and brings master to v1.1.1.Why a second release PR
origin/developHEAD =99153e9withVERSION=1.1.1.release/v1.1.1branch didn't carry the fix commit.a54eac6withVERSION=1.1.0.v1.1.1tag was force-updated toa54eac6, butrelease.ymlcorrectly rejected (tag v1.1.1 != v1.1.0).This PR (
release/v1.1.1-real→master) brings master to99153e9, withVERSION=1.1.1. After merge, the existingv1.1.1tag will be force-moved to the new master HEAD andrelease.ymlwill re-trigger automatically.What this PR brings
All of PR #43's content:
.claude-plugin/marketplace.json—$schema, top-leveldescription,owner.name(Claude Code v2.1.263 schema).scripts/sync_version.py—TOML_VERSION_SPECS+sync_toml_version()sopyproject.toml's[project]table is in the sync surface;require_known_paths()asserts the[project]table is present.tests/unit/test_sync_version.py— 6 new TOML sync regression tests + real-repo drift guard.scripts/sync_version.py.Verification
scripts/sync_version.py --check: exit 0.release/v1.1.1-realHEAD =99153e9(= origin/develop), so develop CI coverage applies.v1.1.1tag will be force-moved to the new master HEAD and the existingrelease.ymltrigger will produce a v1.1.1 GitHub Release withadr_toolkit-1.1.1-*wheel/sdist (the fix that v1.1.0 missed).Examples Impact
ADR Impact