"""Read-only restart checkpoint verification; no network, subprocess, or business calls."""
from pathlib import Path
import hashlib
import json
import sys


def main():
    manifest = Path(__file__).with_name("RESTART_MANIFEST_20261015.json")
    data = json.loads(manifest.read_text(encoding="utf-8"))
    missing, changed = [], []
    for item in data["files"]:
        path = Path(item["path"])
        if not path.is_file():
            missing.append(str(path))
            continue
        raw = path.read_bytes()
        if len(raw) != item["bytes"] or hashlib.sha256(raw).hexdigest() != item["sha256"]:
            changed.append(str(path))
    absent_dirs = [p for p in data["directories"] if not Path(p).is_dir()]
    print(json.dumps({"checked_files": len(data["files"]), "checked_directories": len(data["directories"]),
                      "missing": missing, "changed": changed, "absent_directories": absent_dirs,
                      "network_or_business_calls": 0}, ensure_ascii=False, indent=2))
    return int(bool(missing or changed or absent_dirs))


if __name__ == "__main__":
    sys.exit(main())
