import pathlib,json,datetime,uuid
root=pathlib.Path(__file__).parent
now=datetime.datetime.now(datetime.timezone.utc).isoformat()
for provider in ['claude','codex']:
 workspace=root/('sample-'+provider);workspace.mkdir(exist_ok=True)
 for long in [False,True]:
  sid=str(uuid.uuid5(uuid.NAMESPACE_DNS,provider+str(long)))
  title=f'{provider.title()} '+('long bookkeeping session' if long else 'short control')
  if provider=='claude':
   folder=root/'claude'/'projects'/'synthetic';folder.mkdir(parents=True,exist_ok=True)
   records=[dict(type='user',sessionId=sid,cwd=str(workspace),timestamp=now,message=dict(role='user',content=title))]
   if long: records += [dict(type='attachment' if i%2 else 'last-prompt',sessionId=sid) for i in range(100001)]
   records += [dict(type='assistant',sessionId=sid,timestamp=now,message=dict(role='assistant',content='Synthetic assistant reply: retained history is present.'))]
   file=folder/(sid+'.jsonl')
  else:
   folder=root/'codex'/'sessions'/'2026'/'11'/'10';folder.mkdir(parents=True,exist_ok=True)
   records=[dict(type='session_meta',timestamp=now,payload=dict(id=sid,cwd=str(workspace))),dict(type='event_msg',timestamp=now,payload=dict(type='user_message',message=title))]
   if long: records += [dict(type='event_msg',payload=dict(type='token_count',info=None)) for i in range(100001)]
   records += [dict(type='response_item',timestamp=now,payload=dict(type='message',role='assistant',content=[dict(type='output_text',text='Synthetic assistant reply: retained history is present.')]))]
   file=folder/('rollout-'+sid+'.jsonl')
  file.write_text('\n'.join(json.dumps(r) for r in records)+'\n')
  print(title,len(records),'lines',file.stat().st_size,'bytes')
