#!/usr/bin/env python3
"""Run one fixed read-only probe with the existing isolated C worker's environment."""
import os
import sys
from pathlib import Path

pid = 53772
cmdline = Path(f"/proc/{pid}/cmdline").read_bytes().replace(b"\0", b" ")
expected = b"-S 127.0.0.1:18102 -t /tmp/zhct-ai-http-20260929.3XDj3w/public"
if expected not in cmdline:
    raise SystemExit("DENIED: isolated C worker identity drift")
environment = {}
for item in Path(f"/proc/{pid}/environ").read_bytes().split(b"\0"):
    if b"=" in item:
        key, value = item.split(b"=", 1)
        environment[os.fsdecode(key)] = os.fsdecode(value)
if (environment.get("POC_DIALECT") != "dm"
        or environment.get("POC_AI_PORT") != "5238"
        or environment.get("POC_AI_SCHEMA") != "AIZHCT_APP"
        or environment.get("POC_PORT") != "5237"
        or environment.get("POC_SCHEMA") != "ZHCT_APP"
        or environment.get("POC_EXTERNAL_STUBS") != "1"):
    raise SystemExit("DENIED: isolated C database/stub identity drift")
mode = sys.argv[1] if len(sys.argv) >= 2 else "probe"
script = {
    "probe": "/tmp/cdx-cashier-c-readonly-probe-20261008.php",
    "run": "/tmp/cdx-cashier-c-run-20261008.php",
    "audit": "/tmp/cdx-cashier-c-audit-20261008.php",
}.get(mode)
if script is None:
    raise SystemExit("DENIED: unsupported fixed probe mode")
if mode == "run":
    for key in ("CDX_CASHIER_C_RUN", "CDX_CASHIER_C_SHA"):
        environment[key] = os.environ.get(key, "")
extra = sys.argv[2:] if mode == "audit" else []
if (mode != "audit" and len(sys.argv) > 2) or (mode == "audit" and len(extra) != 1):
    raise SystemExit("DENIED: unexpected probe arguments")
os.execvpe("php74", [
    "php74",
    "-d", "extension=/home/dmdba/dmdbms/drivers/php_pdo/libphp74_dm.so",
    "-d", "extension=/home/dmdba/dmdbms/drivers/php_pdo/php74_pdo_dm.so",
    script,
] + extra, environment)
