# Proof audit pass 2

SUFFICIENT for the server-only operational evidence requirements. No blocking evidence findings.

Target takeover: [#17239](https://git.cafe/pingdotgg/t3code/pulls/17239). Reviewed final [59fdabb266](https://git.cafe/pingdotgg/t3code/commit/59fdabb266c155c56c63866c8fb0cc52f710f9b9), full SHA 59fdabb266c155c56c63866c8fb0cc52f710f9b9, against main/base [909e4c9482](https://git.cafe/pingdotgg/t3code/commit/909e4c948278afc2b3e1e665075fb1755a13f894), full SHA 909e4c948278afc2b3e1e665075fb1755a13f894. Current original PR metadata read only through cafe: open, contributor head [390ff71aea](https://github.com/Quicksaver/t3code/commit/390ff71aeaf4dfb827ad1e5bffb173ba8dc06cbc). This is proof acceptance of the local replacement head, not a claim that the original PR already contains it or that replacement CI is green.

Reviewed the delivered matrix, index, entire transcript and bundle contents, test log, exporter/driver, validator, transport failure record, seed manifest, generated scripts, environment exports and source inputs. Public matrix/index/transcript/test-log/driver/exporter/hash-list bytes match their delivered local copies. All 22 SHA256SUMS entries pass. Each archived source input matches git show at its claimed revision. Independent export rebuild matches probe.cjs, environment.sh and exports.json exactly at both revisions. Probe SHA-256 before: 21725f06414f5c3eeee9b0e6f36db133bf29142908aa4c3d93254f26bc7914e7; after: 2872bb6a8f6e11b7c2fe901127e9c6136a40bded5d9f71944c3d3f41d5300d10.

Final diff has exactly sshDeviceScript.ts, sshDeviceScript.test.ts and docs/user/devices.md. All three blobs match the previously reviewed d991fdc8c3 revision. The final merge brings five unrelated orchestration/MCP/instruction files from main; those do not enter the takeover diff against the final base. No removed lifecycle code or tests are resurrected. The bootstrap in SshDeviceHost uses the same environment, quote helper and stdin probe pattern reproduced by the driver. Later commands also apply that environment.

Independent reproduction: ran the uploaded, unmodified driver.py with its uploaded exporter against the requested checkout, writing only to a fresh output directory outside the worktree. It generated fresh host/client keys and SDK/HOME fixtures and ran all 34 actual probes over its own loopback sshd, plus both independent later SSH commands for C. Exit 0. The complete rebuilt transcript is byte-identical to the delivered transcript after normalizing ONLY /tmp/t3-17239-fixtures-<random> to one placeholder. No result, Node path, marker, reason, command, SHA, exit status or logical behavior differed. Seed manifests match under the same single normalization. Thus logical delta between delivered evidence and this rebuild is zero; the before/after behavioral delta is confirmed below.

[Independent runtime transcript](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4130df705b6af791/runtime-transcript.txt).

Row status:

- A PASS: PATH-only adb accepted before, SDK-not-found rejection after. Final probe does not execute fallback adb.
- B PASS: adb-only SDK accepted before, rejected after for missing Emulator with the selected root in the reason.
- C PASS: both probes report Android available. Before uses fallback adb and later selects the empty mac-style default, then cannot find emulator (127). After selects ANDROID_SDK_ROOT as ANDROID_HOME; a separate SSH command resolves and executes both selected SDK adb and emulator markers (0).
- D PASS: selected adb exits one and is rejected before and after. Selected marker is present and fallback marker absent; final reason identifies selected root and failed adb execution.
- E PASS: separate searchable-directory emulator and avdmanager cases accepted before, rejected after with the appropriate component diagnostic. Covers avdmanager independently of the first emulator failure.
- F PASS: all six independent missing/non-executable regular-file cases accepted before and rejected after with the correct component/root reason. Manifest records 0644 for non-executable files; SSH target is ubuntu uid 1000, so execute checks are meaningful.
- G PASS: explicit ANDROID_HOME wins over complete ANDROID_SDK_ROOT. Complete HOME SDK succeeds both times; incomplete HOME SDK succeeds before but is rejected after rather than switching to ROOT.
- H PASS: each complete default SDK separately succeeds before and after. With both directories present and mac default incomplete, mac default still wins: accepted before, rejected after. Mac-style path selection is exercised on Linux, not on macOS.
- I PASS within stated proof scope: every Linux probe reports iOS false; source confirms independent iOS expression and Node >=22/npm gates unchanged. macOS with working xcrun is unverified runtime coverage, explicitly not claimed.
- J PASS: independent focused suite passes existing Java discovery and metacharacter/newline quoting tests. Relevant setup/quoting logic unchanged apart from SDK_ROOT precedence. No unrelated lifecycle restoration.
- K PASS: user guidance allows ANDROID_HOME or ANDROID_SDK_ROOT and states adb on PATH alone is insufficient, matching observed behavior. No changed render path exists.

Focused tests independently rerun at final head: vp test run apps/server/src/device/sshDeviceScript.test.ts apps/server/src/device/SshDeviceHost.test.ts apps/server/src/device/DeviceToolchain.test.ts. Exit 0, three files, ten tests passed. This agrees with the delivered final test log. git diff --check passed; checkout remains clean.

[Independent test log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c7c5be2260784158/auditor-focused-tests.txt).

Limitations: Linux nonroot loopback SSH only; SDK adb/emulator/avdmanager are marker tools and npm version is stubbed. Remote Node resolves to installed v24.21.0 via generated /usr/local/bin precedence, as the index states. This demonstrates detection, executable regular-file gating, failed-adb handling, diagnostics and SDK consistency; it does not demonstrate a real SDK, real avdmanager operation, emulator boot, npm installation, macOS/iOS operation, real remote hosts, relay/tunnel operation or UI behavior. No screenshots/browser/theme/viewport matrix applies to these server-only changes.

Safety review: bundle contains only sanitized evidence and source; no private-key material or credential payload found. Paths disclosed are ordinary checkout paths, owned temporary fixture roots and standard SDK/JBR paths, not credential directories or live user data. Driver generates keys per run rather than shipping them, uses loopback-only sshd, strict isolated known_hosts, public-key authentication and no global SSH configuration changes. Its captured owned daemon PID is stopped in finally, temporary keys and fixtures deleted; independent fresh fixture-root removal verified. No real remote hosts or ~/.t3/userdata accessed. No repository edits, commits, push, rebase, PR comments/reviews or watchers. Only app-owned PR registration and authorized evidence uploads occurred.

FRICTION: artifact retrieval | Python urllib received HTTP 403 for a public evidence URL; curl retrieved the identical artifact successfully | use curl for this evidence host.
FRICTION: transport (collector, already resolved) | UsePAM no rejected authentication before any probe; uploaded failure record distinguishes it from a product failure | isolated sshd uses host-compatible UsePAM yes with password and keyboard-interactive authentication disabled; independent rerun succeeded.

VERDICT: SUFFICIENT
