#!/usr/bin/env python3
from pathlib import Path
import json,re,sys
root=Path(__file__).resolve().parents[1]
contract=json.loads((root/'model-contract.json').read_text())
starter=(root/'sql/starter_schema.sql').read_text()
issues=[]
if any(re.search(r'\bPRIMARY\s+KEY\b|\bFOREIGN\s+KEY\b|\bUNIQUE\b|\bCHECK\s*\(',starter,re.I) for _ in [0]): issues.append('STARTER_PRE_SOLVES_CONSTRAINT_SKILL')
if 'NOT NULL' in starter.upper(): issues.append('STARTER_PRE_SOLVES_NULLABILITY')
if contract.get('starter_must_not_pre_solve_skill') is not True: issues.append('STARTER_POLICY_MISSING')
out={'schema':'DAT001_STATIC_PREFLIGHT_v1','status':'PASS' if not issues else 'FAIL','issues':issues}
print(json.dumps(out,indent=2)); sys.exit(0 if not issues else 1)
