Skip to content

feat: F-5 versioning discipline — single source of truth + release-tag helper#136

Merged
AVADSA25 merged 2 commits into
mainfrom
f5-versioning
May 24, 2026
Merged

feat: F-5 versioning discipline — single source of truth + release-tag helper#136
AVADSA25 merged 2 commits into
mainfrom
f5-versioning

Conversation

@AVADSA25

Copy link
Copy Markdown
Owner

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.0 and 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__ reads VERSION (stdlib, never raises, falls back to a constant) → a real "what version am I running" answer.
  • scripts/tag_releases.pydry-run by default; maps each CHANGELOG release to its commit and prints the annotated tags it would create. --execute / --push to opt in. Claude never creates/pushes tags.
  • docs/VERSIONING.md — SemVer scheme, source-of-truth chain, and the v3.0.0 reconciliation decision (left to you — deleting a pushed tag is published-history).
  • tests/test_versioning.py (5 tests) pins VERSION == 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)

  • Decide the v3.0.0 tag: (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.
  • Run the tagger when you're ready: python3 scripts/tag_releases.py (preview) → --execute --push.

Verification

  • tests/test_versioning.py — 5 passed; ruff clean on all new files.
  • Dry-run smoke maps all 10 releases → commits, writes nothing.
  • Existing investor/repo doc-guard tests (13) still pass.

Test plan

  • CI green (new test gated in the doc-guard job)
  • You pick the v3.0.0 reconciliation (A or B)
  • You run scripts/tag_releases.py --execute --push to create the historical tags

🤖 Generated with Claude Code

Mikarina13 and others added 2 commits May 24, 2026 23:05
…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>
@AVADSA25 AVADSA25 merged commit 632eeb5 into main May 24, 2026
1 check passed
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>
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants