docs: versioning & contract policy + manual release process (SEC-23, SEC-24)#8
Merged
Merged
Conversation
…SEC-24) Define how the project versions itself and how releases are cut, and bump to the first public release version. SEC-23 (versioning & contract policy) — docs/versioning.md: - The contract = public API surface (fetcher/category/manifest/envelope schemas + the paramify CLI); framework internals, TUI, and fetcher implementations are explicitly not contract. - The 3 independent version axes: tool version (tag/pyproject), envelope schema_version (additive-only, currently 1.0), per-fetcher version (0.x). - SemVer bump policy table (major = contract break, minor = additive, patch = fixes). - Pre-1.0 rule (a break bumps the minor while under 1.0) and 1.0 = contract frozen and supported. SEC-24 (release management, manual variant): - CHANGELOG.md in Keep a Changelog format, seeded with a 0.2.0 first-public- release entry. - docs/releasing.md — the manual, tag-driven runbook (bump policy -> CHANGELOG -> pyproject -> PR -> tag vX.Y.Z -> gh release create; GitHub auto-attaches the source tarball). Pre-release (-rc/-beta) steps; wheel/PyPI deferred behind the packaging blocker; release-please documented as a future upgrade path. Bump pyproject 0.1.0 -> 0.2.0 and add both docs to the README doc index. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
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.
Establishes how the project versions itself and how releases are cut, and bumps to the first public release version (
0.2.0). Closes SEC-23; advances SEC-24 (manual-release scope).SEC-23 — Versioning & contract policy (
docs/versioning.md)paramifyCLI. Framework internals, the TUI, and fetcher implementations are explicitly not contract.pyproject), envelopeschema_version(additive-only, currently1.0), per-fetcherversion.0.x, a break bumps the minor. 1.0 = contract frozen and supported (deliberate future decision, not auto-triggered).SEC-24 — Release management (manual variant)
release-please— pre-1.0 at low cadence, the bot + always-open release PR + repo setting + squash-merge convention aren't worth it yet. Documented as the future upgrade path.CHANGELOG.md(Keep a Changelog), seeded with a0.2.0first-public-release entry.docs/releasing.md— the manual runbook (bump policy → CHANGELOG →pyproject→ PR → tagvX.Y.Z→gh release create; GitHub auto-attaches the source tarball). Pre-release (-rc/-beta) steps; wheel/PyPI deferred behind the packaging blocker.Also
pyproject0.1.0 → 0.2.0; both docs added to the README doc index.Verification
pyprojectparses at0.2.0;pytest— 205 passed (the remaining0.1.0s are per-fetcherversionfields, the independent axis).Note: the actual v0.2.0 tag + GitHub Release are documented but not performed here — cut per the runbook once this lands on
main.🤖 Generated with Claude Code