import json
from pathlib import Path
cases=json.loads((Path(__file__).parent/'fixtures/cases.json').read_text(encoding='utf-8'))['cases']
required={'id','edge','condition','dependency_started','dependency_healthy','one_shot_required','one_shot_exit','dependent_started','restart_link','restart_trigger','dependent_restarted','decisive_evidence','transfer'}
assert len(cases)==8
for c in cases:
    missing=required-set(c)
    assert not missing,(c['id'],missing)
    assert c['condition'] in {'service_started','service_healthy','service_completed_successfully'}
    assert c['restart_trigger'] in {'NONE','COMPOSE_EXPLICIT_RESTART','RUNTIME_CRASH_AUTO_RESTART'}
print('PASS: 8 synthetic learner fixtures are structurally valid')
