- Add VERSION at repo root (canonical) + airootfs mirror
- Refactor samios CLI, voice-bridge, installer, profiledef,
desktop-setup, PKGBUILD to derive VERSION from canonical file via
walk-up or conditional read (no embedded release-version literals)
- Makefile targets: version-set NEW=X (single file change), version-sync
- tests/test_version.sh: 55 assertions locking the invariants
Verified end-to-end:
make version-set NEW=0.3.0-rc2 → all 7 components see 0.3.0-rc2;
PKGBUILD transforms hyphen to underscore for Arch.
Codex verdict: B (0 blocking issues, shippable).