#!/usr/bin/python3 """Real native FD10 component lane under PID1, never installed C01 acceptance. Executes the compiled production Rust transport/extraction with a native root fixture supervisor and native non-root child. Full C01 clock/storage/admission remains separately refused. Generation inspection uses the production controller with synthetic external appointments, not a fake healthy-process response. """ import hashlib import importlib.util import json import os from pathlib import Path import pwd import secrets import shutil import socket import subprocess import sys import time assert os.geteuid()==0 and socket.gethostname()=='d09-native-qualification' assert Path('/run/.containerenv').exists() and os.environ.get('D09_NATIVE_PID1')=='1' PACKAGE=Path('/opt/d09-native') for directory,_,files in os.walk(PACKAGE): for path in [Path(directory),*(Path(directory)/name for name in files)]:path.chmod(path.stat().st_mode & 0o755) def run(*args,check=True): r=subprocess.run(args,capture_output=True,text=True,timeout=60) if check and r.returncode:raise AssertionError((args,r.returncode,r.stdout,r.stderr)) return r def write(path,value,mode=0o644): path=Path(path);path.parent.mkdir(parents=True,exist_ok=True);path.write_bytes(value.encode() if isinstance(value,str) else value);path.chmod(mode) def wait(predicate,label,seconds=100): end=time.monotonic()+seconds while time.monotonic()=40 and not owner.PERMIT.exists() assert json.loads(store.read(owner.ROOT/'ledger.json'))['grants']==[binding['prerequisite']['grant_digest']] print('PASS actual native root MainPID -> native nonroot app FD10: kernel credentials, HELLO, no Python exec, private /run, wrong selection refusal',flush=True) print('PASS real PID1 startup >40 seconds: one grant/start intent, bounded pre-READY inspect, permit retained until native READY',flush=True) first_invocation=owner.service()['InvocationID'] original_ledger=store.read(owner.ROOT/'ledger.json') run('systemctl','stop','archipelago-d09-lifecycle.service') wait(lambda:owner.service()['MainPID']=='0','owner-loss managed retirement') print('PASS owner loss retires real native service; no disk-seeded transport authority',flush=True) (root/'native-proof.json').rename(root/'native-proof-first.json') run('systemctl','start','archipelago-d09-lifecycle.service') def unknown(): response=run('/usr/libexec/archipelago-d09ctl','inspect',check=False) return response.returncode==0 and json.loads(response.stdout)['state']=='UNKNOWN' wait(unknown,'fresh owner refuses disk continuity') assert store.read(owner.ROOT/'ledger.json')==original_ledger v=json.loads(original_ledger) index={k:binding[k] for k in ('target_binding_digest','composition_digest','transaction_id')} probe=owner.Owner.__new__(owner.Owner) record=dict(index,schema_version=1,allowed_action='REACTIVATE_PREREQUISITE', predecessor_epoch_id=v['epoch'],head_sequence=v['sequence'],observed_boot_id=owner.boot_id(), preserved_head_digest=wire.digest(original_ledger), preserved_journal_digest=wire.digest(wire.canonical({'receipts':v['journal'],'intents':v['intents']})), preserved_consumed_history_digest=wire.digest(wire.canonical(owner.consumption_history(v))), preserved_target_index_digest=wire.digest(wire.canonical(index)),disposition_digest=probe.drained_disposition(v), new_epoch_id=secrets.token_hex(16),new_grant_digest=secrets.token_hex(32),execution_grant_digest=secrets.token_hex(32), external_history_sequence=1) history=wire.canonical(dict(record,sequence=1));record['external_history_digest']=wire.digest(history) external=PACKAGE/'external';external.mkdir(mode=0o700) write(external/'history.json',history,0o600);write(external/'reactivation.json',wire.canonical(record),0o600) started=time.monotonic() provision.readmit(external/'reactivation.json',external/'history.json',activation=True) assert time.monotonic()-started<10 wait(lambda:(root/'native-proof.json').exists(),'new native FD10 after readmission') assert owner.PERMIT.exists() and owner.service()['ActiveState']=='activating' invocation=owner.service()['InvocationID'];assert invocation!=first_invocation before_retry=store.read(owner.ROOT/'ledger.json') provision.readmit(external/'reactivation.json',external/'history.json',activation=True) assert store.read(owner.ROOT/'ledger.json')==before_retry and owner.service()['InvocationID']==invocation wait(lambda:json.loads(store.read(owner.ROOT/'ledger.json'))['prerequisite']['state']=='STARTED','readmitted native READY',70) assert time.monotonic()-started>=40 and not owner.PERMIT.exists() assert len(json.loads(store.read(owner.ROOT/'ledger.json'))['grants'])==3 print('PASS external prerequisite readmission >40 seconds: new native FD10, UNKNOWN before authority, identical-record retry nonactivating, permit held through READY',flush=True)