import json
from pathlib import Path
cases=json.loads((Path(__file__).parent/'fixtures/cases.json').read_text(encoding='utf-8'))['cases']
required={'id','service_name','binary_config','start_type','service_account','resource_access','dependencies','scm_state','status_evidence','control_sent','control_accepted','final_state','exit_code','failure_action','failure_triggered','restart_observed','readiness','recovery_verified','decisive_evidence','transfer'}
assert len(cases)==8
for c in cases:
    missing=required-set(c)
    assert not missing,(c['id'],missing)
    assert isinstance(c['dependencies'],list)
    assert c['decisive_evidence'] in {True,False}
print('PASS: 8 synthetic learner fixtures are structurally valid')
