# C2-C3 after runtime recording

Revision: [e039e17308](https://git.cafe/pingdotgg/t3code/commit/e039e17308b32c280903c5dd4cd82f2457e0d8f0)

Environment: Linux-6.1.102-x86_64-with-glibc2.39, Node v26.13.0. Production-runtime harness, synthetic config and stub connector. Real CloudManagedEndpointRuntime and Node spawner (passive exit-result observer). Not a real Cloudflare tunnel.

A/B: NodeRuntime.runMain, group signal. C2/C3: Effect.runPromise host intentionally survives parent-only OS signals, explicit runtime scope closure.

Stub registration is an age-based model only: <2000ms stop takes 2300ms, otherwise 15ms. “past-registering-window” is synthetic, never Cloudflare readiness. Runner gates use events, not guessed readiness sleeps. The predecessor/backoff/stub timers are deliberate fixture behavior.

AI-assisted; verified with the tests and tools listed above.

## Measured result

```json
{
  "row": "C2-C3",
  "side": "after",
  "sha": "e039e17308b32c280903c5dd4cd82f2457e0d8f0",
  "stopMs": null,
  "failure": null,
  "output": "/tmp/lead-33628-r1/capture-1/C2-C3-after-20261110T013016.463712Z",
  "scriptSha256": {
    "driver.ts": "ec3fc57d6aae729c9d28d06370977a052e66acf71e633e9786dd552b091ee423",
    "cloudflared-stub.sh": "d6bece305c6bdc22b6b9511fc2e5210801777f54445f659e9d242f1732ad5f99",
    "cloudflared-stub.mjs": "4f0cb55a5a434d6a0c2148455c58683eba0f8d81993785ff34ffca3503e780df",
    "runner.py": "88a0c74d1385c4454291076b74a7c8a8ba4ab4a7ec06e337be788f5d23c5c402",
    "run.sh": "dc4d7379c91708d38ae3a6d3db279e254b71ad67901cd3e703addc66248fd879"
  },
  "recoveryRequests": [
    {
      "timestamp": "2026-11-10T01:30:24.532Z",
      "source": "driver",
      "event": "recovery-request",
      "phase": "C3-fresh",
      "count": 1,
      "config": {
        "providerKind": "cloudflare_tunnel",
        "connectorToken": "synthetic-token",
        "tunnelId": "tunnel-1"
      }
    }
  ],
  "listeners": [
    {
      "timestamp": "2026-11-10T01:30:17.928Z",
      "source": "driver",
      "event": "listeners",
      "phase": "before-build",
      "identities": {
        "SIGINT": [
          1
        ],
        "SIGTERM": [
          2
        ]
      },
      "counts": {
        "SIGINT": 1,
        "SIGTERM": 1
      },
      "baselineRestored": true
    },
    {
      "timestamp": "2026-11-10T01:30:17.960Z",
      "source": "driver",
      "event": "listeners",
      "phase": "C2-no-signal:after-build",
      "identities": {
        "SIGINT": [
          1,
          3
        ],
        "SIGTERM": [
          2,
          3
        ]
      },
      "counts": {
        "SIGINT": 2,
        "SIGTERM": 2
      },
      "baselineRestored": false
    },
    {
      "timestamp": "2026-11-10T01:30:20.152Z",
      "source": "driver",
      "event": "listeners",
      "phase": "C2-no-signal:after-close",
      "identities": {
        "SIGINT": [
          1
        ],
        "SIGTERM": [
          2
        ]
      },
      "counts": {
        "SIGINT": 1,
        "SIGTERM": 1
      },
      "baselineRestored": true
    },
    {
      "timestamp": "2026-11-10T01:30:20.157Z",
      "source": "driver",
      "event": "listeners",
      "phase": "C3-signalled:after-build",
      "identities": {
        "SIGINT": [
          1,
          4
        ],
        "SIGTERM": [
          2,
          4
        ]
      },
      "counts": {
        "SIGINT": 2,
        "SIGTERM": 2
      },
      "baselineRestored": false
    },
    {
      "timestamp": "2026-11-10T01:30:22.338Z",
      "source": "driver",
      "event": "listeners",
      "phase": "C3-signalled:after-close",
      "identities": {
        "SIGINT": [
          1
        ],
        "SIGTERM": [
          2
        ]
      },
      "counts": {
        "SIGINT": 1,
        "SIGTERM": 1
      },
      "baselineRestored": true
    },
    {
      "timestamp": "2026-11-10T01:30:22.342Z",
      "source": "driver",
      "event": "listeners",
      "phase": "C3-fresh:after-build",
      "identities": {
        "SIGINT": [
          1,
          5
        ],
        "SIGTERM": [
          2,
          5
        ]
      },
      "counts": {
        "SIGINT": 2,
        "SIGTERM": 2
      },
      "baselineRestored": false
    },
    {
      "timestamp": "2026-11-10T01:30:26.697Z",
      "source": "driver",
      "event": "listeners",
      "phase": "C3-fresh:after-close",
      "identities": {
        "SIGINT": [
          1
        ],
        "SIGTERM": [
          2
        ]
      },
      "counts": {
        "SIGINT": 1,
        "SIGTERM": 1
      },
      "baselineRestored": true
    }
  ],
  "scopeStops": [
    {
      "timestamp": "2026-11-10T01:30:20.152Z",
      "source": "driver",
      "event": "explicit-scope-close-end",
      "phase": "C2-no-signal",
      "stopMs": 34,
      "signals": 0,
      "recoveryCount": 0
    },
    {
      "timestamp": "2026-11-10T01:30:22.338Z",
      "source": "driver",
      "event": "explicit-scope-close-end",
      "phase": "C3-signalled",
      "stopMs": 26,
      "signals": 2,
      "recoveryCount": 0
    },
    {
      "timestamp": "2026-11-10T01:30:26.697Z",
      "source": "driver",
      "event": "explicit-scope-close-end",
      "phase": "C3-fresh",
      "stopMs": 27,
      "signals": 2,
      "recoveryCount": 1
    }
  ],
  "relayCounts": {
    "Relay client process started; waiting for tunnel connection": 4,
    "Relay client exited; restarting": 1,
    "Relay client stopped": 4,
    "Relay client is crash-looping; delaying restart": 0
  },
  "exitResults": [
    {
      "timestamp": "2026-11-10T01:30:24.520Z",
      "source": "driver",
      "event": "child-exit-observed",
      "pid": 1534457,
      "exitCode": 1
    }
  ]
}
```

## Runner milestones

```text
{"timestamp": "2026-11-10T01:30:16.483+00:00", "source": "runner", "event": "environment", "row": "C2-C3", "side": "after", "sha": "e039e17308b32c280903c5dd4cd82f2457e0d8f0", "os": "Linux-6.1.102-x86_64-with-glibc2.39", "node": "v26.13.0", "harness": "real CloudManagedEndpointRuntime + real Node spawner with passive exit observer + stub cloudflared; not a real Cloudflare tunnel", "attribution": "AI-assisted; verified with the tests and tools listed above.", "slowMs": 0}
{"timestamp": "2026-11-10T01:30:16.484+00:00", "source": "runner", "event": "spawned-driver", "pid": 1534328, "pgid": 1534328}
{"timestamp": "2026-11-10T01:30:17.982+00:00", "source": "runner", "event": "gate-satisfied", "gate": "C2-no-signal runtime built", "observed": {"timestamp": "2026-11-10T01:30:17.982Z", "source": "driver", "event": "phase-ready", "phase": "C2-no-signal"}}
{"timestamp": "2026-11-10T01:30:20.116+00:00", "source": "runner", "event": "gate-satisfied", "gate": "C2-no-signal original beyond synthetic registering window", "observed": {"timestamp": "2026-11-10T01:30:20.115Z", "source": "stub", "event": "file-line", "line": "{\"timestamp\":\"2026-11-10T01:30:20.114Z\",\"source\":\"stub\",\"event\":\"past-registering-window\",\"pid\":1534345,\"attempt\":1,\"ageMs\":2102,\"syntheticOnly\":true}", "record": {"timestamp": "2026-11-10T01:30:20.114Z", "source": "stub", "event": "past-registering-window", "pid": 1534345, "attempt": 1, "ageMs": 2102, "syntheticOnly": true}}}
{"timestamp": "2026-11-10T01:30:20.116+00:00", "source": "runner", "event": "send-driver-command", "command": "close:C2-no-signal"}
{"timestamp": "2026-11-10T01:30:20.152+00:00", "source": "runner", "event": "gate-satisfied", "gate": "C2-no-signal explicitly closed", "observed": {"timestamp": "2026-11-10T01:30:20.152Z", "source": "driver", "event": "phase-closed", "phase": "C2-no-signal"}}
{"timestamp": "2026-11-10T01:30:20.166+00:00", "source": "runner", "event": "gate-satisfied", "gate": "C3-signalled runtime built", "observed": {"timestamp": "2026-11-10T01:30:20.166Z", "source": "driver", "event": "phase-ready", "phase": "C3-signalled"}}
{"timestamp": "2026-11-10T01:30:22.310+00:00", "source": "runner", "event": "gate-satisfied", "gate": "C3-signalled original beyond synthetic registering window", "observed": {"timestamp": "2026-11-10T01:30:22.310Z", "source": "stub", "event": "file-line", "line": "{\"timestamp\":\"2026-11-10T01:30:22.309Z\",\"source\":\"stub\",\"event\":\"past-registering-window\",\"pid\":1534418,\"attempt\":2,\"ageMs\":2103,\"syntheticOnly\":true}", "record": {"timestamp": "2026-11-10T01:30:22.309Z", "source": "stub", "event": "past-registering-window", "pid": 1534418, "attempt": 2, "ageMs": 2103, "syntheticOnly": true}}}
{"timestamp": "2026-11-10T01:30:22.310+00:00", "source": "runner", "event": "send-parent-only-signal", "pid": 1534328, "signal": "SIGINT"}
{"timestamp": "2026-11-10T01:30:22.311+00:00", "source": "runner", "event": "gate-satisfied", "gate": "host receipt of SIGINT", "observed": {"timestamp": "2026-11-10T01:30:22.311Z", "source": "driver", "event": "host-signal-received", "signal": "SIGINT", "signals": 1}}
{"timestamp": "2026-11-10T01:30:22.311+00:00", "source": "runner", "event": "send-parent-only-signal", "pid": 1534328, "signal": "SIGTERM"}
{"timestamp": "2026-11-10T01:30:22.311+00:00", "source": "runner", "event": "gate-satisfied", "gate": "host receipt of SIGTERM", "observed": {"timestamp": "2026-11-10T01:30:22.311Z", "source": "driver", "event": "host-signal-received", "signal": "SIGTERM", "signals": 2}}
{"timestamp": "2026-11-10T01:30:22.311+00:00", "source": "runner", "event": "host-survived-both-signals", "explanation": "Effect.runPromise lifecycle host intentionally keeps running; not NodeRuntime signal shutdown"}
{"timestamp": "2026-11-10T01:30:22.311+00:00", "source": "runner", "event": "send-driver-command", "command": "close:C3-signalled"}
{"timestamp": "2026-11-10T01:30:22.338+00:00", "source": "runner", "event": "gate-satisfied", "gate": "C3-signalled explicitly closed", "observed": {"timestamp": "2026-11-10T01:30:22.338Z", "source": "driver", "event": "phase-closed", "phase": "C3-signalled"}}
{"timestamp": "2026-11-10T01:30:22.350+00:00", "source": "runner", "event": "gate-satisfied", "gate": "C3-fresh runtime built", "observed": {"timestamp": "2026-11-10T01:30:22.349Z", "source": "driver", "event": "phase-ready", "phase": "C3-fresh"}}
{"timestamp": "2026-11-10T01:30:24.510+00:00", "source": "runner", "event": "gate-satisfied", "gate": "C3-fresh original beyond synthetic registering window", "observed": {"timestamp": "2026-11-10T01:30:24.509Z", "source": "stub", "event": "file-line", "line": "{\"timestamp\":\"2026-11-10T01:30:24.509Z\",\"source\":\"stub\",\"event\":\"past-registering-window\",\"pid\":1534457,\"attempt\":3,\"ageMs\":2103,\"syntheticOnly\":true}", "record": {"timestamp": "2026-11-10T01:30:24.509Z", "source": "stub", "event": "past-registering-window", "pid": 1534457, "attempt": 3, "ageMs": 2103, "syntheticOnly": true}}}
{"timestamp": "2026-11-10T01:30:24.510+00:00", "source": "runner", "event": "gate-satisfied", "gate": "stub attempt 3 started", "observed": {"timestamp": "2026-11-10T01:30:22.407Z", "source": "stub", "event": "file-line", "line": "{\"timestamp\":\"2026-11-10T01:30:22.407Z\",\"source\":\"stub\",\"event\":\"started\",\"pid\":1534457,\"attempt\":3,\"ageMs\":1}", "record": {"timestamp": "2026-11-10T01:30:22.407Z", "source": "stub", "event": "started", "pid": 1534457, "attempt": 3, "ageMs": 1}}}
{"timestamp": "2026-11-10T01:30:24.510+00:00", "source": "runner", "event": "send-child-only-signal", "pid": 1534457, "signal": "SIGUSR1", "purpose": "controlled nonzero exit 1, no server signal"}
{"timestamp": "2026-11-10T01:30:24.533+00:00", "source": "runner", "event": "gate-satisfied", "gate": "fresh runtime ordinary crash recovery after previous layer was signalled and closed", "observed": {"timestamp": "2026-11-10T01:30:24.532Z", "source": "driver", "event": "recovery-request", "phase": "C3-fresh", "count": 1, "config": {"providerKind": "cloudflare_tunnel", "connectorToken": "synthetic-token", "tunnelId": "tunnel-1"}}}
{"timestamp": "2026-11-10T01:30:26.669+00:00", "source": "runner", "event": "gate-satisfied", "gate": "fresh runtime replacement observed", "observed": {"timestamp": "2026-11-10T01:30:26.669Z", "source": "stub", "event": "file-line", "line": "{\"timestamp\":\"2026-11-10T01:30:26.668Z\",\"source\":\"stub\",\"event\":\"past-registering-window\",\"pid\":1534702,\"attempt\":4,\"ageMs\":2103,\"syntheticOnly\":true}", "record": {"timestamp": "2026-11-10T01:30:26.668Z", "source": "stub", "event": "past-registering-window", "pid": 1534702, "attempt": 4, "ageMs": 2103, "syntheticOnly": true}}}
{"timestamp": "2026-11-10T01:30:26.669+00:00", "source": "runner", "event": "send-driver-command", "command": "close:C3-fresh"}
{"timestamp": "2026-11-10T01:30:26.697+00:00", "source": "runner", "event": "gate-satisfied", "gate": "C3-fresh explicitly closed", "observed": {"timestamp": "2026-11-10T01:30:26.697Z", "source": "driver", "event": "phase-closed", "phase": "C3-fresh"}}
{"timestamp": "2026-11-10T01:30:26.697+00:00", "source": "runner", "event": "gate-satisfied", "gate": "all lifecycle phases complete", "observed": {"timestamp": "2026-11-10T01:30:26.697Z", "source": "driver", "event": "lifecycle-complete", "recoveryCount": 1, "signals": 2}}
{"timestamp": "2026-11-10T01:30:26.752+00:00", "source": "runner", "event": "lifecycle-host-stopped", "returncode": 0}
{"timestamp": "2026-11-10T01:30:26.762+00:00", "source": "runner", "event": "tracked-process-group-cleanup", "members": []}
```

## Driver and forwarded timestamped relay/stub events

```text
{"timestamp":"2026-11-10T01:30:17.926Z","source":"driver","event":"actual-node-version","node":"v26.13.0","executable":"/home/ubuntu/.local/share/vite-plus/js_runtime/node/26.13.0/bin/node"}
{"timestamp":"2026-11-10T01:30:17.928Z","source":"driver","event":"listeners","phase":"before-build","identities":{"SIGINT":[1],"SIGTERM":[2]},"counts":{"SIGINT":1,"SIGTERM":1},"baselineRestored":true}
{"timestamp":"2026-11-10T01:30:17.960Z","source":"driver","event":"listeners","phase":"C2-no-signal:after-build","identities":{"SIGINT":[1,3],"SIGTERM":[2,3]},"counts":{"SIGINT":2,"SIGTERM":2},"baselineRestored":false}
{"timestamp":"2026-11-10T01:30:17.978Z","source":"driver","event":"real-child-spawned","pid":1534345}
[01:30:17.978] INFO (#1): Relay client process started; waiting for tunnel connection {
  pid: 1534345,
  source: 'path',
  version: '2026.10.4',
  protocol: 'auto',
  tunnelId: 'tunnel-1',
  tunnelName: undefined
}
{"timestamp":"2026-11-10T01:30:17.982Z","source":"driver","event":"connector-applied","phase":"C2-no-signal","status":{"status":"running","providerKind":"cloudflare_tunnel","pid":1534345,"tunnelId":"tunnel-1"}}
{"timestamp":"2026-11-10T01:30:17.982Z","source":"driver","event":"phase-ready","phase":"C2-no-signal"}
{"timestamp":"2026-11-10T01:30:18.005Z","source":"relay","event":"file-line","line":"{\"message\":[\"Relay client process started; waiting for tunnel connection\",{\"pid\":1534345,\"source\":\"path\",\"version\":\"2026.10.4\",\"protocol\":\"auto\",\"tunnelId\":\"tunnel-1\"}],\"level\":\"INFO\",\"timestamp\":\"2026-11-10T01:30:17.978Z\",\"annotations\":{},\"spans\":{},\"fiberId\":\"#1\"}"}
{"timestamp":"2026-11-10T01:30:18.013Z","source":"stub","event":"file-line","line":"{\"timestamp\":\"2026-11-10T01:30:18.013Z\",\"source\":\"stub\",\"event\":\"started\",\"pid\":1534345,\"attempt\":1,\"ageMs\":1}"}
{"timestamp":"2026-11-10T01:30:20.115Z","source":"stub","event":"file-line","line":"{\"timestamp\":\"2026-11-10T01:30:20.114Z\",\"source\":\"stub\",\"event\":\"past-registering-window\",\"pid\":1534345,\"attempt\":1,\"ageMs\":2102,\"syntheticOnly\":true}"}
{"timestamp":"2026-11-10T01:30:20.117Z","source":"driver","event":"command-received","command":"close:C2-no-signal"}
{"timestamp":"2026-11-10T01:30:20.118Z","source":"driver","event":"explicit-scope-close-start","phase":"C2-no-signal","signals":0,"recoveryCount":0}
{"timestamp":"2026-11-10T01:30:20.125Z","source":"stub","event":"file-line","line":"{\"timestamp\":\"2026-11-10T01:30:20.125Z\",\"source\":\"stub\",\"event\":\"stop-signal\",\"pid\":1534345,\"attempt\":1,\"ageMs\":2113,\"signal\":\"SIGTERM\",\"delayMs\":15,\"state\":\"past-registering-window\"}"}
{"timestamp":"2026-11-10T01:30:20.141Z","source":"stub","event":"file-line","line":"{\"timestamp\":\"2026-11-10T01:30:20.140Z\",\"source\":\"stub\",\"event\":\"exit\",\"pid\":1534345,\"attempt\":1,\"ageMs\":2128,\"exitCode\":0}"}
[01:30:20.150] INFO (#1): Relay client stopped { pid: 1534345 }
{"timestamp":"2026-11-10T01:30:20.152Z","source":"driver","event":"explicit-scope-close-end","phase":"C2-no-signal","stopMs":34,"signals":0,"recoveryCount":0}
{"timestamp":"2026-11-10T01:30:20.152Z","source":"driver","event":"listeners","phase":"C2-no-signal:after-close","identities":{"SIGINT":[1],"SIGTERM":[2]},"counts":{"SIGINT":1,"SIGTERM":1},"baselineRestored":true}
{"timestamp":"2026-11-10T01:30:20.152Z","source":"driver","event":"phase-closed","phase":"C2-no-signal"}
{"timestamp":"2026-11-10T01:30:20.155Z","source":"relay","event":"file-line","line":"{\"message\":[\"Relay client stopped\",{\"pid\":1534345}],\"level\":\"INFO\",\"timestamp\":\"2026-11-10T01:30:20.150Z\",\"annotations\":{},\"spans\":{},\"fiberId\":\"#1\"}"}
{"timestamp":"2026-11-10T01:30:20.157Z","source":"driver","event":"listeners","phase":"C3-signalled:after-build","identities":{"SIGINT":[1,4],"SIGTERM":[2,4]},"counts":{"SIGINT":2,"SIGTERM":2},"baselineRestored":false}
{"timestamp":"2026-11-10T01:30:20.165Z","source":"driver","event":"real-child-spawned","pid":1534418}
[01:30:20.165] INFO (#1): Relay client process started; waiting for tunnel connection {
  pid: 1534418,
  source: 'path',
  version: '2026.10.4',
  protocol: 'auto',
  tunnelId: 'tunnel-1',
  tunnelName: undefined
}
{"timestamp":"2026-11-10T01:30:20.166Z","source":"driver","event":"connector-applied","phase":"C3-signalled","status":{"status":"running","providerKind":"cloudflare_tunnel","pid":1534418,"tunnelId":"tunnel-1"}}
{"timestamp":"2026-11-10T01:30:20.166Z","source":"driver","event":"phase-ready","phase":"C3-signalled"}
{"timestamp":"2026-11-10T01:30:20.168Z","source":"relay","event":"file-line","line":"{\"message\":[\"Relay client process started; waiting for tunnel connection\",{\"pid\":1534418,\"source\":\"path\",\"version\":\"2026.10.4\",\"protocol\":\"auto\",\"tunnelId\":\"tunnel-1\"}],\"level\":\"INFO\",\"timestamp\":\"2026-11-10T01:30:20.165Z\",\"annotations\":{},\"spans\":{},\"fiberId\":\"#1\"}"}
{"timestamp":"2026-11-10T01:30:20.207Z","source":"stub","event":"file-line","line":"{\"timestamp\":\"2026-11-10T01:30:20.207Z\",\"source\":\"stub\",\"event\":\"started\",\"pid\":1534418,\"attempt\":2,\"ageMs\":1}"}
{"timestamp":"2026-11-10T01:30:22.310Z","source":"stub","event":"file-line","line":"{\"timestamp\":\"2026-11-10T01:30:22.309Z\",\"source\":\"stub\",\"event\":\"past-registering-window\",\"pid\":1534418,\"attempt\":2,\"ageMs\":2103,\"syntheticOnly\":true}"}
{"timestamp":"2026-11-10T01:30:22.311Z","source":"driver","event":"host-signal-received","signal":"SIGINT","signals":1}
{"timestamp":"2026-11-10T01:30:22.311Z","source":"driver","event":"host-signal-received","signal":"SIGTERM","signals":2}
{"timestamp":"2026-11-10T01:30:22.312Z","source":"driver","event":"command-received","command":"close:C3-signalled"}
{"timestamp":"2026-11-10T01:30:22.312Z","source":"driver","event":"explicit-scope-close-start","phase":"C3-signalled","signals":2,"recoveryCount":0}
{"timestamp":"2026-11-10T01:30:22.315Z","source":"stub","event":"file-line","line":"{\"timestamp\":\"2026-11-10T01:30:22.315Z\",\"source\":\"stub\",\"event\":\"stop-signal\",\"pid\":1534418,\"attempt\":2,\"ageMs\":2109,\"signal\":\"SIGTERM\",\"delayMs\":15,\"state\":\"past-registering-window\"}"}
{"timestamp":"2026-11-10T01:30:22.331Z","source":"stub","event":"file-line","line":"{\"timestamp\":\"2026-11-10T01:30:22.330Z\",\"source\":\"stub\",\"event\":\"exit\",\"pid\":1534418,\"attempt\":2,\"ageMs\":2124,\"exitCode\":0}"}
[01:30:22.337] INFO (#1): Relay client stopped { pid: 1534418 }
{"timestamp":"2026-11-10T01:30:22.338Z","source":"driver","event":"explicit-scope-close-end","phase":"C3-signalled","stopMs":26,"signals":2,"recoveryCount":0}
{"timestamp":"2026-11-10T01:30:22.338Z","source":"driver","event":"listeners","phase":"C3-signalled:after-close","identities":{"SIGINT":[1],"SIGTERM":[2]},"counts":{"SIGINT":1,"SIGTERM":1},"baselineRestored":true}
{"timestamp":"2026-11-10T01:30:22.338Z","source":"driver","event":"phase-closed","phase":"C3-signalled"}
{"timestamp":"2026-11-10T01:30:22.340Z","source":"relay","event":"file-line","line":"{\"message\":[\"Relay client stopped\",{\"pid\":1534418}],\"level\":\"INFO\",\"timestamp\":\"2026-11-10T01:30:22.337Z\",\"annotations\":{},\"spans\":{},\"fiberId\":\"#1\"}"}
{"timestamp":"2026-11-10T01:30:22.342Z","source":"driver","event":"listeners","phase":"C3-fresh:after-build","identities":{"SIGINT":[1,5],"SIGTERM":[2,5]},"counts":{"SIGINT":2,"SIGTERM":2},"baselineRestored":false}
{"timestamp":"2026-11-10T01:30:22.348Z","source":"driver","event":"real-child-spawned","pid":1534457}
[01:30:22.349] INFO (#1): Relay client process started; waiting for tunnel connection {
  pid: 1534457,
  source: 'path',
  version: '2026.10.4',
  protocol: 'auto',
  tunnelId: 'tunnel-1',
  tunnelName: undefined
}
{"timestamp":"2026-11-10T01:30:22.349Z","source":"driver","event":"connector-applied","phase":"C3-fresh","status":{"status":"running","providerKind":"cloudflare_tunnel","pid":1534457,"tunnelId":"tunnel-1"}}
{"timestamp":"2026-11-10T01:30:22.349Z","source":"driver","event":"phase-ready","phase":"C3-fresh"}
{"timestamp":"2026-11-10T01:30:22.351Z","source":"relay","event":"file-line","line":"{\"message\":[\"Relay client process started; waiting for tunnel connection\",{\"pid\":1534457,\"source\":\"path\",\"version\":\"2026.10.4\",\"protocol\":\"auto\",\"tunnelId\":\"tunnel-1\"}],\"level\":\"INFO\",\"timestamp\":\"2026-11-10T01:30:22.349Z\",\"annotations\":{},\"spans\":{},\"fiberId\":\"#1\"}"}
{"timestamp":"2026-11-10T01:30:22.407Z","source":"stub","event":"file-line","line":"{\"timestamp\":\"2026-11-10T01:30:22.407Z\",\"source\":\"stub\",\"event\":\"started\",\"pid\":1534457,\"attempt\":3,\"ageMs\":1}"}
{"timestamp":"2026-11-10T01:30:24.509Z","source":"stub","event":"file-line","line":"{\"timestamp\":\"2026-11-10T01:30:24.509Z\",\"source\":\"stub\",\"event\":\"past-registering-window\",\"pid\":1534457,\"attempt\":3,\"ageMs\":2103,\"syntheticOnly\":true}"}
{"timestamp":"2026-11-10T01:30:24.511Z","source":"stub","event":"file-line","line":"{\"timestamp\":\"2026-11-10T01:30:24.511Z\",\"source\":\"stub\",\"event\":\"controlled-crash\",\"pid\":1534457,\"attempt\":3,\"ageMs\":2105,\"exitCode\":1}"}
{"timestamp":"2026-11-10T01:30:24.520Z","source":"driver","event":"child-exit-observed","pid":1534457,"exitCode":1}
[01:30:24.522] INFO (#137): Relay client stopped { pid: 1534457 }
[01:30:24.523] WARN (#137): Relay client exited; restarting {
  pid: 1534457,
  exitCode: 1,
  tunnelId: 'tunnel-1',
  tunnelName: undefined
}
{"timestamp":"2026-11-10T01:30:24.530Z","source":"driver","event":"real-child-spawned","pid":1534702}
[01:30:24.530] INFO (#137): Relay client process started; waiting for tunnel connection {
  pid: 1534702,
  source: 'path',
  version: '2026.10.4',
  protocol: 'auto',
  tunnelId: 'tunnel-1',
  tunnelName: undefined
}
{"timestamp":"2026-11-10T01:30:24.532Z","source":"driver","event":"recovery-request","phase":"C3-fresh","count":1,"config":{"providerKind":"cloudflare_tunnel","connectorToken":"synthetic-token","tunnelId":"tunnel-1"}}
{"timestamp":"2026-11-10T01:30:24.533Z","source":"relay","event":"file-line","line":"{\"message\":[\"Relay client stopped\",{\"pid\":1534457}],\"level\":\"INFO\",\"timestamp\":\"2026-11-10T01:30:24.522Z\",\"annotations\":{},\"spans\":{},\"fiberId\":\"#137\"}"}
{"timestamp":"2026-11-10T01:30:24.534Z","source":"relay","event":"file-line","line":"{\"message\":[\"Relay client exited; restarting\",{\"pid\":1534457,\"exitCode\":1,\"tunnelId\":\"tunnel-1\"}],\"level\":\"WARN\",\"timestamp\":\"2026-11-10T01:30:24.523Z\",\"annotations\":{},\"spans\":{},\"fiberId\":\"#137\"}"}
{"timestamp":"2026-11-10T01:30:24.534Z","source":"relay","event":"file-line","line":"{\"message\":[\"Relay client process started; waiting for tunnel connection\",{\"pid\":1534702,\"source\":\"path\",\"version\":\"2026.10.4\",\"protocol\":\"auto\",\"tunnelId\":\"tunnel-1\"}],\"level\":\"INFO\",\"timestamp\":\"2026-11-10T01:30:24.530Z\",\"annotations\":{},\"spans\":{},\"fiberId\":\"#137\"}"}
{"timestamp":"2026-11-10T01:30:24.566Z","source":"stub","event":"file-line","line":"{\"timestamp\":\"2026-11-10T01:30:24.566Z\",\"source\":\"stub\",\"event\":\"started\",\"pid\":1534702,\"attempt\":4,\"ageMs\":1}"}
{"timestamp":"2026-11-10T01:30:26.669Z","source":"stub","event":"file-line","line":"{\"timestamp\":\"2026-11-10T01:30:26.668Z\",\"source\":\"stub\",\"event\":\"past-registering-window\",\"pid\":1534702,\"attempt\":4,\"ageMs\":2103,\"syntheticOnly\":true}"}
{"timestamp":"2026-11-10T01:30:26.670Z","source":"driver","event":"command-received","command":"close:C3-fresh"}
{"timestamp":"2026-11-10T01:30:26.670Z","source":"driver","event":"explicit-scope-close-start","phase":"C3-fresh","signals":2,"recoveryCount":1}
{"timestamp":"2026-11-10T01:30:26.673Z","source":"stub","event":"file-line","line":"{\"timestamp\":\"2026-11-10T01:30:26.673Z\",\"source\":\"stub\",\"event\":\"stop-signal\",\"pid\":1534702,\"attempt\":4,\"ageMs\":2108,\"signal\":\"SIGTERM\",\"delayMs\":15,\"state\":\"past-registering-window\"}"}
{"timestamp":"2026-11-10T01:30:26.689Z","source":"stub","event":"file-line","line":"{\"timestamp\":\"2026-11-10T01:30:26.689Z\",\"source\":\"stub\",\"event\":\"exit\",\"pid\":1534702,\"attempt\":4,\"ageMs\":2124,\"exitCode\":0}"}
[01:30:26.696] INFO (#1): Relay client stopped { pid: 1534702 }
{"timestamp":"2026-11-10T01:30:26.697Z","source":"driver","event":"explicit-scope-close-end","phase":"C3-fresh","stopMs":27,"signals":2,"recoveryCount":1}
{"timestamp":"2026-11-10T01:30:26.697Z","source":"driver","event":"listeners","phase":"C3-fresh:after-close","identities":{"SIGINT":[1],"SIGTERM":[2]},"counts":{"SIGINT":1,"SIGTERM":1},"baselineRestored":true}
{"timestamp":"2026-11-10T01:30:26.697Z","source":"driver","event":"phase-closed","phase":"C3-fresh"}
{"timestamp":"2026-11-10T01:30:26.697Z","source":"driver","event":"lifecycle-complete","recoveryCount":1,"signals":2}
{"timestamp":"2026-11-10T01:30:26.698Z","source":"relay","event":"file-line","line":"{\"message\":[\"Relay client stopped\",{\"pid\":1534702}],\"level\":\"INFO\",\"timestamp\":\"2026-11-10T01:30:26.696Z\",\"annotations\":{},\"spans\":{},\"fiberId\":\"#1\"}"}
{"timestamp":"2026-11-10T01:30:26.698Z","source":"driver","event":"process-exit","code":0,"recoveryCount":1,"signals":2}
```

## Full raw relay-client log

```text
{"message":["Relay client process started; waiting for tunnel connection",{"pid":1534345,"source":"path","version":"2026.10.4","protocol":"auto","tunnelId":"tunnel-1"}],"level":"INFO","timestamp":"2026-11-10T01:30:17.978Z","annotations":{},"spans":{},"fiberId":"#1"}
{"message":["Relay client stopped",{"pid":1534345}],"level":"INFO","timestamp":"2026-11-10T01:30:20.150Z","annotations":{},"spans":{},"fiberId":"#1"}
{"message":["Relay client process started; waiting for tunnel connection",{"pid":1534418,"source":"path","version":"2026.10.4","protocol":"auto","tunnelId":"tunnel-1"}],"level":"INFO","timestamp":"2026-11-10T01:30:20.165Z","annotations":{},"spans":{},"fiberId":"#1"}
{"message":["Relay client stopped",{"pid":1534418}],"level":"INFO","timestamp":"2026-11-10T01:30:22.337Z","annotations":{},"spans":{},"fiberId":"#1"}
{"message":["Relay client process started; waiting for tunnel connection",{"pid":1534457,"source":"path","version":"2026.10.4","protocol":"auto","tunnelId":"tunnel-1"}],"level":"INFO","timestamp":"2026-11-10T01:30:22.349Z","annotations":{},"spans":{},"fiberId":"#1"}
{"message":["Relay client stopped",{"pid":1534457}],"level":"INFO","timestamp":"2026-11-10T01:30:24.522Z","annotations":{},"spans":{},"fiberId":"#137"}
{"message":["Relay client exited; restarting",{"pid":1534457,"exitCode":1,"tunnelId":"tunnel-1"}],"level":"WARN","timestamp":"2026-11-10T01:30:24.523Z","annotations":{},"spans":{},"fiberId":"#137"}
{"message":["Relay client process started; waiting for tunnel connection",{"pid":1534702,"source":"path","version":"2026.10.4","protocol":"auto","tunnelId":"tunnel-1"}],"level":"INFO","timestamp":"2026-11-10T01:30:24.530Z","annotations":{},"spans":{},"fiberId":"#137"}
{"message":["Relay client stopped",{"pid":1534702}],"level":"INFO","timestamp":"2026-11-10T01:30:26.696Z","annotations":{},"spans":{},"fiberId":"#1"}
```

## Full raw stub log

```text
{"timestamp":"2026-11-10T01:30:18.013Z","source":"stub","event":"started","pid":1534345,"attempt":1,"ageMs":1}
{"timestamp":"2026-11-10T01:30:20.114Z","source":"stub","event":"past-registering-window","pid":1534345,"attempt":1,"ageMs":2102,"syntheticOnly":true}
{"timestamp":"2026-11-10T01:30:20.125Z","source":"stub","event":"stop-signal","pid":1534345,"attempt":1,"ageMs":2113,"signal":"SIGTERM","delayMs":15,"state":"past-registering-window"}
{"timestamp":"2026-11-10T01:30:20.140Z","source":"stub","event":"exit","pid":1534345,"attempt":1,"ageMs":2128,"exitCode":0}
{"timestamp":"2026-11-10T01:30:20.207Z","source":"stub","event":"started","pid":1534418,"attempt":2,"ageMs":1}
{"timestamp":"2026-11-10T01:30:22.309Z","source":"stub","event":"past-registering-window","pid":1534418,"attempt":2,"ageMs":2103,"syntheticOnly":true}
{"timestamp":"2026-11-10T01:30:22.315Z","source":"stub","event":"stop-signal","pid":1534418,"attempt":2,"ageMs":2109,"signal":"SIGTERM","delayMs":15,"state":"past-registering-window"}
{"timestamp":"2026-11-10T01:30:22.330Z","source":"stub","event":"exit","pid":1534418,"attempt":2,"ageMs":2124,"exitCode":0}
{"timestamp":"2026-11-10T01:30:22.407Z","source":"stub","event":"started","pid":1534457,"attempt":3,"ageMs":1}
{"timestamp":"2026-11-10T01:30:24.509Z","source":"stub","event":"past-registering-window","pid":1534457,"attempt":3,"ageMs":2103,"syntheticOnly":true}
{"timestamp":"2026-11-10T01:30:24.511Z","source":"stub","event":"controlled-crash","pid":1534457,"attempt":3,"ageMs":2105,"exitCode":1}
{"timestamp":"2026-11-10T01:30:24.566Z","source":"stub","event":"started","pid":1534702,"attempt":4,"ageMs":1}
{"timestamp":"2026-11-10T01:30:26.668Z","source":"stub","event":"past-registering-window","pid":1534702,"attempt":4,"ageMs":2103,"syntheticOnly":true}
{"timestamp":"2026-11-10T01:30:26.673Z","source":"stub","event":"stop-signal","pid":1534702,"attempt":4,"ageMs":2108,"signal":"SIGTERM","delayMs":15,"state":"past-registering-window"}
{"timestamp":"2026-11-10T01:30:26.689Z","source":"stub","event":"exit","pid":1534702,"attempt":4,"ageMs":2124,"exitCode":0}
```

