import json, os, pathlib, subprocess, sys
os.umask(0o077)
root=pathlib.Path(__file__).parent
name='codex-frame-tracking-r01'
args=['docker','run','--rm','--pull','never','--runtime','runc','--network','none',
      '--name',name,'--cap-drop','MKNOD','--cpus','2','--memory','4g','--ulimit','core=0',
      '-e','NVIDIA_VISIBLE_DEVICES=void','-e','PYTHONDONTWRITEBYTECODE=1',
      '-e','PYTHONPATH=/opt/contextra',
      '-e','LD_LIBRARY_PATH=/driver:/opt/nvidia/deepstream/deepstream/lib:/opt/contextra/lib',
      '--mount','type=bind,src=/usr/lib/x86_64-linux-gnu/libcuda.so.595.84,dst=/driver/libcuda.so.1,readonly',
      '--mount','type=bind,src=/usr/include/python3.12,dst=/usr/include/python3.12,readonly',
      '--mount','type=bind,src=/usr/include/x86_64-linux-gnu/python3.12,dst=/usr/include/x86_64-linux-gnu/python3.12,readonly',
      '--mount','type=bind,src=/data/contextra/model-artifacts/tool-envs/medium-193-20260909/venv/lib/python3.12/site-packages,dst=/tool-overlay,readonly',
      '--mount','type=bind,src=/workspace/contextra-analytics-runtime-lifecycle-refactor,dst=/opt/contextra,readonly',
      '--mount',f'type=bind,src={root},dst=/evidence', '-w','/opt/contextra','--entrypoint','timeout',
      'contextra-analytics:restart-0667b1d-fe37aa54','160s','python3','/evidence/verify.py']
try:
    p=subprocess.run(args,capture_output=True,text=True,timeout=180)
    (root/'console.log').write_text(p.stdout+p.stderr)
    print(p.stdout[-1500:])
    sys.exit(p.returncode)
finally:
    check=subprocess.run(['docker','inspect',name],capture_output=True,timeout=10)
    if check.returncode == 0:
        subprocess.run(['docker','stop','--timeout','5',name],capture_output=True,timeout=15,check=True)
    check=subprocess.run(['docker','inspect',name],capture_output=True,timeout=10)
    print(json.dumps({'task_container_absent':check.returncode!=0}))
