57 lines
3.7 KiB
Python
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))
|