import json
from pathlib import Path
R=Path(__file__).resolve().parent
cases=json.loads((R/'fixtures/cases.json').read_text(encoding='utf-8'))
required=['id','source_ref','owner','counterparty','due_kind','due_minutes_from_now','timezone','all_day','status','blocked_by','completion_evidence','canceled_reason','authorized_cancel','superseded_by','predecessor_active','successor_active','recheck_set']
for c in cases:
    for k in required: assert k in c,(c['id'],k)
assert len(cases)==8 and len({c['id'] for c in cases})==8
print('fixture integrity PASS: 8 cases; learner must implement lifecycle/deadline logic')
