"""Record-validation exercise; does not contact or test a model."""
import json,copy
from pathlib import Path
def validate(data):
    if data['announcement_published_and_event_date']!='2025-03-12' or data['read_date']!='2026-11-04':raise ValueError('do not relabel old announcement as today')
    if sorted(r['id'] for r in data['rows'])!=['C1','C2','C3']:raise ValueError('three distinct claims')
    for r in data['rows']:
        if not r['scope'] or not r['evidence_url'].startswith('https://') or not r['proposed_test']:raise ValueError('missing evidence scope or test')
        if r['test_status']!='not_run' or r['observed_result'] is not None:raise ValueError('this packet contains no model execution evidence')
    if data['model_executed'] or data['actual_runtime_model_id'] is not None:raise ValueError('no runtime was run')
    return {'claims':len(data['rows']),'all_tests_not_run':True,'document_schema_checks_only':True}
def demo():
    p=Path(__file__).with_name('gemma3-dated-release-claim-test-plan.json');data=json.loads(p.read_text(encoding='utf-8'));out=validate(data);rejected=[]
    for name in ['invented_result','missing_scope','wrong_event_date']:
        bad=copy.deepcopy(data)
        if name=='invented_result':bad['rows'][0]['observed_result']='passed'
        elif name=='missing_scope':bad['rows'][0]['scope']=''
        else:bad['announcement_published_and_event_date']='2026-11-04'
        try:validate(bad)
        except ValueError:rejected.append(name)
        else:raise AssertionError(name)
    return dict(out,rejected_mutations=rejected,model_api_calls=0)
if __name__=='__main__':print(json.dumps(demo(),ensure_ascii=False,indent=2))
