# Inherited GIT_DIR repository-selection proof

Base: 59e64eef881632a23f89c4138bcf37f23d92bf93
Head: bdc01082f9dd0e760fe85d50deeabefaecfe87f3

Real web app on Linux, Chrome 151.0.7922.108, agent-browser 0.43.0, light theme,
1280 x 800. Each app uses its own checkout, fresh T3 home, and server database.
No live database was copied. Only the free devReplay provider runs.

Use the same harness checkout containing scripts/scenarios/start-app.ts and t3.ts.
Apply inherited-git-dir-server.patch to the harness, not to the app under test.
It creates a separate valid non-bare checkout's .git directory whose upstream remote has the gh
base mark. Only the server inherits GIT_DIR; global Git URL rewrites are disabled
with GIT_CONFIG_GLOBAL=/dev/null. Application source is unmodified on both sides.

For each side, select a new HOME_DIR and OUTPUT directory, an unused WEB_PORT,
and a separate BROWSER_SESSION. CHECKOUT is that side's app checkout. HARNESS is
the checkout holding the patched start-app.ts and t3.ts. BROWSER is the
agent-browser executable. All values are local arguments, never public data.

Run vp i in each checkout first. Start and retain the process handle for:

```sh
cd "$CHECKOUT"
T3CODE_DEV_SEED=0 node "$HARNESS/scripts/scenarios/start-app.ts" web "$HOME_DIR" 127.0.0.1 "$WEB_PORT"
```

After the server is ready, run:

```sh
node seed.mjs "$HARNESS" "$CHECKOUT" "$HOME_DIR"
python3 capture-driver.py "$BROWSER" "$BROWSER_SESSION" "$HOME_DIR" "http://127.0.0.1:$WEB_PORT" "$OUTPUT"
```

The seed uses the app's own CLI to create Fork project and a replay thread.
Its Git config has origin=https://github.com/example/fork.git marked
remote.origin.gh-resolved=base, and upstream=https://github.com/example/parent.git.

The browser driver pairs before recording, opens that real thread, opens the
command palette, selects Link pull request to thread, and enters the bare number
42. It captures the repository preview without submitting a link. It moves focus
to Cancel and requires two identical screenshot files at least 500 ms apart.

Observed before: github.com/example/parent #42.
Observed after: github.com/example/fork #42.

Screenshots and recordings were visually inspected before upload. The driver
records only the app viewport; pairing tokens and local filesystem paths do not
appear in the recordings. Stop the retained server handles and close each browser
session after capturing.

The initial scenario checking sidebar groups passed on both commits because
current grouping uses origin identity. A subsequent scenario hit a thread-title
pointer-interception error, so final evidence uses the manual browser driver.
