import sqlite3,json,sys,os
from pathlib import Path
root=Path(sys.argv[1]); db=sqlite3.connect(root/'.t3/userdata/statev2.sqlite')
cold='2026-01-01T00:00:00.000Z'
for table,key in [('threads','thread_id'),('runs','run_id'),('provider_threads','provider_thread_id'),('provider_turns','provider_turn_id')]:
 t='orchestration_v2_projection_'+table
 for ident,raw in db.execute(f'SELECT {key},payload_json FROM {t}').fetchall():
  p=json.loads(raw)
  if table=='threads' and p['title']!='Cold conversation': continue
  if table in ('threads','runs','provider_threads'):
   p['providerInstanceId']='claudeAgent'
   if 'modelSelection' in p:p['modelSelection']={'instanceId':'claudeAgent','model':os.environ['SOURCE_MODEL']}
  if table=='provider_threads':
   p.update(driver='claudeAgent',providerSessionId=None,contextUsage={'usedTokens':250000,'maxTokens':1000000},updatedAt=cold)
   p['nativeThreadRef']={'driver':'claudeAgent','nativeId':'synthetic-cold-conversation','strength':'strong'}
  if table=='provider_turns':p['tokenUsage']={'usedTokens':250000,'maxTokens':1000000,'updatedAt':cold,'promptCacheTtlMs':300000}
  db.execute(f'UPDATE {t} SET payload_json=? WHERE {key}=?',(json.dumps(p),ident))
  cols={r[1] for r in db.execute(f'PRAGMA table_info({t})')}
  for c in ['provider','provider_instance_id']:
   if c in cols:db.execute(f'UPDATE {t} SET {c}=? WHERE {key}=?',('claudeAgent',ident))
  if 'driver' in cols:db.execute(f'UPDATE {t} SET driver=? WHERE {key}=?',('claudeAgent',ident))
db.commit()
settings=root/'.t3/userdata/settings.json';s=json.loads(settings.read_text());s['idleCompaction']='onReturn';settings.write_text(json.dumps(s,indent=2))
