← Files LuciaARCHIVED FILE
modules/apertura-pratica/scripts/validate_run.py
1.25 KB · Oct 3, 2026 · 06:31 UTC
from __future__ import annotations
import argparse
import json
import logging
from pathlib import Path
from apertura_pratica_core import (
ValidationError,
load_json,
prepare_review,
validate_run,
write_json,
)
def main() -> int:
parser = argparse.ArgumentParser(description="Validate one Apertura pratica run.")
parser.add_argument("run_dir", type=Path)
args = parser.parse_args()
try:
if (args.run_dir / "artifact_manifest.json").exists():
# A saved package binds the validation bytes. Refresh its reports and
# manifests together rather than leaving the delivered hashes stale.
prepare_review(args.run_dir)
report = load_json(args.run_dir / "validation_report.json")
else:
report = validate_run(args.run_dir)
write_json(args.run_dir / "validation_report.json", report)
except ValidationError as exc:
logging.error("%s", exc)
return 2
logging.info("%s", json.dumps(report, ensure_ascii=False, sort_keys=True))
return 0 if report["status"] in {"ready_for_review", "ready_to_open"} else 1
if __name__ == "__main__":
logging.basicConfig(level=logging.INFO, format="%(levelname)s %(message)s")
raise SystemExit(main())
SHA-256: 0bc0b15ddbddd9902e39177797e8bbf6d428f0f5d736eca2e1b9bde068b83235