Files
ARCADIA-Studio/harness/experiments/grapheme-windows-cb91525-20260911/readback-archives.py
T

57 lines
3.7 KiB
Python

"""Fresh independent reads of exact archived evidence; no execution of payloads."""
import hashlib
import json
from datetime import datetime, timezone
from pathlib import Path
main = Path('C:/Users/User/Documents/Git/ARCADIA-Studio')
worktree = main / '.local/canvas-union-ytr83r-20260911'
experiments = worktree / 'harness/experiments'
def digest(data):
return hashlib.sha256(data).hexdigest().upper()
def info(path):
data = path.read_bytes()
return dict(bytes=len(data), sha256=digest(data))
review_source = main / '.local/staged-native-a57-independent-review.md'
review_target = worktree / 'harness/release-staged-native-a57-independent-review-20260911.md'
review_first = review_source.read_bytes()
review_second = review_target.read_bytes()
assert review_first == review_second
assert digest(review_second) == 'A949008C91854F8779BB37C2EABF87955782F2008075C37494D53AD3B4F2F564'
results = []
for name in ('grapheme-windows-cb91525-20260911', 'canvas-native-close-a57c334-20260911'):
directory = experiments / name
manifest = json.loads((directory / 'manifest.json').read_bytes())
assert not (directory / 'readback.json').exists()
metadata_names = ['README.md', 'manifest.json']
if name.startswith('grapheme-'):
metadata_names += ['archive-evidence.py', 'readback-archives.py']
expected_before = sorted([row['path'] for row in manifest['files']] + metadata_names)
actual_before = sorted(p.relative_to(directory).as_posix() for p in directory.rglob('*') if p.is_file())
assert actual_before == expected_before, (name, actual_before, expected_before)
assert not any(Path(p).suffix.lower() in ('.exe', '.dll', '.zip') for p in actual_before)
payloads = []
for record in manifest['files']:
original = Path(record['origin']).read_bytes()
copied = (directory / record['path']).read_bytes()
assert original == copied
assert len(copied) == record['bytes'] and digest(copied) == record['copy_sha256'] == record['original_sha256'] == record['original_after_sha256']
payloads.append(dict(path=record['path'], bytes=len(copied), original_sha256=digest(original), copy_sha256=digest(copied)))
metadata = [dict(path=path, **info(directory / path)) for path in sorted(metadata_names)]
receipt = dict(checked_utc=datetime.now(timezone.utc).isoformat(), pass_=True,
scope='Independent second read of original/copied closed payloads; exact archive inventory; no runtime execution',
payload_files=len(payloads), payload_bytes=sum(row['bytes'] for row in payloads), payloads=payloads, metadata=metadata,
expected_final_inventory=sorted(expected_before + ['readback.json']),
self_hash_excluded=True, no_binary_or_zip_payload=True,
raw_review=dict(origin=str(review_source), copy=str(review_target), bytes=len(review_second), sha256=digest(review_second)))
with (directory / 'readback.json').open('x', encoding='utf-8', newline='\n') as out:
json.dump(receipt, out, indent=2)
out.write('\n')
actual_after = sorted(p.relative_to(directory).as_posix() for p in directory.rglob('*') if p.is_file())
assert actual_after == receipt['expected_final_inventory']
results.append(dict(path=str(directory), payload_files=receipt['payload_files'], payload_bytes=receipt['payload_bytes'],
total_files=len(actual_after), total_bytes=sum((directory / p).stat().st_size for p in actual_after),
manifest=info(directory / 'manifest.json'), readback=info(directory / 'readback.json'), readme=info(directory / 'README.md')))
print(json.dumps(dict(archives=results, raw_review=dict(path=str(review_target), **info(review_target))), indent=2))