"""Run only the optimized stageable CLI --version under the same private guard."""
import sys
sys.dont_write_bytecode = True
import run as driver
from pathlib import Path

class Identity(driver.Phase):
    def execute(self):
        binary = driver.g.TARGET / 'release/spt.exe'
        pdb = binary.with_suffix('.pdb')
        self.receipt['identity_driver_sha256'] = driver.g.digest(Path(__file__))
        self.receipt['binary_sha256'] = driver.g.digest(binary)
        self.receipt['pdb_sha256'] = driver.g.digest(pdb)
        self.run('version', [str(binary), '--version'], timeout=60)
        if driver.g.digest(binary) != self.receipt['binary_sha256'] or driver.g.digest(pdb) != self.receipt['pdb_sha256']:
            raise RuntimeError('stageable release binary or PDB changed during identity smoke')

driver.Phase = Identity
sys.argv = [sys.argv[0], 'binary-identity']
sys.exit(driver.main())
