"""Task-version bookkeeping over invented onboarding reminder rules; no model score."""
import json
cases=[{'id':'C1','start':'2025-02-01','mode':'onsite','split':'regression'}, {'id':'C2','start':'2025-02-20','mode':'remote','split':'legacy'}, {'id':'C3','start':'2025-03-10','mode':'remote','split':'development'}, {'id':'C4','start':'2025-03-10','mode':None,'split':'development'}, {'id':'C5','start':'2025-03-10','mode':'hybrid','split':'new_coverage'}, {'id':'C6','start':'2025-03-01','mode':'remote','split':'boundary'}]
def target(c,version):
 if c['mode']=='onsite':return 3
 if c['mode']!='remote':return 'clarify_mode'
 return 3 if version==2 and c['start']>='2025-03-01' else 7
rows=[]
for i,c in enumerate(cases):
 old=target(c,1) if i<4 else None;new=target(c,2)
 rows.append({**c,'expectedV1':old,'expectedV2':new,'change':'added' if i>=4 else 'revised_rule' if old!=new else 'unchanged'})
assert [r['change'] for r in rows]==['unchanged','unchanged','revised_rule','unchanged','added','added']
manifest={'task':'onboarding packet reminder interval, calendar days','taskSpec':'v2','policyEffective':'2025-03-01','controllingEvent':'onboarding start date','dataset':'v2-six-constructed-cases','sourceSet':'invented-policy-v1-and-v2','outputContract':'integer interval or clarify_mode','modelAndPrompt':'not run','note':'Published cases are demonstration fixtures, not secret held-out evaluation data'}
report={'manifest':manifest,'caseDiff':rows,'storedOutputC3':{'value':7,'underV1':'expected','underV2':'wrong for revised task'},'scope':'Executed deterministic answer-key diff, not observed AI behaviour or representative performance'}
if __name__=='__main__':print(json.dumps(report,indent=2))
