Files
Charon/docs/issues/created/20260202-version_sync.md
akanealw eec8c28fb3
Some checks are pending
Go Benchmark / Performance Regression Check (push) Waiting to run
Cerberus Integration / Cerberus Security Stack Integration (push) Waiting to run
Upload Coverage to Codecov / Backend Codecov Upload (push) Waiting to run
Upload Coverage to Codecov / Frontend Codecov Upload (push) Waiting to run
CodeQL - Analyze / CodeQL analysis (go) (push) Waiting to run
CodeQL - Analyze / CodeQL analysis (javascript-typescript) (push) Waiting to run
CrowdSec Integration / CrowdSec Bouncer Integration (push) Waiting to run
Docker Build, Publish & Test / build-and-push (push) Waiting to run
Docker Build, Publish & Test / Security Scan PR Image (push) Blocked by required conditions
Quality Checks / Auth Route Protection Contract (push) Waiting to run
Quality Checks / Codecov Trigger/Comment Parity Guard (push) Waiting to run
Quality Checks / Backend (Go) (push) Waiting to run
Quality Checks / Frontend (React) (push) Waiting to run
Rate Limit integration / Rate Limiting Integration (push) Waiting to run
Security Scan (PR) / Trivy Binary Scan (push) Waiting to run
Supply Chain Verification (PR) / Verify Supply Chain (push) Waiting to run
WAF integration / Coraza WAF Integration (push) Waiting to run
changed perms
2026-04-22 18:19:14 +00:00

4.5 KiB
Executable File

Issue: Sync .version file with Git tag

Title

Sync .version file with latest Git tag

Labels

  • housekeeping
  • versioning
  • good first issue

Priority

Low (Non-blocking, cosmetic)

Description

The .version file is out of sync with the latest Git tag, causing pre-commit warnings during development.

Current State

  • .version file: v0.15.3
  • Latest Git tag: v0.16.8

Impact

  • Pre-commit hook check-version-tag fails with warning:
    Check .version matches latest Git tag..................Failed
    ERROR: .version (v0.15.3) does not match latest Git tag (v0.16.8)
    
  • Does NOT block builds or affect runtime behavior
  • Creates noise in pre-commit output
  • May confuse contributors about the actual version

Expected Behavior

  • .version file should match the latest Git tag
  • Pre-commit hook should pass without warnings
  • Version information should be consistent across all sources

Steps to Reproduce

  1. Clone the repository
  2. Run pre-commit checks:
    pre-commit run --all-files
    
  3. Observe warning: .version (v0.15.3) does not match latest Git tag (v0.16.8)

Proposed Solution

Option 1: Update .version to match latest tag (Quick Fix)

# Fetch latest tags
git fetch --tags

# Get latest tag
LATEST_TAG=$(git describe --tags --abbrev=0)

# Update .version file
echo "$LATEST_TAG" > .version

# Commit the change
git add .version
git commit -m "chore: sync .version file with latest Git tag ($LATEST_TAG)"

Option 2: Automate version syncing (Comprehensive)

Create a GitHub Actions workflow to automatically sync .version with Git tags:

name: Sync Version File

on:
  push:
    tags:
      - 'v*'

jobs:
  sync-version:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Update .version file
        run: |
          echo "${{ github.ref_name }}" > .version

      - name: Commit and push
        run: |
          git config user.name "github-actions[bot]"
          git config user.email "github-actions[bot]@users.noreply.github.com"
          git add .version
          git commit -m "chore: sync .version to ${{ github.ref_name }}"
          git push

Option 3: Remove .version file (Simplest)

If .version is not used in the codebase:

  1. Delete .version file
  2. Remove or update pre-commit hook to not check version sync
  3. Use Git tags as the single source of truth for versioning

Investigation Required

Before implementing, verify:

  1. Where is .version used?

    # Search codebase for references
    grep -r "\.version" --exclude-dir=node_modules --exclude-dir=.git
    
  2. Is .version read by the application?

    • Check backend code for version file reads
    • Check build scripts
    • Check documentation generation
  3. Why is there a version discrepancy?

    • Was .version manually updated?
    • Was it missed during release tagging?
    • Is there a broken sync process?

Acceptance Criteria

  • .version file matches latest Git tag (v0.16.8)
  • Pre-commit hook check-version-tag passes without warnings
  • Version consistency verified across all sources:
    • .version file
    • Git tags
    • package.json (if applicable)
    • go.mod (if applicable)
    • Documentation
  • If automated workflow is added:
    • Workflow triggers on tag push
    • Workflow updates .version correctly
    • Workflow commits change to main branch
  • .version — Version file (needs update)
  • .pre-commit-config.yaml — Pre-commit hook configuration
  • CHANGELOG.md — Version history
  • .github/workflows/ — Automation workflows (if Option 2 chosen)

References

  • Pre-commit hook: check-version-tag
  • QA Report: docs/reports/qa_report.md (section 11.3)
  • Implementation Plan: docs/plans/current_spec.md

Priority Justification

Why Low Priority:

  • Does not block builds or deployments
  • Does not affect runtime behavior
  • Only affects developer experience (pre-commit warnings)
  • No security implications
  • No user-facing impact

When to address:

  • During next maintenance sprint
  • When preparing for next release
  • When cleaning up technical debt
  • As a good first issue for new contributors

Estimated Effort

  • Option 1 (Quick Fix): 5 minutes
  • Option 2 (Automation): 30 minutes
  • Option 3 (Remove file): 15 minutes + investigation

Created: February 2, 2026 Discovered During: Docker build fix QA verification Reporter: GitHub Copilot QA Agent Status: Draft (not yet created in GitHub)