"""Audit small pinned original WorldForge documents without inference."""

import argparse
import hashlib
import json
import urllib.request
from pathlib import Path

p = argparse.ArgumentParser(description=__doc__)
p.add_argument("--baseline", type=Path)
a = p.parse_args()
rev = "ee573a051715a451b806a90e21462f23308faac4"
files = [
    "README.md",
    "LICENSE",
    "vggt/run_warp.py",
    "vggt/modules/utils_warp.py",
    "vggt/run_test_case.sh",
    "wan_for_worldforge/run_test_case.sh",
    "longcat_for_worldforge/run_test_case.sh",
]
spec = (
    json.loads(a.baseline.read_text())["documents"]
    if a.baseline
    else [
        {
            "name": f,
            "url": f"https://raw.githubusercontent.com/Westlake-AGI-Lab/WorldForge/{rev}/{f}",
        }
        for f in files
    ]
)
records = []
for x in spec:
    req = urllib.request.Request(x["url"], headers={"User-Agent": "CloutSourceAudit/1.0"})
    with urllib.request.urlopen(req, timeout=40) as r:
        b = r.read(600001)
    if len(b) > 600000:
        raise ValueError("Document limit exceeded")
    digest = hashlib.sha256(b).hexdigest()
    if a.baseline and digest != x["sha256"]:
        raise ValueError("Source changed " + x["name"])
    records.append({"name": x["name"], "url": x["url"], "sha256": digest})
print(
    json.dumps(
        {
            "scope": "Read only original WorldForge source audit not a V2 adapter or inference test",
            "documents": records,
        },
        indent=2,
    )
)
