Evidence capture for [#28108](https://git.cafe/pingdotgg/t3code/pull/28108) ([GitHub mirror](https://github.com/pingdotgg/t3code/pull/28108)).

Saved-setting application accounts for the observed product differences. Existing compaction pinning tests passing on merge-base are a proof caveat, not a failing-main recording.

20/27 rows complete, 4 partial, 2 unverified, 1 excluded. All 19 required live/test rows are captured; 24/27 rows have recordings (24/26 in scope). Supplemental partial and unverified branches are explicitly listed below.

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.

Reviewed head [5732ee6018](https://git.cafe/pingdotgg/t3code/commit/5732ee6018fee30328bb7394c8be7e5cd638286d); merge-base [79f1fadfc6](https://git.cafe/pingdotgg/t3code/commit/79f1fadfc6020b820d541ca4691d2feebb15dd1b). Synthetic fixture git projects and fresh per-side server databases only. No branch changes, commits, pushes, PR edits or comments.

Use the main recordings for F01–F09/F08, dedicated compaction recordings for F11, and edge recordings for F14/F07/F27. The edge phase ran its original compaction observer while a corrected external retry used the same fixture server; that history is preserved and is not the final F11 proof.

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.

Unverified rows and branch limits:

- F15 (partial): undefined/false pending-work probes have recordings. A failing/defecting probe is unverified; the matrix identifies no existing focused failure fixture, and no live failure injection was made.
- F16 (unverified): transient registry lookup failure while an existing runtime is cached needs registry injection. No focused existing fixture is available; removing a real instance does not reliably select this branch.
- F17 (required minimum captured): both stopped-start controls pass. Failed/interrupted compact cleanup remains an additional branch gap.
- F18 (unverified): rollback failure/interruption cleanup needs an injected failing/interrupted adapter. No focused existing fixture is available. Successful rollback and released-runtime races are independently recorded as F12/F13.
- F19 (partial): hanging-close/release-record retry/replacement/credential controls pass. Full settings-change integration with all cleanup failure/timeout modes is unverified.
- F21 (required minimum captured): auth blocking and shared-peer sign-out interruption pass. A repeated open after mutating guard state on the same cached wrapper remains unverified.
- F22 (required minimum captured): shared/exclusive behavior and independent instance routing pass. No live second-instance or non-Codex native-resume claim is made.
- F23 (partial): interrupted mid-handshake cleanup passes. The complete stale release → replacement launch failure → repaired-config recovery sequence is unverified.
- F24 (partial): missing/file/deleted workspace and empty-history compaction rejection pass. Unsupported-compaction capability and zero-run rollback branches are unverified.
- F26 is excluded. External auth-file-only switching is never claimed fixed.

Test results: 24 selected cases pass at head across 23 focused invocations. On merge-base, copied head idle-reopen, rollback-retirement and adapter-identity tests fail; compaction pinning passes. No production source was copied or changed in the before checkout.

All uploaded artifact URLs (ghdrop output verbatim):

[runtime-after-20261103T011147Z.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bb7fa335a727065d/runtime-after-20261103T011147Z.log)
[runtime-before-20261103T011148Z.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/01378820e59a643f/runtime-before-20261103T011148Z.log)
[runtime-compact-after-20261103T012120Z.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3ae9d43e7d6b5a72/runtime-compact-after-20261103T012120Z.log)
[runtime-compact-before-20261103T012121Z.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e5f1cdd8ef9be97f/runtime-compact-before-20261103T012121Z.log)
[runtime-edge-after-20261103T011817Z.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6d697c69a43deecc/runtime-edge-after-20261103T011817Z.log)
[runtime-edge-before-20261103T011819Z.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f786fe64d4a87d39/runtime-edge-before-20261103T011819Z.log)
[compaction-retry-after.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3bced6d84e0a9af9/compaction-retry-after.log)
[compaction-retry-before.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7240a72fc59b6a96/compaction-retry-before.log)
[rpc-projection-after.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8016de08cd0f3fae/rpc-projection-after.log)
[rpc-projection-before.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0105cad2577409c5/rpc-projection-before.log)
[capture-compaction-runtime.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6ecff555217675ac/capture-compaction-runtime.py)
[capture-edge-runtime.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dd2d9c3d99c366bc/capture-edge-runtime.py)
[capture-runtime.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fea575000ecf1e0e/capture-runtime.py)
[package-evidence.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8923c8b93bfaa09e/package-evidence.py)
[run-focused-tests.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3ff6aad78bd6183f/run-focused-tests.py)
[verify-cleanup.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8df385fb30dd9ab2/verify-cleanup.py)
[compaction-rpc-v0.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ce27c5ebdc19070c/compaction-rpc-v0.mjs)
[compaction-rpc-v1.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6fadcf13ce3f1b24/compaction-rpc-v1.mjs)
[compaction-rpc-v2.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b5276cf027827d48/compaction-rpc-v2.mjs)
[compaction-rpc-v3.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/036aad9e00cba427/compaction-rpc-v3.mjs)
[compaction-rpc.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/778040b0c9fb1385/compaction-rpc.mjs)
[rpc-client.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/be6bb432bbb6cab5/rpc-client.mjs)
[tests-head.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/971f0a10795b657a/tests-head.log)
[tests-before.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2d6407bd66a5bd57/tests-before.log)
[test-recordings-and-fixtures.tar.gz](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a83130ddaf9b2f13/test-recordings-and-fixtures.tar.gz)
[all-drivers-and-seeds.tar.gz](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/43a9e0aa9c567227/all-drivers-and-seeds.tar.gz)
[environment.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/41a8261b5d2ab07c/environment.log)
[cleanup-verification.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8ed51402bcbadcf3/cleanup-verification.log)
[worktree-final-state.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0ba3ae3e6efea5d3/worktree-final-state.log)
[fixture-matrix.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ed18dbb80ac62f9b/fixture-matrix.md)
[artifact-manifest.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/108e8dab0bf66442/artifact-manifest.json)
[credential-scan.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a2353f0c074ae62b/credential-scan.log)

Model/harness: gpt-6.1-sol, Codex through T3 Code.

FRICTION:

- tool | ordinary CLI startup missed the short compaction interval | preconnected RPC subscription with event-driven snapshots.
- model | initial RPC observer confused adapter-event names/fields with persisted domain events and timed out | inspect the wire schema before implementing the observer; corrected v3 recapture completed.

All six spawned servers stopped; no captured Codex process remains; temporary before checkout removed.
