import datetime,json,pathlib,sys,hashlib
root=pathlib.Path(__file__).parent
now=datetime.datetime.fromisoformat('2026-11-10T06:50:00+00:00')
fixture=sys.argv[1]
models=['claude-mythos-5-2','claude-fable-5-2','claude-mythos-5-1','claude-fable-5-1'] if fixture=='A' else ['claude-mythos-5-2']*2
lines=[]
for i,model in enumerate(models):
 usage=dict(input_tokens=100000,output_tokens=20000,cache_read_input_tokens=50000 if fixture=='B' else 0,cache_creation_input_tokens=10000 if fixture=='B' else 0)
 if fixture=='B' and i==1: usage['speed']='fast'
 ts=now-datetime.timedelta(hours=2 if fixture=='B' and i==1 else 3)+datetime.timedelta(minutes=i if fixture!='B' else 0)
 row=dict(type='assistant',timestamp=ts.isoformat().replace('+00:00','Z'),sessionId='synthetic-session',requestId=f'req_{fixture}_{i}',message=dict(id=f'msg_{fixture}_{i}',role='assistant',model=model,usage=usage))
 if fixture=='C' and i==0: row['costUSD']=1.6
 lines.append(row)
document=json.loads((root/'reproduction/litellm.json').read_text())
for side in ['before','after']:
 run=root/'run-20261110T065500Z'/(fixture+'-'+side)
 out=run/'claude/projects/-tmp-demo/synthetic-session.jsonl';out.parent.mkdir(parents=True,exist_ok=True);out.write_text('\n'.join(map(json.dumps,lines))+'\n')
 cache=run/'home/userdata/usage-model-rates.json';cache.parent.mkdir(parents=True,exist_ok=True);cache.write_text(json.dumps(dict(fetchedAtMs=int(datetime.datetime.now(datetime.timezone.utc).timestamp()*1000),document=document)))
print(fixture,hashlib.sha256((root/'run-20261110T065500Z'/(fixture+'-before')/'claude/projects/-tmp-demo/synthetic-session.jsonl').read_bytes()).hexdigest())
