#!/usr/bin/env python3 """Run the sealed TELEN L3 final test without refitting or seed selection.""" from __future__ import annotations import argparse import json import sys from pathlib import Path REPO_ROOT = Path(__file__).resolve().parents[1] sys.path.insert(0, str(REPO_ROOT / "src")) from telen.experiment import ( # noqa: E402 BundleValidationError, GateAuthorizationError, ) from telen.final_evaluation import run_l3_final_evaluation # noqa: E402 def parse_args() -> argparse.Namespace: parser = argparse.ArgumentParser(description=__doc__) parser.add_argument("--manifest", type=Path, required=True) parser.add_argument("--output", type=Path, required=True) parser.add_argument("--device", default="cpu") return parser.parse_args() def main() -> None: args = parse_args() try: result = run_l3_final_evaluation( args.manifest, args.output, device=args.device ) except (GateAuthorizationError, BundleValidationError, ValueError) as exc: print( json.dumps( { "artifact_type": "telen_l3_final_evaluation_refusal", "authorized": False, "reason": str(exc), }, ensure_ascii=False, indent=2, ) ) raise SystemExit(2) from exc print(json.dumps(result, ensure_ascii=False, indent=2)) if __name__ == "__main__": main()