docs(release): codify /admin/* semver discipline in release contract (Story 44.4)#67
Merged
ALLiDoizCode merged 3 commits intomainfrom May 8, 2026
Merged
Conversation
added 3 commits
May 8, 2026 12:08
- Add ## API stability section (semver bump rules for /admin/* and ILP wire-format) - Add ## Staying current section (GitHub Watch + gh CLI subscription; automation deferred) - Add multi-arch architecture change rule in ## Artifacts prose - Add town mirror drift-detection note in ## Verification - Fix pull/<num> placeholder on two lines → pull/66 (Story 44.3 follow-up, AC #7) Story 44.4 / PR #<num>
|
🎉 This PR is included in version 3.6.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
5 tasks
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
Story 44.4 of the Townhouse HS-Mode v1 epic. Documentation-only PR — no code, CI workflow, or TypeScript changes.
Doc edits in
CONNECTOR_RELEASE_CONTRACT.md## API stabilitysection (inserted between## Stability guaranteesand## Supply-chain signing): semver bump rules for/admin/*field/endpoint additions and removals, ILP wire-format changes, and image architecture changes.### Townhouse pin disciplinesubsection: describes how townhouse pins by digest inimage-manifest.jsonand gates bumps on the SDK contract canary.## Staying currentsection (inserted between## Recommended pinning strategyand## Historical tag corruption): GitHub Watch UI (preferred) +gh apiCLI (fallback) mechanisms for release notifications; automation explicitly deferred as Open Thread Epic 7 #2.## Artifacts: adds explicit rule that adding architectures is build-only (no semver bump) and removing one is a MAJOR bump.## Verification: documents how to verify body-equivalence against thetoon-protocol/townmirror file.pull/<num>placeholder fix on two lines (Story 44.3 follow-up): bothpull/<num>references for PR feat(release): cosign-sign connector + ATOR sidecar images via keyless OIDC #66 now correctly link topull/66.CHANGELOG.mdeditAdded
### Documentationentry in[Unreleased]: Codify /admin/* semver discipline in CONNECTOR_RELEASE_CONTRACT.md (Story 44.4 / PR #). Thedocs(release)commit type maps to no semantic-release version bump — this PR alone does not cut a release.Asymmetric CHANGELOG treatment (town side)
toon-protocol/townhas noCHANGELOG.mdat root,packages/townhouse/, orpackages/sdk/— town uses sprint-status.yaml + commit messages as its audit log. The town-side "changelog equivalent" for this story is:packages/sdk/CONNECTOR_MIGRATION.mdpointing to the new mirror.CLAUDE.md## Where to Find Things.This asymmetry is intentional. Adding a singleton
CHANGELOG.mdin town for one entry would be ceremonial noise with no semantic-release pipeline to consume it.Town-side mirror content
The body of
CONNECTOR_RELEASE_CONTRACT.mdwill be mirrored byte-for-body-identical atpackages/sdk/CONNECTOR_RELEASE_CONTRACT.mdintoon-protocol/townin a companion PR. The town file prepends a 3-line comment header (drift-detection aid); the body below that header is byte-identical to this file.Body-equivalence is verified with:
diff CONNECTOR_RELEASE_CONTRACT.md \ <(tail -n +4 /path/to/town/packages/sdk/CONNECTOR_RELEASE_CONTRACT.md)Expected output: empty.
Test plan
grep -n "API stability\|Staying current" CONNECTOR_RELEASE_CONTRACT.md→ section headings presentgrep -nE "pull/<num>" CONNECTOR_RELEASE_CONTRACT.md→ empty (placeholder fixup confirmed)grep -n "Story 44.4" CHANGELOG.md→ matches[Unreleased]entrydocs(release)prefix → no version bumpdiff connector/CONNECTOR_RELEASE_CONTRACT.md <(tail -n +4 town/packages/sdk/CONNECTOR_RELEASE_CONTRACT.md)→ empty🤖 Generated with Claude Code