rdmbair15m5-changelog-20260901-1038-voight-product-rename-and-canonical-promotion
rdmbair15m5-changelog-20260901-1038-voight-product-rename-and-canonical-promotion
Renamed RDmenubar to Voight (apps/Voight), configured permanent bundle ID and CloudKit container, enforced Universal2 lipo gate build pipeline, and promoted to canonical root rdmsm4x.
Scope
- Hosts:
rdmbair15m5(local implementation node),rdmsm4x(canonical dev lead) - Repositories:
/Users/richh/dev/apps/Voight(migrated from/Users/richh/dev/apps/RDmenubar), canonicalrdmsm4x:~/dev/apps/Voight
Exact Changes
- Product & Directory Rename:
- Renamed local directory
/Users/richh/dev/apps/RDmenubarto/Users/richh/dev/apps/Voight. - Renamed SwiftPM modules to
VoightCore,VoightUI, and executableVoight. - Renamed test targets to
VoightCoreTests,VoightUITests, andVoightE2ETests.
- Renamed local directory
- Bundle Identifier & CloudKit Container:
- Permanent team bundle ID:
com.eastcoastscience.Voight. - Permanent CloudKit container:
iCloud.com.eastcoastscience.Voight(unified across macOS and iOS). - Ubiquitous key-value store prefix:
com.eastcoastscience.Voight.preferences.v1.
- Permanent team bundle ID:
- Universal2 Lipo Gate Pipeline
(
build.sh):- Automated release compilation with
--arch arm64 --arch x86_64. - Mandatory lipo gate verification (
lipo -archs) failing if botharm64andx86_64are not present in the artifact. - Packaging into
dist/Voight.appand standalonedist/voightCLI. - Info.plist generation with required TCC strings
(
NSLocationWhenInUseUsageDescription,NSLocalNetworkUsageDescription,NSBonjourServices). - Signing with Apple Development identity (
S65Q255HA8, teamZU2882L4HT) or automated ad-hoc fallback.
- Automated release compilation with
- Documentation & Baseline Standards:
- Created
CLAUDE.mdandSTATUS.mdin repo root conforming to~/dev/apps/CLAUDE.md.
- Created
- Canonical Promotion & Verification:
- Excluded
.build*,.swiftpm*,dist*, and.DS_Store. - Promoted to
rdmsm4x:~/dev/apps/Voightviarsync. - Verified promotion with
rsync -rn -c(0 diff, verified byte-for-byte). - Removed obsolete
rdmsm4x:~/dev/apps/RDmenubar. - Executed
swift testonrdmsm4x— 220/220 tests passed. - Executed
./build.shonrdmsm4x— Universal2 lipo gate PASSED (x86_64 arm64).
- Excluded
Commands Run
mv /Users/richh/dev/apps/RDmenubar /Users/richh/dev/apps/Voightswift test(local: 220/220 passed)./build.sh(local: universal2 lipo gate verified)rsync -avz --delete --exclude='.build*' --exclude='.swiftpm*' --exclude='dist*' --exclude='.DS_Store' /Users/richh/dev/apps/Voight/ [email protected]:/Users/richh/dev/apps/Voight/rsync -rn -c --delete --exclude='.build*' --exclude='.swiftpm*' --exclude='dist*' --exclude='.DS_Store' /Users/richh/dev/apps/Voight/ [email protected]:/Users/richh/dev/apps/Voight/ssh [email protected] "cd /Users/richh/dev/apps/Voight && swift test"ssh [email protected] "cd /Users/richh/dev/apps/Voight && ./build.sh"
Verification Evidence
- Local
swift test: 220 executed, 0 failures. - Remote
swift test(rdmsm4x): 220 executed, 0 failures. - Universal2
lipo -archs:x86_64 arm64present on bothrdmbair15m5andrdmsm4x. rsync -rn -c: Clean exit code 0, 0 bytes difference.- CLI execution:
./dist/voight --metrics-jsonemits full validated telemetry.