Saved-setting application accounts for the observed product differences; no extra behavior outside the PR title was observed.

Environment: fs-11; Linux 6.1.102 x86_64; server Node 26.13.0; vp 1.3.0 / local 1.4.0; Codex CLI 0.163.0; gpt-5.6-sol via configured CLIProxyAPI hub; 2026-11-03 UTC; fresh isolated homes; T3CODE_DEV_SEED=0; server only.

All PIDs below identify native serving processes. The Node launcher is separately listed in the raw snapshots; transient status probes are logged but are not counted as serving replacements.

| Live row | Before [79f1fadfc6](https://git.cafe/pingdotgg/t3code/commit/79f1fadfc6020b820d541ca4691d2feebb15dd1b) | After [5732ee6018](https://git.cafe/pingdotgg/t3code/commit/5732ee6018fee30328bb7394c8be7e5cd638286d) |
|---|---|---|
| F01 | [A PID 489071; one](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/01378820e59a643f/runtime-before-20261103T011148Z.log) | [A PID 488658; one](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bb7fa335a727065d/runtime-after-20261103T011147Z.log) |
| F02 | [existing + sibling reuse 489071](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/01378820e59a643f/runtime-before-20261103T011148Z.log) | [existing + sibling reuse 488658](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bb7fa335a727065d/runtime-after-20261103T011147Z.log) |
| F03 | [equal/unrelated retain 489071](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/01378820e59a643f/runtime-before-20261103T011148Z.log) | [equal/unrelated retain 488658](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bb7fa335a727065d/runtime-after-20261103T011147Z.log); [equal RPC accepted](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3ae9d43e7d6b5a72/runtime-compact-after-20261103T012120Z.log) |
| F04 | [A remains 489071](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/01378820e59a643f/runtime-before-20261103T011148Z.log) | [A → B; 492087 serves existing thread](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bb7fa335a727065d/runtime-after-20261103T011147Z.log) |
| F05 | [A remains 489071](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/01378820e59a643f/runtime-before-20261103T011148Z.log) | [B → A; 494196 serves new thread first](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bb7fa335a727065d/runtime-after-20261103T011147Z.log) |
| F06 | [no new argv/env; 489071](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/01378820e59a643f/runtime-before-20261103T011148Z.log) | [495429 has -c summary option + fixture-F06](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bb7fa335a727065d/runtime-after-20261103T011147Z.log) |
| F07 | [506450; CODEX_HOME unset](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f786fe64d4a87d39/runtime-edge-before-20261103T011819Z.log) | [516476; scratch CODEX_HOME B; successful new turn](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6d697c69a43deecc/runtime-edge-after-20261103T011817Z.log) |
| F08 | [same native IDs; both markers recalled](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/01378820e59a643f/runtime-before-20261103T011148Z.log) | [same native IDs after restart; both markers recalled](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bb7fa335a727065d/runtime-after-20261103T011147Z.log) |
| F09 | [busy + idle remain 489071; long-done](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/01378820e59a643f/runtime-before-20261103T011148Z.log) | [busy retains 495429; idle replaces with 499858; long-done](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bb7fa335a727065d/runtime-after-20261103T011147Z.log) |
| F11 | [overlap on 513301; same PID after terminal](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e5f1cdd8ef9be97f/runtime-compact-before-20261103T012121Z.log) | [overlap pins 512896; next idle open uses 515344](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3ae9d43e7d6b5a72/runtime-compact-after-20261103T012120Z.log) |
| F14 | [terminal root + tracked sleep; 506450 persists](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f786fe64d4a87d39/runtime-edge-before-20261103T011819Z.log) | [509158 retained; command completes; next open 514923](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6d697c69a43deecc/runtime-edge-after-20261103T011817Z.log) |
| F27 | [both concurrent turns use cached 506450](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f786fe64d4a87d39/runtime-edge-before-20261103T011819Z.log) | [one replacement 518233; current-build env; both turns finish](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6d697c69a43deecc/runtime-edge-after-20261103T011817Z.log) |

What else changed, including intended differences:

- F04/F05: head ends the idle serving process and starts the saved binary for the first existing or new opener. Merge-base keeps its original process. The server PID stays unchanged on each side.
- F06: head applies the saved launch arguments and synthetic instance environment to the persistent serving process. Merge-base applies them only to its short-lived status probe.
- F07: head applies scratch CODEX_HOME to the new serving process. Merge-base retains its process with CODEX_HOME unset. This uses a brand-new thread and proves no cross-home transcript migration.
- F08: both sides recall saffron-orbit-28108 and cobalt-reef-28108; head does so after a process replacement, with each native thread reference unchanged. Merge-base never replaces its serving process.
- F09/F11/F14: both sides preserve running root, compaction, and tracked background work. Head retires the stale process on the next idle open after the work ends; merge-base continues to reuse it.
- F27: concurrent openers on head share one replacement built from the latest of two successive settings rebuilds. Its environment is fixture-F27-current. Merge-base shares its original process and lacks that marker.
- Replacement adds the expected provider-session detach/stop/reopen lifecycle records on head. There were no reply-content changes in matching fixed-reply/marker prompts, unexpected failed turns, or observed interruptions in the final captures. Per-run IDs, ports, wall-clock timestamps and provider response timing differ and are fixture/runtime variation; these captures do not benchmark latency.

Proof caveats and attempt history:

- The existing compaction pinning test passes on merge-base too. It cannot establish terminal cleanup/retirement on its own. The dedicated compaction runtime recordings establish that end: head native sibling started 01:21:52.163Z while compaction remained running until 01:21:54.134Z; next idle open changed native PID 512896 to 515344. Before sibling started 01:21:52.845Z while compaction remained running until 01:21:54.236Z; next idle open kept 513301.
- The first ordinary-CLI compaction attempt finished before its sibling opened; it is inconclusive for overlap. Early RPC observer versions used the wrong domain-event names/shape and timed out. Corrected v2 retries captured events; v3 dedicated captures include event-driven process snapshots and supersede those attempts for F11.
- The first ordinary-CLI home switch overlapped retained background work and correctly kept the old process. Use the independent F07 transition in the edge recordings, after tracked background completion.
- The edge recording contains the original RPC observer's timeout plus a successful external v2 retry on the same synthetic server. The retry is separately recorded; only the later dedicated v3 recordings are used for complete F11 proof.
- Initial primary ENV queried node before entering the owning checkout and says 26.12.1; actual serving/CLI process argv and owning-package probes show Node 26.13.0. Environment recording documents this distinction.
