"""Run one verification: python -I run_one.py . Prints one JSON line.""" import json import os import sys import traceback def _limits(): try: import resource cpu = int(os.environ.get("QARENA_CPU", "0")) mem = int(os.environ.get("QARENA_MEM_MB", "0")) if cpu: resource.setrlimit(resource.RLIMIT_CPU, (cpu, cpu + 30)) if mem and sys.platform.startswith("linux"): resource.setrlimit(resource.RLIMIT_AS, (mem * 2 ** 20, mem * 2 ** 20)) os.nice(10) except (ImportError, OSError, ValueError): pass _limits() sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) from common import Reject, load_artifact # noqa: E402 BOARDS = ("tcount", "andcount", "stabrank", "qldpc", "tnc", "emitter", "ftprep", "constadd", "catldpc", "qldpcopen", "mcz", "qrom", "fermion", "flagcheck", "distill", "ecdlp", "pnet", "decoder", "pcover") MAX_BYTES = {"distill": 64 * 1024, "pnet": 2_097_152, "pcover": 262_144} # per-board file caps below load_artifact's 20 MiB (SPEC_v5 s.1, SPEC_v6 s.2-3) def main(): board, inst, path = sys.argv[1:4] if board not in BOARDS: raise SystemExit("unknown board") with open(os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "boards.json"), encoding="utf-8") as f: conf = json.load(f)["boards"][board] if inst not in conf["instances"]: raise SystemExit("unknown instance") try: art = load_artifact(path, conf.get("max_artifact_bytes", MAX_BYTES.get(board, 20 * 1024 * 1024))) # board byte cap before parsing mod = __import__(board) res = mod.verify(inst, art) except Reject as e: res = {"status": "rejected", "detail": {"reason": str(e)[:2000]}} except RecursionError: res = {"status": "rejected", "detail": {"reason": "artifact nesting too deep"}} except MemoryError: res = {"status": "error", "detail": {"reason": "verifier memory limit reached"}} except Exception: res = {"status": "error", "detail": {"reason": "verifier internal error", "trace": traceback.format_exc()[-2000:]}} print(json.dumps(res)) if __name__ == "__main__": main()