import json
from pathlib import Path
cases=json.loads((Path(__file__).parent/'fixtures/cases.json').read_text(encoding='utf-8'))['cases']
required={'id','image_tag','image_digest','resolved_digest','manifest_digest','config_digest','layer_digests','platform','container_id','writable_write','replacement_kept_writable_data','named_volume','volume_data_after_replacement','bind_mount','bind_host_change_visible','network','network_evidence','decisive_evidence','transfer'}
assert len(cases)==8
for c in cases:
    missing=required-set(c)
    assert not missing,(c['id'],missing)
    assert isinstance(c['layer_digests'],list)
    assert c['decisive_evidence'] in {True,False}
print('PASS: 8 synthetic learner fixtures are structurally valid')
