# GitLab error proof driver

Run on the base and head checkout independently, with dependencies installed.
Start `T3CODE_DEV_SEED=0 vp run dev`; use each checkout's fresh `.t3` state.
Run `bash seed.sh <checkout> <new-run-directory>` against each running server.
Pair the browser using that server's startup pairing URL. Use dark theme,
1280 x 800 CSS pixels (captures are 2560 x 1600 device pixels).
Remove the automatically created `server` project through `t3 project remove`.
Open the synthetic GitLab lookup thread on main; retain its server warning.
Run `glab mr list --source-branch main --output json` inside the synthetic repo;
on each side it exits 1 with `404 Not Found.`

To expose the same listChangeRequests error in a visible toast:
1. Run `bash prepare-mr.sh <synthetic-repo>` on both sides. This creates only local
   remote-tracking refs and an example commit, enabling Create MR without a push.
2. Reload the thread and wait until Git action options is enabled.
3. Start recording. Click Git action options, Create MR, then Push & create MR
   in the default-ref confirmation. The GitLab lookup fails before creation.
4. Wait for Action failed. Capture the toast. Before retaining a still, take
   two screenshots at least 500 ms apart and verify identical SHA-256 hashes.
5. Stop recording. Inspect all stills and recordings. Redact the environment
   name and replay chooser with the same two black rectangles on both sides.

Observed base toast: Source control provider gitlab failed in listChangeRequests:
GitLab CLI command failed.

Observed head toast: Source control provider gitlab failed in listChangeRequests:
GitLab project or resource not found.

The PR browsing project-filter tooltip has its own generic message and was not
used as proof. Two scenarios:prove attempts stopped on navigation/locator errors;
this proof is the manual real-app comparison, not a scenario verdict.

AI-assisted; verified with the tests and tools listed above.
