"""Resume metadata transfer only in one SSH connection; never capture again."""
import hashlib
import json
import pathlib
import subprocess
import sys

root = pathlib.Path(__file__).resolve().parent.parent
remote = '/storage/contextra/experiments/action-model-eval/2026/' + root.name
sys.path.insert(0, '/data/codex-artifacts/contextra/action-model-eval/2026/2026-10-26_contextra-camera24-prep_r01/helpers')
from remote import run

folder = 'Contextra_Camera6-21_Frame_Review'
assert not (root / folder).exists(), 'Use existing completed package, not this entrypoint'
fingerprints = {str(p.relative_to(root)): hashlib.sha256(p.read_bytes()).hexdigest() for p in (root / 'helpers').rglob('*.py')}
(root / 'reports/helper_fingerprints.json').write_text(json.dumps(fingerprints, indent=2))
subprocess.run([sys.executable, str(root / 'helpers/package.py')], check=True)
paths = list((root / 'reports').glob('*.json')) + [root / n for n in ('manifest.json', 'web_registration.json', 'checkpoint.ko.md', 'helpers/package.py')]
paths += [p for p in root.glob('camera*/reports/*.json') if p.name in ('record_execution.json', 'review_execution.json', 'registration.json', 'transfer_validation.json', 'remote_failure_inventory.json')]
payload = {'files': {str(p.relative_to(root)): p.read_text() for p in paths}, 'checks': json.loads((root / folder / 'SHA256.json').read_text())}
code = '''import json,pathlib,subprocess,sys,shutil
root=pathlib.Path(sys.argv[1]); data=json.load(sys.stdin)
assert root.is_dir() and shutil.disk_usage('/').free>=15*1024**3 and shutil.disk_usage(root).free>=15*1024**3
for rel,content in data['files'].items():
 p=root/rel; assert p.resolve().is_relative_to(root.resolve()); p.parent.mkdir(parents=True,exist_ok=True)
 if p.exists(): assert p.read_text()==content, 'Existing evidence differs: '+rel
 else: p.write_text(content)
subprocess.run(['python3',str(root/'helpers/package.py')],check=True)
actual=json.loads((root/'Contextra_Camera6-21_Frame_Review/SHA256.json').read_text())
assert actual==data['checks'], 'Package mismatch'
report={'package_files':len(actual),'both_servers_size_sha256_match':True,'windows_copy_performed':False}
(root/'reports/package_validation.json').write_text(json.dumps(report,indent=2))
print(json.dumps(report))
'''
r = run(['python3', '-c', code, remote], timeout=240, data=json.dumps(payload).encode())
log = {'returncode': r.returncode, 'stdout': r.stdout.decode(errors='replace'), 'stderr': r.stderr.decode(errors='replace')}
(root / 'reports/package_transfer_execution.json').write_text(json.dumps(log, indent=2))
assert r.returncode == 0, log
report = json.loads(r.stdout.decode().splitlines()[-1])
(root / 'reports/package_validation.json').write_text(json.dumps(report, indent=2))
print(json.dumps(report))
