CLI installer evidence Environment for both recordings: Linux x86_64 with glibc, Node v26.12.1, same 120-column by 42-row PTY, dark terminal. MP4 files render the actual timestamped terminal output at original speed, 1440x1000 and 5 fps. Each scenario starts with a fresh isolated T3 home and install-bin directory. No database, account, provider, or user data is used. Paths are redacted; presentation labels identify TERM=dumb versus the shell's TTY progress mode. Base: 871b00907d0bcf2705224de6c6e90de925c7cbb9 Head: c9182125243d15181a697fa190aad7efb64f10b1 The base was calculated with git merge-base origin/main HEAD. Separate detached worktrees were used. No application source was modified. Build the real npm launcher in each checkout: vp i vp exec node scripts/build-npm-launcher.ts --version 0.1.8 --output-dir PACKAGE_OUTPUT The shell installer is the unmodified scripts/install.sh in each checkout and needs no build. Download SHA256SUMS and t3-0.1.8-linux-x64.tar.gz from the official v0.1.8 GitHub release into RELEASE_FILES. The driver verifies the archive against the published checksum before starting. Archive SHA256: b9c49dc00c23fbbc5961bdaff2d88e556d96c8dbd638c4501e2937c70650a9e5 Run the identical driver per checkout: python3 prove.py WORKTREE PACKAGE_OUTPUT/t3 RELEASE_FILES OUTPUT_PARENT before python3 prove.py WORKTREE PACKAGE_OUTPUT/t3 RELEASE_FILES OUTPUT_PARENT after The local HTTP release mirror serves the genuine release bytes. T3CODE_RELEASE_BASE_URL directs checksum/archive requests to it. A narrow curl transport shim redirects only the hard-coded latest-release URL to the mirror's synthetic v0.1.8 metadata. Curl itself, Node fetch, installer logic, backoff sleeps, checksum verification, tar extraction, and installed executable are real and unchanged. The mirror prints each request and response code into the captured terminal stream. It returns either one HTTP 504 then HTTP 200, or four HTTP 504 responses for the selected endpoint. Other endpoints return HTTP 200. Identical scenario order: 1-3: shell, TERM=dumb, one 504 on release lookup / checksum / archive. 4-6: shell, TERM=dumb, four 504s on release lookup / checksum / archive. 7-8: shell, TTY progress mode, one / four 504s on archive. 9-10: built npm launcher, TERM=dumb, one 504 on checksum / archive. 11-12: built npm launcher, TERM=dumb, four 504s on checksum / archive. Shell command: sh scripts/install.sh Npm command: node PACKAGE_OUTPUT/t3/bin/t3.mjs --version After a successful shell installation, the installed t3 --version is also run. All six one-504 head scenarios complete installation and print t3 v0.1.8 with exit 0. All six persistent head scenarios stop after exactly four failed requests, nonzero exit, and no completion marker. Base fails on the first 504 in all twelve scenarios. Recordings include unaccelerated installation, extraction and validation time. The .cast files contain the recorded terminal events and timestamps. The .txt files contain the same output with ANSI cursor sequences removed for reading. The JSON files list actual exit codes, completion state and request counts. No unit tests were used as evidence. To render the captures independently: python3 -m venv ENV ENV/bin/pip install pillow pyte ENV/bin/python render.py before.cast ENV/bin/python render.py after.cast Requires ffmpeg and the standard DejaVu Sans Mono font. The recording driver requires Python 3, curl, tar, sha256sum, and Node >=20.11. Not exercised: Windows PowerShell; HTTP 408/429 and other 5xx codes; network exceptions; full t3 up --lan --yes server launch. The installation path is exercised through --version without starting a server. AI-assisted; verified with the tests and tools listed above.