"""Read-only command surface for nutrition start readiness."""

from __future__ import annotations

import argparse
import json
from pathlib import Path
from typing import cast

from checkin_cli.nutrition_readiness import audit_nutrition_start_readiness


def main(argv: list[str] | None = None) -> int:
    parser = argparse.ArgumentParser(
        description="Read-only pre-activation nutrition readiness audit."
    )
    _ = parser.add_argument("--profile-root", type=Path, required=True)
    _ = parser.add_argument("--customer-key", required=True)
    args = parser.parse_args(argv)
    profile_root = cast(Path, args.profile_root)
    customer_key = cast(str, args.customer_key)
    audit = audit_nutrition_start_readiness(profile_root, customer_key)
    print(json.dumps(audit.to_dict(), ensure_ascii=False, sort_keys=True))
    return 0 if audit.ready else 2


if __name__ == "__main__":
    raise SystemExit(main())
