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
required={'canonical_source_id','locator','declared_version','resolved_version','expected_digest','observed_digest','expected_size','observed_size','current_version','policy_id','policy_version','decision_time','reveal_after','audience_scope','requested_audience','consumer_ref'}
for c in cases:
    assert required.issubset(c), (c['id'], required-set(c))
print('PASS 8/8 learner fixtures structurally ready')
