"""nova sod — separation-of-duties check for a prod promotion (REQ-107).""" from __future__ import annotations import sys from core.separation_of_duties import check def add_parser(subparsers): p = subparsers.add_parser("sod", help="separation-of-duties check for prod promotion") p.add_argument("--contract-id", required=True) p.add_argument("--approver", required=True, help="current prod approver identity") p.set_defaults(_run=run) def run(args) -> int: ok, reason = check(None, args.contract_id, args.approver) print(f"SOD PASS: {reason}") if ok else sys.stderr.write(f"SOD BLOCK: {reason}\n") return 0 if ok else 1 if __name__ == "__main__": import sys print("use: nova sod --contract-id --approver ", file=sys.stderr)