Proof audit pass 2 for [#32646](https://git.cafe/pingdotgg/t3code/pull/32646), head [6f9adc64ff](https://github.com/pingdotgg/t3code/commit/6f9adc64ff9538222af5d7f8d9683be52c5e0551), base [d313b2aff3](https://github.com/pingdotgg/t3code/commit/d313b2aff31991ab94c8ac80cdc38a54dd575604).

Findings:

1. F06 is mislabeled in the PR table. It says ksh93u+m 1.0.4 "as ksh", but both sides of the [F06 transcript](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2198ca3da41f279f/F06-transcript.md) and the linked seed script use `/bin/ksh93`, resolving to `/usr/bin/ksh93`. F24 also invokes that basename. The delivered trap rows therefore do not demonstrate ksh93 invoked as `ksh`. I added an independent `/bin/ksh` run using the same F06 fixture: main is corrupt and head is clean, exit 0 on both sides, real shell `/usr/bin/ksh93`. Attach this supplemental evidence and correct the original row, or recapture F06 under its claimed basename. This is an evidence mismatch, not a reproduced production defect.
2. The Problem section says the returned XDG_DATA_HOME matches the reporter's symlink target byte for byte. F01's returned value is 91 bytes; adding `/claude/versions/2.1.319` produces the reported 115-byte target in [#32637](https://git.cafe/pingdotgg/t3code/issues/32637). Describe it as the exact corrupt prefix, or say the returned value plus that suffix matches the target.
3. The parenthetical reviewer `bash:3.2` success and Verification log's 28-real-shell-row review claim have no supporting linked reviewer report/transcript in the supplied PR evidence or comments. The current index explicitly leaves macOS bash 3.2 unverified, which is appropriate. Link the reviewer artifact or omit the unsupported historical assertions. This audit does not assert those reviews did not happen.

Coverage:

- Independently derived the basename allowlist and unchanged-shell branches from both pinned source trees; traced server's three names and desktop's 24 names, both production `-ilc` entry points, empty-name guards, Nu, validation/order/duplicates, Windows bypass and unchanged parser/process/fallback paths.
- Read all 19 row transcripts (F22 explicitly aliases F03); parsed and compared every JSON record to the raw archive. Every one of the 46 generated commands matches the actual builder imported independently from its pinned source. Both source-file SHA256 values match published provenance.
- Rebuilt both linked Dockerfiles under new tags, using the pinned base digests and shell package versions. Used host UID/GID and networking disabled for runtime containers. Imported real production modules from two own detached worktrees next to the lead's checkout; reused existing installed dependencies by read-only symlinks in those own worktrees, without source edits.
- Independently reran all 23 delivered before/after variant pairs, plus the supplemental ksh93-as-ksh pair: 48 production-reader invocations and 48 separate diagnostic invocations. All 46 delivered records reproduce exactly after scratch-path substitution, including stdout, stderr, startup evidence, parsed values, versions and status. F04 and F19 satisfy the requested trap/loksh rebuild minimum. Local Node was v26.12.1; delivered captures use v26.13.0.
- Focused test log at the exact head shows 97 passed and two skipped, consistent with Nu opt-in and Windows-only tests. The regression-before log shows the expected DEBUG-trap assertion failure. Current-head changed-check log shows format, lint, knip 1/2, typecheck and tests passing, knip 2/2 killed after 900 seconds and overall exit 1; the PR discloses that limit. The older linked log identifies an earlier head and knip 2/2 passing in 21.9 seconds. No full suite or check-changed was rerun for this read-only audit.
- No live provider update, macOS execution, Windows execution, or live Nu execution claimed. No UI surface applies. No server started; no PR comments or pushes.

| Row | Status |
|---|---|
| F01 | Pass: all report/server/desktop variants corrupt on main, clean at head; unset omitted |
| F02 | Pass: set -e, singleton/mixed, empty/unset and multiline preservation identical |
| F03 | Pass: bash via sh, hook loaded, corrupt to clean |
| F04 | Pass: zsh trap DEBUG, corrupt to clean; independently rebuilt |
| F05 | Pass: zsh TRAPDEBUG function, corrupt to clean |
| F06 | Finding: valid ksh93 transcript, but PR incorrectly claims basename ksh |
| F07 | Pass: dash, errexit off, same command/output/status |
| F08 | Pass: dash, errexit on, same command/output/status |
| F09 | Pass: mksh, errexit off, same command/output/status |
| F10 | Pass: mksh, errexit on, same command/output/status |
| F11 | Pass: fish native profile, same command/output/status |
| F12 | Pass: BSD csh, same command/output/status, empty stderr |
| F13 | Pass: same tcsh option rejection, exit 1, reader throws, startup absent |
| F14 | Pass by source equivalence: Nu commands and all value branches unchanged; no live Nu claim |
| F15 | Pass by source/control-flow: empty readers skip execution; only allowlisted direct empty builders gain prefix |
| F16 | Pass by source/command checks: validation, order and duplicate handling unchanged |
| F17 | Pass by source equivalence: Windows bypasses changed helper |
| F18 | Pass by source equivalence: parser/process/fallback/consumer paths unchanged |
| F19 | Pass: loksh as ksh, clean/identical; independently rebuilt |
| F20 | Pass: loksh as ksh with set -e, clean/identical |
| F21 | Pass: BusyBox ash as sh, both errexit states clean/identical |
| F22 | Pass: exact F03 coverage, no duplicate invocation claimed |
| F23 | Pass: loksh via sh, both errexit states clean/identical |
| F24 | Pass: ksh93 basename and print -n title trap, corrupt to clean |

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

FRICTION: none

VERDICT: INSUFFICIENT F06 claimed ksh-basename row is contradicted by its published transcript
