#!/usr/bin/env python3
"""Run the Vaultfire Codex enterprise validation checks."""

import argparse
import json
from codex.enterprise_sync_validator import EnterpriseCodexValidator


def main() -> None:
    parser = argparse.ArgumentParser(description=__doc__)
    parser.add_argument("--level", required=True, help="Validation level (sandbox or enterprise)")
    args = parser.parse_args()

    if args.level.lower() != "enterprise":
        raise SystemExit("This validator only supports --level=enterprise")

    validator = EnterpriseCodexValidator()
    results = validator.run()
    payload = {"status": "PASS" if all(r.passed for r in results) else "FAIL", "results": []}
    for result in results:
        payload["results"].append({"name": result.name, "passed": result.passed, "details": result.details})

    print(json.dumps(payload, indent=2))
    if payload["status"] != "PASS":
        raise SystemExit(1)


if __name__ == "__main__":
    main()
