Full-disk server comparison Linux, Node 26.13.1, systemd user manager, 256 MiB tmpfs. Each side uses its own fresh T3 home, created by that commit's real server. No live user data, agents, browser, or provider calls. Set PROOF_SCRATCH to an empty scratch directory. Make $PROOF_SCRATCH/disk, mount a 256 MiB tmpfs there, and chown it to your user. Install checkout dependencies with vp i. Run the uploaded reproduce.py with Python 3: python3 reproduce.py before-ready python3 reproduce.py after-ready Use the same scratch directory and run sequentially; each side has its own data directory. Base: 31eea883c7f7849ada6eb49265cb11fc64d2ecbd Head: 37c989d3b236deaad9224c4aa638cb76c35735a1 The driver starts a transient systemd user unit running node src/bin.ts serve --port 47913 --no-browser --log-level debug. stdout appends to userdata/logs/boot-service.log on the data filesystem. stderr appends outside the full filesystem, to preserve the crash stack. Restart is not enabled: the comparison isolates the logging crash, not systemd retry policy. It waits for startup phase: complete, pads the existing stdout file to a 4096-byte boundary (accelerating the next allocation failure), fills the data filesystem until ENOSPC, verifies zero available bytes, and probes process state and HTTP every ten seconds for four minutes. It frees the filler file, waits thirty seconds, and probes again without restarting the server. On head it additionally requests the public descriptor and runs the real project-add CLI to verify a persisted write after recovery. HTTP / returns 503 because these source-only server runs have no bundled web assets. That response demonstrates a live listener, not a healthy frontend. The descriptor endpoint is tested separately on head after recovery. The MP4s are terminal-style renderings of the actual timed driver output at 10x speed, with real elapsed timestamps, not browser recordings. The plain transcripts are the source. Each recording was inspected before upload. stderr.txt preserves the base ENOSPC stack with checkout paths redacted. The project-add result is additionally checked against the synthetic database before teardown. AI-assisted; verified with the tests and tools listed above.