#!/usr/bin/env python3
import subprocess
import sys
from pathlib import Path
root=Path(__file__).parent
lane,mode=sys.argv[1:3];assert lane in ('B','C')and mode in ('auth','launch','run','run-unsent','run-recovery','run-green','init','init-v2','init-v3','init-v4','redact')
runtime='/tmp/cdx-gift-date-'+lane+'-20261011';php='/usr/local/php7.3/bin/php'if lane=='B'else'/www/server/php/73/bin/php'
actual_mode='run'if mode.startswith('run-')else 'init'if mode.startswith('init-')else mode
args=['docker','exec','zhctapp_v2_0',php,runtime+'/worker.php',lane,actual_mode]if lane=='B'else['ssh','-S','/private/tmp/cdx-train-root-20261010.sock','-o','BatchMode=yes','root@121.43.241.161',php+' '+runtime+'/worker.php '+lane+' '+actual_mode]
result=subprocess.run(args,capture_output=True)
output=root/'private-evidence'/(lane+'-'+mode+'.stdout');error=root/'private-evidence'/(lane+'-'+mode+'.stderr')
assert not output.exists(),'Preserve prior worker operation'
output.write_bytes(result.stdout);output.chmod(0o600);error.write_bytes(result.stderr);error.chmod(0o600)
import json
safe=[]
for line in result.stdout.splitlines():
 try:safe.append(json.loads(line))
 except (ValueError,UnicodeError):pass
print(lane,mode,'exit',result.returncode,'stdout_bytes',len(result.stdout),'json',safe)
raise SystemExit(result.returncode)
