# Remote follower defect runtime proof

This is a manual server proof, not a unit test or a simulated task result. Each run starts two real T3 development servers from the commit under examination, with separate fresh homes, enables linked environments, pairs over loopback, adds synthetic git projects with the CLI, and starts replay parent threads with the CLI. The remote thread is launched through the real peer forwarding/MCP path.

The scratch instrumentation adds a loopback control endpoint in RemoteDelegation's live service. `/link` invokes PeerLinks.link; `/delegate` invokes RemoteDelegation.delegate during an active replay parent run; `/state` reads ThreadManagement's persisted records. It constructs a thread invocation scope directly, so this does not verify an agent's delegate_task tool invocation or the web client. It does verify the real delegation service, remote work, follower, persistence, completion delivery and replay continuation.

For each task, it throws a JavaScript Error at entry to followOnce either once or three times. Attempts are counted there. No retry, completion, continuation, or orchestrator implementation is replaced. The same instrumentation is applied to both commits. A 12-second delay on the first replay prompt keeps both parent and remote work active during delegation; follow retries retain their production schedule. A hostnamectl shim labels environments Parent and Remote so the public evidence contains no host identity. Observations are taken 1, 9, 22 and 35 seconds after delegation.

The terminal videos continuously capture the actual driver's stdout. Its status lines come from each running server's service records; they are not expected values. The transcript files contain the same output. Parent wake evidence is the persisted delegated-completion message and a second completed replay run. The recordings contain synthetic data only.

## Re-run

Create independent worktrees at base f313d0a6cb843551fb60e57a454a71e71a3a8c04 and head 740d5c5c61308c9959f96b6c3340247e511452f9. Install each with `vp i`. Save these scripts together in a scratch directory. Apply `python3 instrument.py CHECKOUT` once per checkout. Then run each side sequentially:

```
headless-desktop bash record.sh CHECKOUT SIDE SCRATCH_DIRECTORY
```

The driver starts and stops its own servers. It uses loopback ports 19400/19401 for the temporary control endpoint and 19500/19501 for the actual servers; ensure they are free. Each invocation writes a new timestamped run directory. The raw server logs, pairing credentials and raw state files are private scratch material and must not be published. Publish only inspected videos/stills, transcripts, observations and the scripts.

The proof does not test cancellation after repeated defects, resetting the defect counter after intervening successful polls, recovery after a server restart, or finding a naturally occurring production defect.
