# Runtime observation

Fresh synthetic repositories; real web client, server, and Git subprocesses. No Git command was stubbed.

Chromium, Linux, 1280 × 800, light theme on both sides. Each server created its own fresh database with seeding disabled.

The read-only browser observer displays counts from GIT_TRACE. It does not change app behavior. Only root-scoped ls-files calls count as branch-total attempts; diff-preview listings without root pathspecs are excluded. The observer header names the initial fixture throughout the recording.

At elapsed 175 seconds, the driver moves over-cap/ out of the worktree and creates recovered.txt containing one line. Each side is observed until 210 seconds.

| Elapsed | Base listings / status polls | Head listings / status polls |
| --- | --- | --- |
| 5s | 0 / 0 | 0 / 0 |
| 35s | 1 / 1 | 1 / 1 |
| 70s | 2 / 2 | 1 / 2 |
| 105s | 3 / 3 | 2 / 3 |
| 140s | 4 / 4 | 2 / 4 |
| 175s | 5 / 5 | 2 / 5 |
| 210s | 5 / 6 | 2 / 6 |

Both clients recover to Changes +1 -0. On head, the first failed listing is at 19:32:30, the second at 19:33:30, and changed-root recovery at 19:35:01, before the second failure’s two-minute retry deadline (19:35:30).

## Before
Commit: [31eea883c7](https://github.com/pingdotgg/t3code/commit/31eea883c7f7849ada6eb49265cb11fc64d2ecbd)
```text
19:33:10.305224  git status --porcelain=2 --branch -z --no-ahead-behind
19:33:16.699553  git status --porcelain=2 --branch -z --no-ahead-behind
19:33:47.035254  git status --porcelain=2 --branch -z --no-ahead-behind
19:33:47.081741  git ls-files --others --exclude-standard -z -- ':(top,literal)over-cap/'
19:34:17.202319  git status --porcelain=2 --branch -z --no-ahead-behind
19:34:17.261701  git ls-files --others --exclude-standard -z -- ':(top,literal)over-cap/'
19:34:47.400373  git status --porcelain=2 --branch -z --no-ahead-behind
19:34:47.474109  git ls-files --others --exclude-standard -z -- ':(top,literal)over-cap/'
19:35:17.678489  git status --porcelain=2 --branch -z --no-ahead-behind
19:35:17.781757  git ls-files --others --exclude-standard -z -- ':(top,literal)over-cap/'
19:35:48.045821  git status --porcelain=2 --branch -z --no-ahead-behind
19:35:48.187846  git ls-files --others --exclude-standard -z -- ':(top,literal)over-cap/'
19:36:18.405712  git status --porcelain=2 --branch -z --no-ahead-behind
19:36:18.509336  git ls-files --others --exclude-standard -z -- ':(top,literal)recovered.txt'
19:36:48.802042  git status --porcelain=2 --branch -z --no-ahead-behind
19:36:48.954306  git ls-files --others --exclude-standard -z -- ':(top,literal)recovered.txt'
```

## After
Commit: [39d90e7e42](https://github.com/pingdotgg/t3code/commit/39d90e7e42a93e0fc60b026acd4d8a171e5cfa56)
```text
19:31:53.939675  git status --porcelain=2 --branch -z --no-ahead-behind
19:31:59.687576  git status --porcelain=2 --branch -z --no-ahead-behind
19:32:30.191907  git status --porcelain=2 --branch -z --no-ahead-behind
19:32:30.238257  git ls-files --others --exclude-standard -z -- ':(top,literal)over-cap/'
19:33:00.343104  git status --porcelain=2 --branch -z --no-ahead-behind
19:33:30.482943  git status --porcelain=2 --branch -z --no-ahead-behind
19:33:30.542564  git ls-files --others --exclude-standard -z -- ':(top,literal)over-cap/'
19:34:00.667996  git status --porcelain=2 --branch -z --no-ahead-behind
19:34:30.819086  git status --porcelain=2 --branch -z --no-ahead-behind
19:35:01.065058  git status --porcelain=2 --branch -z --no-ahead-behind
19:35:01.143219  git ls-files --others --exclude-standard -z -- ':(top,literal)recovered.txt'
19:35:31.437974  git status --porcelain=2 --branch -z --no-ahead-behind
19:35:31.594832  git ls-files --others --exclude-standard -z -- ':(top,literal)recovered.txt'
```

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