Evidence for [#28256](https://git.cafe/pingdotgg/t3code/pull/28256).

Captured **6/17 matrix rows**, all **6/6 MINIMUM rows**, on both pinned revisions: 12 complete real-CLI transcripts. No minimum row is unverified. Optional rows are explicitly unverified below; tests and source inspection are not substituted for captures.

Environment: fs-20; actual gethostname()=fs-20 (the brief called the hostname freestyle); Linux 6.1.102 x86_64, glibc 2.39; Node v26.12.1 selected by `vp exec which node` in both checkouts; host euid/egid 1000. F08 runs in separate user/PID namespaces with mapped euid 0 → host uid 1000. Free disk: 16 GB at capture time. Only fresh scratch base dirs were used. No browser, UI, provider turn, live userdata, checkout mutation, commit or push.

Before: [15fe283272](https://github.com/pingdotgg/t3code/commit/15fe2832727893cbdd2214383f9f971474849695). After: [ec84567fce](https://github.com/pingdotgg/t3code/commit/ec84567fce5a41ff1022e7feb289351029111f35). Both checkouts remained clean.

| Row | Fixture | Before (15fe283272) outcome + link | After (ec84567fce) outcome + link | Diff link |
| --- | --- | --- | --- | --- |
| F06 | Legacy live PID; no ownerId; L absent | Friendly preflight refusal; exit 1; cwd absent; [F06-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4ec3c8b05bb62e52/F06-before.txt) | Same friendly refusal; exit 1; R unchanged; L/cwd absent; [F06-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0c8a76f192785e2a/F06-after.txt) | [F06.diff](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0a4dbda5f3d8fbc1/F06.diff) |
| F07 | Real live lock-aware owner A; competing B | Friendly preflight refusal; exit 1; cwd absent; [F07-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/12ac6cf4f612ed88/F07-before.txt) | Same friendly refusal; exit 1; A alive; R unchanged; L busy; [F07-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4da7abb5619f1d2b/F07-after.txt) | [F07.diff](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8069eaa11a82fa92/F07.diff) |
| F08 | PID-namespace redeploy; reused live PID; released original L | Friendly preflight refusal; exit 1; cwd absent; [F08-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a389755983f1b938/F08-before.txt) | B listens; new R; original L inode busy; SIGTERM → exit 130; [F08-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c9de4d32e419502c/F08-after.txt) | [F08.diff](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d1c696d1213d7c51/F08.diff) |
| F09 | Seeded live unrelated PID; L missing + helper no-create | Friendly preflight refusal; exit 1; cwd absent; [F09-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/572be33bd0c5b575/F09-before.txt) | Helper false, L stays absent; CLI creates L, listens, new R; SIGTERM → exit 130; [F09-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ed45cc825fc97fee/F09-after.txt) | [F09.diff](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3d0add9a3d3f8f34/F09.diff) |
| F10 | Seeded live unrelated PID; corrupt non-database L | Friendly preflight refusal; exit 1; cwd absent; [F10-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ed3b65884c68f4bb/F10-before.txt) | Preflight passes; acquisition ServerOwnershipError (not a database); exit 1; cwd created; [F10-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b1b208eb4eeb0583/F10-after.txt) | [F10.diff](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0ba17972f5c81fea/F10.diff) |
| F11 | Seeded live unrelated PID; L mode 000; real uid 1000 denial | Friendly preflight refusal; exit 1; cwd absent; [F11-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/adf859123675523c/F11-before.txt) | Preflight passes; acquisition ServerOwnershipError (unable to open); exit 1; cwd created; [F11-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1f707a1c9c50b094/F11-after.txt) | [F11.diff](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8b944857ce8a5d1a/F11.diff) |
| F01 | Fresh/blank runtime | Unverified: outside minimum capture scope; no dedicated capture run | Unverified: outside minimum capture scope; no dedicated capture run | — |
| F02 | Invalid/unreadable runtime | Unverified: outside minimum capture scope; no dedicated capture run | Unverified: outside minimum capture scope; no dedicated capture run | — |
| F03 | Nonpositive PID | Unverified: outside minimum capture scope; no dedicated capture run | Unverified: outside minimum capture scope; no dedicated capture run | — |
| F04 | Own PID | Unverified: outside minimum capture scope; no dedicated capture run | Unverified: outside minimum capture scope; no dedicated capture run | — |
| F05 | Dead PID | Unverified: outside minimum capture scope; no dedicated capture run | Unverified: outside minimum capture scope; no dedicated capture run | — |
| F12 | Desktop bypass | Unverified: outside minimum capture scope; no dedicated capture run | Unverified: outside minimum capture scope; no dedicated capture run | — |
| F13 | Supervised/headless bypass | Unverified: outside minimum capture scope; no dedicated capture run | Unverified: outside minimum capture scope; no dedicated capture run | — |
| F14 | Config-only CLI callers | Unverified: outside minimum capture scope; no dedicated capture run | Unverified: outside minimum capture scope; no dedicated capture run | — |
| F15 | Held ownership with masked runtime | Unverified: outside minimum capture scope; no dedicated capture run | Unverified: outside minimum capture scope; no dedicated capture run | — |
| F16 | Start/probe/acquire race/release | Unverified: outside minimum capture scope; no dedicated capture run | Unverified: outside minimum capture scope; no dedicated capture run | — |
| F17 | Synthetic SQLite classification/cleanup faults | Unverified: outside minimum capture scope; no dedicated capture run | Unverified: outside minimum capture scope; no dedicated capture run | — |

F08 chronology: real owner A is the first namespace child (PID 2), publishes R and holds busy L; A receives SIGKILL and is reaped with returncode -9. The original inode remains and probes free. A second namespace starts a tracked unrelated `/bin/sleep 600` as PID 2, verifies it alive, probes the free L in a separate completed process, and launches B. B exits 1 before the fix; after the fix it listens and publishes its distinct PID/ownerId with L busy. B receives SIGTERM and exits 130; unrelated children receive SIGTERM and are reaped; both unshare phases exit 0. Original L inode is preserved across the whole sequence.

F09 helper check is labelled inside the after transcript; it runs from `/home/ubuntu/wt/pr-28256/apps/server`, calls the real `isServerOwnershipHeld`, returns false, and shows L still absent before the real CLI creates it.

F10 matches the requested expectation: independent read-only SQLite open succeeds, the schema query reports errcode 26 (file is not a database), preflight passes, then acquisition fails at BEGIN EXCLUSIVE with ServerOwnershipError, exit 1. R bytes and corrupt L inode/mode/hash remain unchanged; no Listening line or new R.

F11 verifies genuine non-root Errno 13 against mode-000 L, with writable parent. Independent read-only constructor reports errcode 14. After preflight passes, acquisition fails opening the DB, exit 1. The SHA-256 is recorded before chmod 000; the denied snapshots explicitly disclose that hashing is impossible with those permissions. After target exit and child cleanup, mode is restored to 0644 solely to verify the unchanged empty-file hash on the same inode. Both CLI invocations occur while L is mode 000.

What else changed:

- Beyond the intended released/missing-lock startup behavior (F08/F09), F10/F11 create the positional project directory before ownership acquisition fails. Before the fix, preflight refuses before creating it.
- F10/F11 diagnostics change from the friendly already-running message on stderr to ServerOwnershipError with a native cause on stdout. Exit status remains 1; R and L remain unchanged during the target invocation.
- No behavioral difference observed for F06/F07. The normalized F07 diff also retains an incidental difference in when the driver drains the asynchronous pairing-URL log line; it is not evidence of a server behavior change.

All successful servers record alive + Listening + new R + busy independent L probe at readiness, then explicit cleanup signals and wait statuses. SIGTERM cleanup returns 130 in these runs; readiness is never represented as exit 0. All spawned children are reaped. Printed pairing tokens are replaced with `<redacted>` before upload. Separate stdout/stderr streams are in the support archive.

Diffs are plain `diff -u` of normalized full transcripts. Normalization replaces run paths, PIDs/PID namespace IDs, ports, timestamps, UUIDs, R hashes, lock inode numbers, log fiber IDs, and before/after side labels. It preserves revision OIDs, mode/uid, L hashes and bytes, error codes/stages, exit/signal status, and state transitions. Raw transcripts remain available above.

Drivers and supporting streams:

[capture.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cb12a7c88529c4a9/capture.py)

[probe-lock.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/023fcb15b32f64e3/probe-lock.mjs)

[helper-no-create.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4ab5f761b2e17cd9/helper-no-create.mjs)

[run-remaining.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/528871a7373cae6d/run-remaining.py)

[normalize-and-diff.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/20cc7c18dece0774/normalize-and-diff.py)

[package-and-upload.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d57d213758589f81/package-and-upload.py)

[evidence-support.tar.gz](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9f4a4f31292845b0/evidence-support.tar.gz)

FRICTION: none

Model and harness: GPT-6.1 Sol in Codex, acting as the evidence-capture test sub-agent. Checks/reviews were not rerun or assessed; this task captured runtime evidence.
