from pathlib import Path
import json
R=Path(__file__).resolve().parent
cases=json.loads((R/'fixtures/cases.json').read_text(encoding='utf-8'))['cases']
req={'id','incident_id','failed_release_id','failed_manifest_digest','rollback_target_release','rollback_target_digest','target_previously_verified','target_immutable','rollback_authorized','active_pointer_before','active_pointer_after','pointer_event_append_only','monitor_window_complete','routes'}
assert len(cases)==8
for c in cases:
 assert req.issubset(c)
 assert c['routes'] and all({'route','status_ok','content_digest_ok','canonical_ok','redirect_ok','locale_ok','form_ok'}.issubset(r) for r in c['routes'])
print('PASS 8/8 learner fixture structural checks')
