mirror of
https://github.com/Vateron-Media/XC_VM.git
synced 2026-10-13 12:02:54 +02:00
`make main`/`make lb` now stamp a unique per-build id — version + short git SHA + UTC timestamp + 8 random bytes — into RELEASE_ID at the staged deploy root (new stamp_release_id target, run after the copy step; the file is generated per build, never git-tracked). ConstantsInitializer exposes it at file scope as XC_VM_BUILD_ID by reading RELEASE_ID relative to __DIR__; a source/dev checkout has no file and reports 'dev'. This gives every build a traceable fingerprint so a leaked or rebranded copy can be tied back to its origin (and, once activation ships, reported in the phone-home alongside install_id). Kept at file scope to avoid adding a branch to ConstantsInitializer::init() (CRAP ratchet). README discloses it. Tests: XC_VM_BUILD_ID defined and defaults to 'dev' in a source checkout. Full suite (817) + gates + CRAP + phpcs green; Makefile targets validated.