Hotfix v1.1.1: closed two gaps discovered while deploying v1.1.0 —
.claude-plugin/marketplace.json missing the owner field (blocked
claude plugin marketplace add on Claude Code v2.1.263) and pyproject.toml
not in scripts/sync_version.py's sync surface (v1.1.0 GitHub Release shipped a
1.0.1 wheel/sdist). Both fixes are landed on fix/v1.1.1-hotfix; ready to cut a
release.
.claude-plugin/marketplace.json— added$schema, top-leveldescription,owner.name(mirrors the workingAgent-toolkit/.claude-plugin/marketplace.json).scripts/sync_version.py— addedTOML_VERSION_SPECS(pyproject.toml[project]table),TOML_VERSION_LINE_RE,_section_header_re(),sync_toml_version().require_known_paths()now asserts the[project]table is present.main()callssync_toml_version().tests/unit/test_sync_version.py— added 6 regression tests for TOML sync (writes, idempotent, check-only, missing-section, other-table-untouched, real-pyproject-drift guard).skills/adr-toolkit/VERSION,SKILL.mdfrontmatter,.claude-plugin/plugin.json,adapters/gemini-cli/gemini-extension.json,adapters/antigravity/plugin.json,pyproject.toml— all synced to 1.1.1 viascripts/sync_version.py.changelog.md— new## v1.1.1 (2026-09-06)section.handoff.md— this file.
scripts/sync_version.py --check: exit 0 (no drift, including pyproject.toml).- 6 new TOML sync tests re-run as standalone assertions: all pass.
script/sync_version.pyandtests/unit/test_sync_version.pyparse withast.parse: OK.- Real-repo guard:
pyproject.toml[project] versionreports1.1.1, matchesskills/adr-toolkit/VERSION.
- Merge
fix/v1.1.1-hotfix→develop(PR, CI must pass — including the version-drift job, which now also checks pyproject.toml). - Open
release/v1.1.1→masterPR; after CI passes (release.yml runs the full suite + tag == VERSION check), merge. - Back-merge
master→develop. - Tag
v1.1.1frommasterand push —release.ymlruns pytest + sync_version --check + tag == VERSION, then publishes a GitHub Release with the skill tarball + sha256 + Python wheel/sdist, and publishes to PyPI via Trusted Publisher (continue-on-error: true, tracked in improvements.md). - After release, refresh the local installs on the four harnesses
(Claude Code
~/.claude/skills/symlink, Codex~/.codex/skills/, Antigravity~/.gemini/config/plugins/adr-toolkit/skills/adr-toolkit/, Cline~/.agents/skills/) to v1.1.1 — the same flow used to bring them to v1.1.0 in the previous session.
- PyPI Trusted Publisher still
continue-on-error: true— known, tracked. - Cline adapter still manually verified;
harness-paritynot covering Cline yet (Medium backlog item from PR #36). - Inherits prior Open risks (ruleset context sync, deferred automation).
The first PR #43 title fix(v1.1.1): ... did not match the
pr-title-check regex (scope v1.1.1 contains dots, but the regex allows
only [a-z0-9-]+). PR title was retitled to fix(release): ... for v1.1.1,
and this follow-up commit re-triggers the workflow so the refresh catches
the new title.