feat: F-5 versioning discipline — single source of truth + release-tag helper#136
Merged
Conversation
…helper Closes the F-5 version-drift gap (investor readiness): CHANGELOG ends at v2.3.0, README says v2.3, but the only git tag is v3.0.0 and there's no introspectable version. Additive only — no runtime code touched: - VERSION (repo root) = 2.3.0, the canonical source of truth. - codec_version.__version__ reads VERSION (stdlib, never raises, falls back to a constant) for runtime introspectability. - scripts/tag_releases.py — DRY-RUN by default; maps each CHANGELOG release to its commit and prints the tags it would create; --execute/--push to opt in. Claude never creates/pushes tags. - docs/VERSIONING.md — the SemVer scheme, source-of-truth chain, and the v3.0.0 reconciliation decision (left to the operator — deleting a pushed tag is published-history). - tests/test_versioning.py pins VERSION == codec_version.__version__ == CHANGELOG latest; verifies the parser + dry-run safety. 5 tests, ruff clean. Reference: docs/F5-VERSIONING-DESIGN.md. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Stdlib-pure, green on the ubuntu runner — keeps VERSION / codec_version / CHANGELOG locked in sync on every PR. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 tasks
AVADSA25
added a commit
that referenced
this pull request
May 24, 2026
#137) - F-11: README "Paid Mac app" line now states pricing (€10/month or €99/year, annual = 2 months free); OSS build stays free/MIT. - F-18: per Mickael, no "Lucy" branding in CODEC — scrub the stray "Lucy-quality" descriptor from the CHANGELOG; README keeps the generic bidirectional-MCP / agent-to-agent framing. (The actual `lucy` delegate skill is left untouched — flagged separately.) - F-5: re-sync VERSIONING.md to "resolved" (v3.0.0 deleted, history tagged) — the closure landed after #136 squash-merged, so main was stale. - Mark F-5/F-11/F-18 closed in the investor audit + HANDOFF. Co-authored-by: Mickael Farina <farina.mickael@gmail.com> Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
AVADSA25
added a commit
that referenced
this pull request
May 24, 2026
With #136–#140 merged, reconcile the audit + HANDOFF to the true state: - Investor audit: mark F-4 (ruff gate, PR #138), F-12 (Discussions, #140), F-15 (pyproject, #139) closed. - HANDOFF: F-4/F-12 → done, F-8 → "your captures pending" with the exact shot list, table → ~98% (only F-8 screenshots + the F-4 full-suite sliver remain). - F-8 orphan cleanup: remove 3 unreferenced screenshots (f13-toggle/f18-recording/transcribing) + the cortex.screensht.png typo dupe (all verified 0 references). The fresh pilot/project/cortex/tasks captures + README wiring land in a follow-up once Mickael drops the images. Co-authored-by: Mickael Farina <farina.mickael@gmail.com> Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
1 task
AVADSA25
pushed a commit
that referenced
this pull request
May 25, 2026
…path bug - docs/PHASE-1-AUDIT-REMEDIATION-BRIEF.md: complete record of the whole audit remediation (Pilot wave PP-1…PP-12, investor PRs #136–#143, operational fixes, Apple ground truth, scoreboard, remaining). - fix(apple): first_run.py invoked install_launchagents.sh from packaging/macos/ but it lives in packaging/macos/launchd/ — a real --yes run would crash (dry-run masked it). Corrected the path + a regression test. - HANDOFF reconciled to Apple ground truth (from the on-Mac report): the codec-repo bundled-app pipeline is built+tested but never produced an artifact + points at a missing notary profile; the ava-stack installer DMG is the real shippable; licensing is NOT enforced client-side (biggest gap); W5-11 wizard + W5-13 Sparkle not-started. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AVADSA25
added a commit
that referenced
this pull request
May 25, 2026
…path bug (#144) * docs+fix: Phase-1 remediation brief + Apple ground-truth + first_run path bug - docs/PHASE-1-AUDIT-REMEDIATION-BRIEF.md: complete record of the whole audit remediation (Pilot wave PP-1…PP-12, investor PRs #136–#143, operational fixes, Apple ground truth, scoreboard, remaining). - fix(apple): first_run.py invoked install_launchagents.sh from packaging/macos/ but it lives in packaging/macos/launchd/ — a real --yes run would crash (dry-run masked it). Corrected the path + a regression test. - HANDOFF reconciled to Apple ground truth (from the on-Mac report): the codec-repo bundled-app pipeline is built+tested but never produced an artifact + points at a missing notary profile; the ava-stack installer DMG is the real shippable; licensing is NOT enforced client-side (biggest gap); W5-11 wizard + W5-13 Sparkle not-started. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * fix(d1): regenerate manifest for b5e35fd skill drift + refresh brief main went red AGAIN after #145: commit b5e35fd ("reconcile Qwen MLX endpoints to :8083") edited 5 skills (create_skill/health_check/screenshot_text/skill_forge/ translate) without regenerating skills/.manifest.json — #145 (generated before it) didn't cover them. Regenerate to fully restore the D-1 gate. Refresh the brief: Task-tab bug was real + fixed in 8b5d665; manifest-drift lesson documented; v3.1. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Mickael Farina <farina.mickael@gmail.com> Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
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
Closes the F-5 version-drift gap (investor readiness). The CHANGELOG ends at v2.3.0 and the README says v2.3, but the only git tag is
v3.0.0and there's no introspectable version. Additive only — zero runtime code touched.VERSION(repo root) =2.3.0— the canonical single source of truth.codec_version.__version__readsVERSION(stdlib, never raises, falls back to a constant) → a real "what version am I running" answer.scripts/tag_releases.py— dry-run by default; maps each CHANGELOG release to its commit and prints the annotated tags it would create.--execute/--pushto opt in. Claude never creates/pushes tags.docs/VERSIONING.md— SemVer scheme, source-of-truth chain, and thev3.0.0reconciliation decision (left to you — deleting a pushed tag is published-history).tests/test_versioning.py(5 tests) pinsVERSION == codec_version.__version__ == CHANGELOG latest, verifies the parser, and asserts the script is dry-run-safe. Wired into the CI doc-guard gate.What's left for you (documented in
docs/VERSIONING.md)v3.0.0tag: (A, recommended) delete it as erroneous and let the script lay down v1.0.0…v2.3.0; or (B) treat it as the intended next major and bump to 3.0.0 on the next release.python3 scripts/tag_releases.py(preview) →--execute --push.Verification
tests/test_versioning.py— 5 passed; ruff clean on all new files.Test plan
scripts/tag_releases.py --execute --pushto create the historical tags🤖 Generated with Claude Code