import json,os,pathlib,subprocess,sys,datetime
checkout,home,project,out = map(pathlib.Path,sys.argv[1:])
out.mkdir(parents=True,exist_ok=True)
cli=['node','apps/server/src/bin.ts']
def call(args,text=None):
 r=subprocess.run(cli+args+['--base-dir',str(home)],cwd=checkout,input=text,text=True,capture_output=True)
 if r.returncode: raise RuntimeError(r.stderr)
 return r.stdout
thread=None
for part in range(12):
 text='Keep these synthetic records as background context. Do not use any tools. Reply with exactly "Background loaded."\n\n'+''.join(f'Synthetic record {part:02d}-{i:05d}: alpha beta gamma delta epsilon zeta eta theta.\n' for i in range(1500))
 if thread is None:
  args=['thread','start',str(project),'-','--title','Discard stale context','--provider','claudeAgent','--model',os.environ['PROOF_MODEL'],'--wait','--json']
 else: args=['thread','send',thread,'-','--wait','--json']
 result=call(args,text)
 (out/f'part-{part:02d}.json').write_text(result)
 data=json.loads(result);thread=data.get('threadId',thread)
 (out/'thread.json').write_text(json.dumps({'threadId':thread}))
 print(f'Background part {part+1}/12 completed',flush=True)
