# Server-only runtime proof

Revision: 0f6bd5503c36661092d6e534215a3aff0c4584fa. Pi 1.4.0, openai/gpt-6.1-sol.

A foreground completed 21:04:13.282 UTC. Server logged real idle-release-deferred at 21:34:13.238. Pi PID 1242824 and child PID 1243134 survived with matching process start ticks. Gate opened 21:35:14.780, after 31 actual idle minutes. Native continuation completed 21:35:19.463 with NATIVE_WAKE_A. Exactly two completed runs on the same provider thread, one user message, one typed background notification, empty final roster.

B Stop cleared its roster and terminated its Pi and child while A remained alive. C veto retained its roster. D reload bound replacement work. E called the canonical T3 MCP capability tool; user bash hook ran before permission request; decline completed PERMISSION_DECLINED.

Full proof is not a pass: C's extension command called ctx.newSession(), started replacement work during session_start, and produced FOREGROUND_C-new, but replacement work remained absent from the roster for 60 seconds. Subsequent thread.stop returned without terminating its replacement Pi/child. Verifier cleaned those captured PIDs directly. This was extension-native replacement, not adapter-directed loadContext.

FRICTION: ambient T3CODE_HOME overrode scaffold bootstrap home; ownership guard refused startup. Fixed temporary driver with explicit --base-dir (CLI rejects --home-dir). Initial message.dispatch fixture omitted createdBy/creationSource; corrected. No tracked edits, browser, push, merge, watch, or public publication. No infrastructure blocker.

All captured server and fixture processes exited. Pairing material and isolated databases excluded from sanitized evidence.
