Settlement runtime evidence driver

Manual server comparison, no mocked Azure responses or clock changes.
Set T3_BASE_CHECKOUT and T3_HEAD_CHECKOUT to the two installed checkouts.
Create all fixtures with setup.py under an isolated directory, after loading the test Azure environment.
Start each checkout with T3CODE_DEV_SEED=0 and T3CODE_TRACE_MIN_LEVEL=Debug using vp run dev.
Issue auth session tokens to base-token and head-token using the CLI; keep them private.
Expose owning server node_modules to the scratch driver for Effect and contracts imports.
Clone fixture branches into side-label directories (see setup and driver); configure their Azure origin.
Run driver.ts <side> seed, unlink, and configure-shell.
The unlink step removes explicit link records so inferred branch PRs exercise the settlement summary path.
Run collect.py and coordinate.py. coordinate.py waits 31 real minutes before paired six-minute captures.
Then run record-terminal.sh <side> merge and shell under headless-desktop for each side, once per action.
Run export-evidence.py for ancestry-filtered sweep counts.
Use cleanup-azure.py after captures to abandon open fixture PRs and delete fixture branches.
Stop the processes you started and remove isolated homes and checkouts.

Synthetic ACP shell replay executes the real Azure CLI and emits its actual tool result through the real adapter.
No paid model or fake host outcome is used.
