#!/usr/bin/env python3 """Four exact-snapshot ABBA measurements; no provider, daemon or qualification.""" import argparse,datetime,json,os,platform,shutil,signal,stat,subprocess,tempfile,time from pathlib import Path from source_guard import require,sha from native_daemon_reuse import extract_selected from closed_inventory import closed_tree from startup_diagnostic import restore_pack,finalize_diagnostic from diagnostic_lifecycle import DiagnosticChild,DiagnosticInspection from owned_processes import OwnedProcesses,atomic_json HERE=Path(__file__).resolve().parent PIN=json.loads((HERE/'snapshot-pool-inputs.json').read_text()) def admit_copy(index,pool,remaining,cancelled,uncertain): require(not cancelled and not uncertain,'Cancelled or uncertain experiment cannot launch another copy') require(type(index) is int and 0<=index<4 and pool==[4,16,16,4][index],'Only the exact four-copy ABBA sequence is admitted') require(remaining>=90+120+60,'Full copy, cleanup and final-integrity windows no longer fit') def child_environment(home,tmp,pool): require(type(pool) is int and pool in (4,16),'Invalid process-start pool request') return {'PATH':'/usr/bin:/bin:/usr/sbin:/sbin','HOME':str(home),'LANG':'en_US.UTF-8','TMPDIR':str(tmp),'UV_THREADPOOL_SIZE':str(pool)} def verify_report(path,pool,pin=PIN): st=path.lstat();require(stat.S_ISREG(st.st_mode) and st.st_nlink==1 and st.st_size<=16384,'Unsafe copy receipt') r=json.loads(path.read_text()) require(r['status']=='snapshot_verified_not_executed' and r['isQualification'] is False and r['poolRequestedAtProcessStart']==pool and r['actualThreadCountMeasured'] is False,'Copy receipt identity/status mismatch') require(r['moduleSha256']==pin['moduleSha256'] and r['providerCalls']==r['vendorProcessesStarted']==0,'Copy code/execution scope mismatch') require(all(r[k] is True for k in ['snapshotClosed','commandDirectoryClosed','temporaryRootEmpty']) and r['cleanupErrors']==[],'Copy cleanup incomplete') require(r['sealedOutput']=={'files':pin['entries']+2,'bytes':pin['distributionBytes'],'handoffVerified':True,'descriptorIdentityVerified':True},'Incomplete sealed snapshot verification') require(type(r['snapshotMilliseconds']) in (int,float) and 0600: proof['status']='comparison_failed_no_retry' raise RuntimeError('Experiment exceeded its 600-second bound; cleanup completed') if cancelled: proof['status']='comparison_failed_no_retry' raise InterruptedError(cancelled+'; owned cleanup completed') try:assert_complete(proof) except BaseException: proof['status']='comparison_failed_no_retry';raise finally:save() if __name__=='__main__': p=argparse.ArgumentParser(description=__doc__);p.add_argument('--archive',type=Path,required=True);p.add_argument('--output',type=Path,required=True) raise SystemExit(execute(p.parse_args()))