Source identity
| Field | Recorded value |
|---|---|
| Source type | archive member |
| Original record | verify_bundle.py |
| Date | Not specified in source |
| Path or archive member | archives/libsrc-73a762370367/JAIR_Combined_Research_Master/tools/verify_bundle.py |
| Original SHA-256 | 2c7b0e45df9561047ec55b5e501a993414e07fbd6fa37448ac215b38dab48e16 |
| Reading-copy SHA-256 | 2c7b0e45df9561047ec55b5e501a993414e07fbd6fa37448ac215b38dab48e16 |
| Archive source | {"sourceId": "libsrc-73a762370367", "member": "JAIR_Combined_Research_Master/tools/verify_bundle.py"} |
Recovered source transcript
Download complete source text ↓36 lines · 1.2 KB
#!/usr/bin/env python3
"""Verify files in the credential-redacted research master. Offline; standard library only."""
from pathlib import Path
import hashlib
import json
import sys
def main() -> int:
root = Path(__file__).resolve().parent.parent
try:
manifest = json.loads((root / "BUNDLE_SHA256.json").read_text(encoding="utf-8"))
except (OSError, ValueError) as exc:
print(f"Cannot read bundle manifest: {exc}", file=sys.stderr)
return 2
failures = []
for relative, expected in manifest.items():
path = (root / relative).resolve()
if not path.is_relative_to(root):
failures.append(f"UNSAFE PATH: {relative}")
continue
try:
digest = hashlib.sha256(path.read_bytes()).hexdigest()
except OSError:
failures.append(f"MISSING: {relative}")
continue
if digest != expected:
failures.append(f"CHANGED: {relative}")
if failures:
print("\n".join(failures))
return 1
print(f"PASS: {len(manifest)} stored files match the bundle manifest.")
return 0
if __name__ == "__main__":
raise SystemExit(main())