"""只读查看已有教学任务清单；不创建沙箱，不更改任务目录。"""
import argparse
from pathlib import Path
from contracts import digest
from runtime_core import read_json

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("workspace")
    root = Path(parser.parse_args().workspace)
    manifest = read_json(root / "manifest.json")
    source = read_json(root / "inputs/source.json")
    # 只证明内容与清单匹配；不把 hash 比较当作身份认证。
    print({"manifest": manifest, "input_unchanged": manifest["source_hash"] == digest(source)})
