"""Final trace after classified cache reclamation; retain earlier refusal unchanged."""
import importlib.util
from pathlib import Path
import sys
sys.dont_write_bytecode = True
SOURCE = Path(__file__).with_name('run.py')
spec = importlib.util.spec_from_file_location('initial302finaltrace', SOURCE)
p = importlib.util.module_from_spec(spec)
spec.loader.exec_module(p)

class FinalTracePhase(p.Phase):
    def prepare(self):
        super().prepare()
        self.receipt['final_trace_driver_sha256'] = p.g.digest(Path(__file__))
        self.receipt['reclamation_receipt_sha256'] = p.g.digest(Path(__file__).with_name('incremental-reclaim-after.json'))
        self.flush()

    def execute(self):
        if self.name != 'final-trace':
            raise RuntimeError('final-trace only')
        self.run('trace', ['traceable-reqs', 'check', '--json'], timeout=600)

p.Phase = FinalTracePhase
if __name__ == '__main__':
    sys.exit(p.main())
