import json,sys
from pathlib import Path
from pack_rules import validate_pack

def _reject_constant(x): raise ValueError(f'non-finite JSON constant is not allowed: {x}')

def main():
    if len(sys.argv)!=2: raise SystemExit('usage: python run_checks.py evidence_pack.json')
    try: pack=json.loads(Path(sys.argv[1]).read_text(encoding='utf-8'), parse_constant=_reject_constant)
    except Exception as e:
        print('BLOCKED'); print('-',e); return 2
    issues=validate_pack(pack)
    if issues:
        print('BLOCKED'); [print('-',x) for x in issues]; return 2
    print('CONSISTENT'); return 0
if __name__=='__main__': raise SystemExit(main())
