from pathlib import Path
import json
R=Path(__file__).resolve().parent
cases=json.loads((R/'fixtures/cases.json').read_text(encoding='utf-8'))['cases']
assert len(cases)==8
for c in cases:
    for k in ['required_gate_known','technical_evidence_complete','specialist_required_for_all','all_routed_to_specialist','authorized_substitute','automation_eligible','escalation_path','control_preserved_after_recovery']:
        assert isinstance(c[k],bool)
    for k in ['eligible_reviewers','reviewer_available_hours','queue_age_hours','review_latency_hours','serial_steps','re_review_count']:
        assert isinstance(c[k],int) and c[k]>=0
    assert c['risk_mix'] in {'low','medium','high','mixed','low_medium'}
print('PASS learner fixtures: 8 approval-flow cases')
