from pathlib import Path
import sys,json
LOCAL=Path(__file__).resolve().parent.parent;BASE=LOCAL.parent
sys.path.insert(0,str(BASE/'2026-10-29_contextra-fight-b-refine_r01/helpers'))
import control_refine as c
c.LOCAL=LOCAL;c.REMOTE=c.old.RB+'/'+LOCAL.name;c.PREFIX='contextra-r5int-1031-r01-';c.REPORT=LOCAL/'reports'
PRIOR=BASE/'2026-10-30_contextra-fight-robust-32clips_r01'
def sync():
 for p in [LOCAL/'helpers',LOCAL/'source.tar.gz',LOCAL/'checkpoint.ko.md',*LOCAL.glob('*.json')]:
  c.old.scp(str(p),'si@58.233.207.31:'+c.REMOTE+'/')
if sys.argv[1]=='setup':
 c.REPORT.mkdir(exist_ok=True);c.checked_resources();c.snapshot('before')
 c.old.checked(['test','!','-e',c.REMOTE])
 for name in ('specs.json','sources.json','self_maps.json','feedback.json','cases.json','baseline_fingerprints.json'):
  (LOCAL/name).write_bytes((PRIOR/name).read_bytes())
 c.old.checked(['mkdir',c.REMOTE],sudo=True);c.old.checked(['chown','si:si',c.REMOTE],sudo=True)
 c.old.checked(['mkdir','-p',c.REMOTE+'/reports',c.REMOTE+'/download',c.REMOTE+'/source'])
 sync();c.old.checked(['tar','-xzf',c.REMOTE+'/source.tar.gz','-C',c.REMOTE+'/source'])
elif sys.argv[1]=='sync':
 sync();c.old.checked(['tar','-xzf',c.REMOTE+'/source.tar.gz','-C',c.REMOTE+'/source'])
elif sys.argv[1]=='one':c.run_job(sys.argv[2],sys.argv[3] if len(sys.argv)>3 else 'all')
elif sys.argv[1]=='pull':c.old.scp('si@58.233.207.31:'+c.REMOTE+'/download/.',str(LOCAL/'results'))
elif sys.argv[1]=='finish':c.finish()
