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={'comfyui_version','expected_workflow_digest','observed_workflow_digest','dependency_manifest_present','expected_custom_node_version','observed_custom_node_version','api_mode_compatible','required_node_classes_present','required_models_present','feature_preflight_ok','submit_http_status','node_errors','prompt_id','queue_number','timeout','cancellation_requested','terminal_event','history_prompt_id_match','expected_output_count','actual_output_count','output_digests_match'}
for c in cases:
    assert required.issubset(c), (c['id'], required-set(c))
print('PASS 8/8 learner fixtures structurally ready')
