# Lineage label evidence

**Additional visible change:** connected parent tooltips now name the full current environment; the popup grows and repositions to fit. This is in the scoped diff alongside the row label layout.

PR [#33181](https://git.cafe/pingdotgg/t3code/pull/33181). Component harness — synthetic data; not a full-app, native mobile, or Electron capture.

Before: [4c361199f4](https://git.cafe/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) (`4c361199f47f6ea32a2c14835df392640d0f7c63`). After: [bb4b3fb5dd](https://git.cafe/pingdotgg/t3code/commit/bb4b3fb5dd6b06f73603a458073eea37c644aebe) (`bb4b3fb5dd6b06f73603a458073eea37c644aebe`), the local merge specified by the lead; this capture does not assert that the merge commit was pushed.

**Coverage:** 11/11 scoped matrix IDs: resting R1–R5, D1, D3–D5; recording H1 and H2 (connected R3 / unavailable R4, connected D3 / unavailable D5). All four viewport/theme coordinates captured. R5 includes completed, failed, cancelled, interrupted, idle in one expanded Previous agents panel. D2 was optional and omitted. G1/G2/R6/D6 and unchanged clicks/navigation were excluded by the lead. No required scoped row is unverified.

**Environment for every capture:** Linux x86_64, installed Google Chrome 151.0.7922.108, driven by Vitest 5.0.5 / Playwright 1.60.0; no device emulation; DPR 1; browser zoom and font scaling 100%; production index.css and system sans fonts; reduced motion; Date.now frozen to 2026-01-01T12:00:00Z and fixture timestamps to 2026-01-01T00:00:00Z. Wide viewport 1440×1000 CSS px; narrow 390×844 CSS px. Light/dark applied to html. Cards are 280px wide, lists and row buttons 262px. Narrow resting captures are a lossless 390×1232 full-page composite of two settled viewport frames at scroll y=0 and y=388; their 456px overlap is verified identical. Hover frames and videos retain the actual 390×844 viewport. No T3 server, real user data, or provider turn was used.

**Capture quality:** network idle and document.fonts.ready before screenshots; every stored still was accepted only after two PNG buffers 500ms apart were identical. The discarded iframe-size attempt is not part of this evidence. Captures and both diff variants were opened for visual inspection. Before-side title disappearance and label clipping are the reproduced defect. Videos use Chromium CDP screencast frames and original frame timestamp durations, encoded with FFmpeg H.264.

**Diff definitions:** Diff0 highlights every pixel with any nonzero RGB channel delta in magenta on black, amplifying even a one-level change. DiffT highlights max absolute RGB channel delta >16 in cyan on black. Both use lossless PNG source frames. Pixel counts: [diff-statistics.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bbfb88dcd6a1b931/diff-statistics.json)

## What else changed

- R3/R4 and all R5 rows: titles regain space; long environment labels gain ellipses; complete status words become visible. R5 Failed remains destructive, unavailable R4 remains dimmed.
- R1/R2: the explicit 4px flex gap changes the short-label/status spacing by about 0.5px; title allocation is 0.5px smaller. Text remains readable.
- D3/D4/D5: parent titles regain space and environment labels truncate at the half-row cap. D1 baseline is pixel-identical within its card.
- H2 connected D3: `Open parent agent` becomes `Open parent agent on QA Station with an intentionally very long synthetic environment name`; popup dimensions/placement change with that text.
- H1 connected/unavailable and H2 unavailable tooltip text remains the same; the relationship rows behind them have the layout differences above.
- Zero-threshold diffs were checked for differences outside the changed relationship rows and the changed connected-parent tooltip. No unrelated visible changes were found.

## Paired captures

### 1440×1000, light

| Coordinate / fixture IDs | Before<br>[4c361199f4](https://git.cafe/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) | After<br>[bb4b3fb5dd](https://git.cafe/pingdotgg/t3code/commit/bb4b3fb5dd6b06f73603a458073eea37c644aebe) | Diff0<br>[4c361199f4](https://git.cafe/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) → [bb4b3fb5dd](https://git.cafe/pingdotgg/t3code/commit/bb4b3fb5dd6b06f73603a458073eea37c644aebe) | DiffT16<br>[4c361199f4](https://git.cafe/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) → [bb4b3fb5dd](https://git.cafe/pingdotgg/t3code/commit/bb4b3fb5dd6b06f73603a458073eea37c644aebe) |
|---|---|---|---|---|
| 1440×1000, light; R1–R5, D1, D3–D5 | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8bcdadb596828b27/rest.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d11f7e9841797169/rest.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dc337bcad85ce87a/1440-light-rest-diff0.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/83aab0f15e01da72/1440-light-rest-diffT16.png) |
| 1440×1000, light; H1 / R3 | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a7c25937adacc047/H1-connected-R3.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a53bb41d1c0cf0a6/H1-connected-R3.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e9d14ea2b4ee6a4c/1440-light-H1-connected-R3-diff0.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/05ea53fe64ff439c/1440-light-H1-connected-R3-diffT16.png) |
| 1440×1000, light; H1 / R4 | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/15376034f757b7ea/H1-unavailable-R4.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/788b92ad8ca666d2/H1-unavailable-R4.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/667ee029a8d78429/1440-light-H1-unavailable-R4-diff0.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9f8dc0ea2b1da9f8/1440-light-H1-unavailable-R4-diffT16.png) |
| 1440×1000, light; H2 / D3 | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c6483005c903a66b/H2-connected-D3.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/08986852e8e60981/H2-connected-D3.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/831969ca7d739fb4/1440-light-H2-connected-D3-diff0.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5b9d71169e6d4493/1440-light-H2-connected-D3-diffT16.png) |
| 1440×1000, light; H2 / D5 | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/37e4f36197aae073/H2-unavailable-D5.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/222d6aaa5a1d2604/H2-unavailable-D5.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f30a2393c6af465e/1440-light-H2-unavailable-D5-diff0.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2e0ba69d00a98f2a/1440-light-H2-unavailable-D5-diffT16.png) |

![1440-light-rest-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/94911440d9201280/1440-light-rest-sheet.png)

### Hover recording steps and timestamps

Same sequence on each side: enter R3 → dismiss → enter R4 → dismiss → enter D3 → dismiss → enter D5 → dismiss. No click/navigation was requested. Timestamps are seconds from screencast start, rounded to 0.1s (first-frame alignment within about 0.1s).

| Step | Before | After |
|---|---:|---:|
| H1-connected-R3 — pointer enters row | 0.5s | 0.5s |
| H1-connected-R3 — tooltip visible | 1.4s | 1.4s |
| H1-connected-R3 — pointer leaves; tooltip dismissed | 2.8s | 2.8s |
| H1-unavailable-R4 — pointer enters row | 3.9s | 3.8s |
| H1-unavailable-R4 — tooltip visible | 4.7s | 4.7s |
| H1-unavailable-R4 — pointer leaves; tooltip dismissed | 6.1s | 6.1s |
| H2-connected-D3 — pointer enters row | 7.1s | 7.1s |
| H2-connected-D3 — tooltip visible | 8.0s | 8.0s |
| H2-connected-D3 — pointer leaves; tooltip dismissed | 9.4s | 9.4s |
| H2-unavailable-D5 — pointer enters row | 10.4s | 10.4s |
| H2-unavailable-D5 — tooltip visible | 11.3s | 11.3s |
| H2-unavailable-D5 — pointer leaves; tooltip dismissed | 12.7s | 12.7s |

[before-1440-light-hover.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/110d46ea33387aac/before-1440-light-hover.mp4)
[after-1440-light-hover.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/21291cbca614e0ad/after-1440-light-hover.mp4)

[timeline.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1b1833a3a8411b0f/timeline.json)
[timeline.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/88cb08d53e4eb24f/timeline.json)

### 1440×1000, dark

| Coordinate / fixture IDs | Before<br>[4c361199f4](https://git.cafe/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) | After<br>[bb4b3fb5dd](https://git.cafe/pingdotgg/t3code/commit/bb4b3fb5dd6b06f73603a458073eea37c644aebe) | Diff0<br>[4c361199f4](https://git.cafe/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) → [bb4b3fb5dd](https://git.cafe/pingdotgg/t3code/commit/bb4b3fb5dd6b06f73603a458073eea37c644aebe) | DiffT16<br>[4c361199f4](https://git.cafe/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) → [bb4b3fb5dd](https://git.cafe/pingdotgg/t3code/commit/bb4b3fb5dd6b06f73603a458073eea37c644aebe) |
|---|---|---|---|---|
| 1440×1000, dark; R1–R5, D1, D3–D5 | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e769be3e79310767/rest.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ba511b38767bb512/rest.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/308b14e2bfed3228/1440-dark-rest-diff0.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/97188cea18689f79/1440-dark-rest-diffT16.png) |
| 1440×1000, dark; H1 / R3 | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e80fbd146ef49d03/H1-connected-R3.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0b3a9e00c06bf70c/H1-connected-R3.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3170a2f278a78f0f/1440-dark-H1-connected-R3-diff0.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/90a2a170ed69662e/1440-dark-H1-connected-R3-diffT16.png) |
| 1440×1000, dark; H1 / R4 | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f6b5cede00fe0ee2/H1-unavailable-R4.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/052987de41dd1d82/H1-unavailable-R4.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2bc99e687f229b7f/1440-dark-H1-unavailable-R4-diff0.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/906ea1bee0e65486/1440-dark-H1-unavailable-R4-diffT16.png) |
| 1440×1000, dark; H2 / D3 | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5cd81bea548fd889/H2-connected-D3.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8490e2b5c2a12770/H2-connected-D3.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/631fcfd3d41a7f26/1440-dark-H2-connected-D3-diff0.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0ed5c865a37cff8c/1440-dark-H2-connected-D3-diffT16.png) |
| 1440×1000, dark; H2 / D5 | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2e66b6f5e36ce4be/H2-unavailable-D5.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ddcefa617472f5f7/H2-unavailable-D5.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f4068be85e4047b8/1440-dark-H2-unavailable-D5-diff0.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2d24005d68298a12/1440-dark-H2-unavailable-D5-diffT16.png) |

![1440-dark-rest-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7fdf6e9bdbc2f8c4/1440-dark-rest-sheet.png)

### Hover recording steps and timestamps

Same sequence on each side: enter R3 → dismiss → enter R4 → dismiss → enter D3 → dismiss → enter D5 → dismiss. No click/navigation was requested. Timestamps are seconds from screencast start, rounded to 0.1s (first-frame alignment within about 0.1s).

| Step | Before | After |
|---|---:|---:|
| H1-connected-R3 — pointer enters row | 0.5s | 0.5s |
| H1-connected-R3 — tooltip visible | 1.4s | 1.4s |
| H1-connected-R3 — pointer leaves; tooltip dismissed | 2.8s | 2.8s |
| H1-unavailable-R4 — pointer enters row | 3.8s | 3.9s |
| H1-unavailable-R4 — tooltip visible | 4.7s | 4.8s |
| H1-unavailable-R4 — pointer leaves; tooltip dismissed | 6.1s | 6.1s |
| H2-connected-D3 — pointer enters row | 7.1s | 7.2s |
| H2-connected-D3 — tooltip visible | 8.0s | 8.1s |
| H2-connected-D3 — pointer leaves; tooltip dismissed | 9.4s | 9.5s |
| H2-unavailable-D5 — pointer enters row | 10.4s | 10.5s |
| H2-unavailable-D5 — tooltip visible | 11.3s | 11.4s |
| H2-unavailable-D5 — pointer leaves; tooltip dismissed | 12.7s | 12.8s |

[before-1440-dark-hover.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2ae7f8385d18a027/before-1440-dark-hover.mp4)
[after-1440-dark-hover.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d7fc3e9cdbed0f39/after-1440-dark-hover.mp4)

[timeline.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3856951dbe531c23/timeline.json)
[timeline.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e40216dcb61a6f45/timeline.json)

### 390×844 (rest full page 390×1232), light

| Coordinate / fixture IDs | Before<br>[4c361199f4](https://git.cafe/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) | After<br>[bb4b3fb5dd](https://git.cafe/pingdotgg/t3code/commit/bb4b3fb5dd6b06f73603a458073eea37c644aebe) | Diff0<br>[4c361199f4](https://git.cafe/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) → [bb4b3fb5dd](https://git.cafe/pingdotgg/t3code/commit/bb4b3fb5dd6b06f73603a458073eea37c644aebe) | DiffT16<br>[4c361199f4](https://git.cafe/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) → [bb4b3fb5dd](https://git.cafe/pingdotgg/t3code/commit/bb4b3fb5dd6b06f73603a458073eea37c644aebe) |
|---|---|---|---|---|
| 390×844 (rest full page 390×1232), light; R1–R5, D1, D3–D5 | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c2fd37d557966703/rest.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/affb80d0b1864571/rest.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/99e777795644150a/390-light-rest-diff0.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fb912e72d5ed1903/390-light-rest-diffT16.png) |
| 390×844 (rest full page 390×1232), light; H1 / R3 | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/47a83ae518426677/H1-connected-R3.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/05d76e16ae7bb5fb/H1-connected-R3.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4ef3efb9343758de/390-light-H1-connected-R3-diff0.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8179fd7c964506ca/390-light-H1-connected-R3-diffT16.png) |
| 390×844 (rest full page 390×1232), light; H1 / R4 | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aed2d0f5f5738b73/H1-unavailable-R4.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b31bd8400ae6d38c/H1-unavailable-R4.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c1e04ed4a12afb37/390-light-H1-unavailable-R4-diff0.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0784250435a06617/390-light-H1-unavailable-R4-diffT16.png) |
| 390×844 (rest full page 390×1232), light; H2 / D3 | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c017766f2db0fdec/H2-connected-D3.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/008f198fae0e6e69/H2-connected-D3.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a2b557f6ac468266/390-light-H2-connected-D3-diff0.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/86ac0eabb5b953c4/390-light-H2-connected-D3-diffT16.png) |
| 390×844 (rest full page 390×1232), light; H2 / D5 | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/903f5088f4711c12/H2-unavailable-D5.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ef37c0386fc4a385/H2-unavailable-D5.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e9791155016a12fc/390-light-H2-unavailable-D5-diff0.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/489fd3fd06680c86/390-light-H2-unavailable-D5-diffT16.png) |

![390-light-rest-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/752f3db9f85bf797/390-light-rest-sheet.png)

### Hover recording steps and timestamps

Same sequence on each side: enter R3 → dismiss → enter R4 → dismiss → enter D3 → dismiss → enter D5 → dismiss. No click/navigation was requested. Timestamps are seconds from screencast start, rounded to 0.1s (first-frame alignment within about 0.1s).

| Step | Before | After |
|---|---:|---:|
| H1-connected-R3 — pointer enters row | 0.5s | 0.5s |
| H1-connected-R3 — tooltip visible | 1.4s | 1.4s |
| H1-connected-R3 — pointer leaves; tooltip dismissed | 2.8s | 2.8s |
| H1-unavailable-R4 — pointer enters row | 3.8s | 3.8s |
| H1-unavailable-R4 — tooltip visible | 4.7s | 4.7s |
| H1-unavailable-R4 — pointer leaves; tooltip dismissed | 6.0s | 6.1s |
| H2-connected-D3 — pointer enters row | 7.1s | 7.1s |
| H2-connected-D3 — tooltip visible | 7.9s | 8.0s |
| H2-connected-D3 — pointer leaves; tooltip dismissed | 9.3s | 9.4s |
| H2-unavailable-D5 — pointer enters row | 10.4s | 10.4s |
| H2-unavailable-D5 — tooltip visible | 11.2s | 11.3s |
| H2-unavailable-D5 — pointer leaves; tooltip dismissed | 12.6s | 12.7s |

[before-390-light-hover.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4012a0f28acfef16/before-390-light-hover.mp4)
[after-390-light-hover.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/98ccb50f9f002456/after-390-light-hover.mp4)

[timeline.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/587a070d455e8f17/timeline.json)
[timeline.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/65417295d3104586/timeline.json)

### 390×844 (rest full page 390×1232), dark

| Coordinate / fixture IDs | Before<br>[4c361199f4](https://git.cafe/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) | After<br>[bb4b3fb5dd](https://git.cafe/pingdotgg/t3code/commit/bb4b3fb5dd6b06f73603a458073eea37c644aebe) | Diff0<br>[4c361199f4](https://git.cafe/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) → [bb4b3fb5dd](https://git.cafe/pingdotgg/t3code/commit/bb4b3fb5dd6b06f73603a458073eea37c644aebe) | DiffT16<br>[4c361199f4](https://git.cafe/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) → [bb4b3fb5dd](https://git.cafe/pingdotgg/t3code/commit/bb4b3fb5dd6b06f73603a458073eea37c644aebe) |
|---|---|---|---|---|
| 390×844 (rest full page 390×1232), dark; R1–R5, D1, D3–D5 | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b49cec6e2331b906/rest.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/896a591a06f4ab47/rest.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/94f957f1ee6a3f7c/390-dark-rest-diff0.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6bd663ed69580a84/390-dark-rest-diffT16.png) |
| 390×844 (rest full page 390×1232), dark; H1 / R3 | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/575780a73d02dbc5/H1-connected-R3.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a8520a72ed2cc114/H1-connected-R3.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f67cef53ec32ceec/390-dark-H1-connected-R3-diff0.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/00e873d1ea6aa41b/390-dark-H1-connected-R3-diffT16.png) |
| 390×844 (rest full page 390×1232), dark; H1 / R4 | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/83df200157b12dd4/H1-unavailable-R4.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5f5850f245de1ec1/H1-unavailable-R4.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/df2d129bf4f396ed/390-dark-H1-unavailable-R4-diff0.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/83d83452ce7a9097/390-dark-H1-unavailable-R4-diffT16.png) |
| 390×844 (rest full page 390×1232), dark; H2 / D3 | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d468e286f17ee041/H2-connected-D3.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6c5ff7c9b8dc65fe/H2-connected-D3.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2ed5adcc88cd072b/390-dark-H2-connected-D3-diff0.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f43206674d5537bf/390-dark-H2-connected-D3-diffT16.png) |
| 390×844 (rest full page 390×1232), dark; H2 / D5 | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e6ffc83876a6a643/H2-unavailable-D5.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b5e9010c2a16034c/H2-unavailable-D5.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ab5a721c5569bedd/390-dark-H2-unavailable-D5-diff0.png) | [image](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c189510ee8b8eb22/390-dark-H2-unavailable-D5-diffT16.png) |

![390-dark-rest-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3bb14c47be8039e2/390-dark-rest-sheet.png)

### Hover recording steps and timestamps

Same sequence on each side: enter R3 → dismiss → enter R4 → dismiss → enter D3 → dismiss → enter D5 → dismiss. No click/navigation was requested. Timestamps are seconds from screencast start, rounded to 0.1s (first-frame alignment within about 0.1s).

| Step | Before | After |
|---|---:|---:|
| H1-connected-R3 — pointer enters row | 0.5s | 0.5s |
| H1-connected-R3 — tooltip visible | 1.4s | 1.4s |
| H1-connected-R3 — pointer leaves; tooltip dismissed | 2.8s | 2.8s |
| H1-unavailable-R4 — pointer enters row | 3.8s | 3.8s |
| H1-unavailable-R4 — tooltip visible | 4.7s | 4.7s |
| H1-unavailable-R4 — pointer leaves; tooltip dismissed | 6.1s | 6.1s |
| H2-connected-D3 — pointer enters row | 7.1s | 7.1s |
| H2-connected-D3 — tooltip visible | 7.9s | 8.1s |
| H2-connected-D3 — pointer leaves; tooltip dismissed | 9.3s | 9.7s |
| H2-unavailable-D5 — pointer enters row | 10.4s | 10.9s |
| H2-unavailable-D5 — tooltip visible | 11.2s | 11.8s |
| H2-unavailable-D5 — pointer leaves; tooltip dismissed | 12.6s | 13.4s |

[before-390-dark-hover.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6b4e6762f5fd8d23/before-390-dark-hover.mp4)
[after-390-dark-hover.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1a7da6035d3479c4/after-390-dark-hover.mp4)

[timeline.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b5c861cefcc540a1/timeline.json)
[timeline.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e2fe14121d4d2dfd/timeline.json)

## After geometry — no horizontal overflow

Every coordinate has identical after geometry. List and row values below are **scrollWidth / clientWidth** in CSS px. Every title is >0. The production card is 280px wide; row button bounding width is 262px. Each coordinate’s raw geometry is linked below.

| Fixture / row | List S/C | Row S/C | Title width |
|---|---:|---:|---:|
| R1 | 262/262 | 262/262 | 116.484375 |
| R2 | 262/262 | 262/262 | 118.312500 |
| R3 | 262/262 | 262/262 | 84.000000 |
| R4 | 262/262 | 262/262 | 84.000000 |
| R5 completed | 262/262 | 262/262 | 84.000000 |
| R5 failed | 262/262 | 262/262 | 84.000000 |
| R5 cancelled | 262/262 | 262/262 | 84.000000 |
| R5 interrupted | 262/262 | 262/262 | 84.000000 |
| R5 idle | 262/262 | 262/262 | 84.000000 |
| D1 | 262/262 | 262/262 | 170.609375 |
| D3 | 262/262 | 262/262 | 84.000000 |
| D4 | 262/262 | 262/262 | 84.000000 |
| D5 | 262/262 | 262/262 | 84.000000 |

[geometry.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b533913e47beaa87/geometry.json)
[geometry.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/68aac9110520e4b8/geometry.json)
[geometry.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dc01adf8852c5723/geometry.json)
[geometry.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/44292dc055f28775/geometry.json)

## Reproduction sources and results

The exact same temporary harness and config were used in both checkouts. Eight matrix capture runs passed. No production code edits or commits were made. The temporary harness/config were removed from both checkouts, the extra before worktree was removed, and all started test/browser processes exited. AI-assisted; verified with the tests and tools listed above.

[ThreadRelationshipsEvidence.browser.test.tsx](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/716f1e2bf96e4438/ThreadRelationshipsEvidence.browser.test.tsx)
[evidence.config.ts](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8ca746572b89023b/evidence.config.ts)
[create-harness.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/afb223db357a84ad/create-harness.py)
[run-matrix.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c7bcdf5970bf0975/run-matrix.py)
[process-evidence.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d6301e14dab8da65/process-evidence.py)
[build-index.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4b72ec4bcc55cff3/build-index.py)
[upload-evidence.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/75a75f03e29ae516/upload-evidence.py)
[verify-evidence.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e542a361dd3f15e6/verify-evidence.py)

[results.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2d7a55f985daa852/results.json)
[verification.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c99e9705646da158/verification.json)

Raw archive contains synthetic raw screencast frames, tile frames, logs, sources, and clearly excluded calibration attempts: [raw-synthetic-capture.tar.gz](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/12144101d0636ab0/raw-synthetic-capture.tar.gz)

## Artifact links — ghdrop output verbatim

![1440-dark-H1-connected-R3-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3170a2f278a78f0f/1440-dark-H1-connected-R3-diff0.png)
![1440-dark-H1-connected-R3-diffT16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/90a2a170ed69662e/1440-dark-H1-connected-R3-diffT16.png)
![1440-dark-H1-connected-R3-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d701e0ff0c17ac7f/1440-dark-H1-connected-R3-sheet.png)
![1440-dark-H1-unavailable-R4-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2bc99e687f229b7f/1440-dark-H1-unavailable-R4-diff0.png)
![1440-dark-H1-unavailable-R4-diffT16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/906ea1bee0e65486/1440-dark-H1-unavailable-R4-diffT16.png)
![1440-dark-H1-unavailable-R4-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dd4acc3c62ea0ae5/1440-dark-H1-unavailable-R4-sheet.png)
![1440-dark-H2-connected-D3-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/631fcfd3d41a7f26/1440-dark-H2-connected-D3-diff0.png)
![1440-dark-H2-connected-D3-diffT16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0ed5c865a37cff8c/1440-dark-H2-connected-D3-diffT16.png)
![1440-dark-H2-connected-D3-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/33c511ce4c96aeca/1440-dark-H2-connected-D3-sheet.png)
![1440-dark-H2-unavailable-D5-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f4068be85e4047b8/1440-dark-H2-unavailable-D5-diff0.png)
![1440-dark-H2-unavailable-D5-diffT16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2d24005d68298a12/1440-dark-H2-unavailable-D5-diffT16.png)
![1440-dark-H2-unavailable-D5-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/77b59eaf6d9b1931/1440-dark-H2-unavailable-D5-sheet.png)
![1440-dark-rest-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/308b14e2bfed3228/1440-dark-rest-diff0.png)
![1440-dark-rest-diffT16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/97188cea18689f79/1440-dark-rest-diffT16.png)
![1440-dark-rest-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7fdf6e9bdbc2f8c4/1440-dark-rest-sheet.png)
![1440-light-H1-connected-R3-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e9d14ea2b4ee6a4c/1440-light-H1-connected-R3-diff0.png)
![1440-light-H1-connected-R3-diffT16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/05ea53fe64ff439c/1440-light-H1-connected-R3-diffT16.png)
![1440-light-H1-connected-R3-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/12361e0b1932f579/1440-light-H1-connected-R3-sheet.png)
![1440-light-H1-unavailable-R4-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/667ee029a8d78429/1440-light-H1-unavailable-R4-diff0.png)
![1440-light-H1-unavailable-R4-diffT16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9f8dc0ea2b1da9f8/1440-light-H1-unavailable-R4-diffT16.png)
![1440-light-H1-unavailable-R4-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5634ad47d20bad70/1440-light-H1-unavailable-R4-sheet.png)
![1440-light-H2-connected-D3-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/831969ca7d739fb4/1440-light-H2-connected-D3-diff0.png)
![1440-light-H2-connected-D3-diffT16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5b9d71169e6d4493/1440-light-H2-connected-D3-diffT16.png)
![1440-light-H2-connected-D3-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0fee43cdebe0ef55/1440-light-H2-connected-D3-sheet.png)
![1440-light-H2-unavailable-D5-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f30a2393c6af465e/1440-light-H2-unavailable-D5-diff0.png)
![1440-light-H2-unavailable-D5-diffT16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2e0ba69d00a98f2a/1440-light-H2-unavailable-D5-diffT16.png)
![1440-light-H2-unavailable-D5-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c538db068df3934d/1440-light-H2-unavailable-D5-sheet.png)
![1440-light-rest-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dc337bcad85ce87a/1440-light-rest-diff0.png)
![1440-light-rest-diffT16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/83aab0f15e01da72/1440-light-rest-diffT16.png)
![1440-light-rest-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/94911440d9201280/1440-light-rest-sheet.png)
![390-dark-H1-connected-R3-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f67cef53ec32ceec/390-dark-H1-connected-R3-diff0.png)
![390-dark-H1-connected-R3-diffT16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/00e873d1ea6aa41b/390-dark-H1-connected-R3-diffT16.png)
![390-dark-H1-connected-R3-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0739d96b7c9405d2/390-dark-H1-connected-R3-sheet.png)
![390-dark-H1-unavailable-R4-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/df2d129bf4f396ed/390-dark-H1-unavailable-R4-diff0.png)
![390-dark-H1-unavailable-R4-diffT16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/83d83452ce7a9097/390-dark-H1-unavailable-R4-diffT16.png)
![390-dark-H1-unavailable-R4-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4b88cb636292eefc/390-dark-H1-unavailable-R4-sheet.png)
![390-dark-H2-connected-D3-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2ed5adcc88cd072b/390-dark-H2-connected-D3-diff0.png)
![390-dark-H2-connected-D3-diffT16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f43206674d5537bf/390-dark-H2-connected-D3-diffT16.png)
![390-dark-H2-connected-D3-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a4948775b8609203/390-dark-H2-connected-D3-sheet.png)
![390-dark-H2-unavailable-D5-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ab5a721c5569bedd/390-dark-H2-unavailable-D5-diff0.png)
![390-dark-H2-unavailable-D5-diffT16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c189510ee8b8eb22/390-dark-H2-unavailable-D5-diffT16.png)
![390-dark-H2-unavailable-D5-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b37aa741afbeed33/390-dark-H2-unavailable-D5-sheet.png)
![390-dark-rest-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/94f957f1ee6a3f7c/390-dark-rest-diff0.png)
![390-dark-rest-diffT16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6bd663ed69580a84/390-dark-rest-diffT16.png)
![390-dark-rest-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3bb14c47be8039e2/390-dark-rest-sheet.png)
![390-light-H1-connected-R3-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4ef3efb9343758de/390-light-H1-connected-R3-diff0.png)
![390-light-H1-connected-R3-diffT16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8179fd7c964506ca/390-light-H1-connected-R3-diffT16.png)
![390-light-H1-connected-R3-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/517139d391a9d07a/390-light-H1-connected-R3-sheet.png)
![390-light-H1-unavailable-R4-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c1e04ed4a12afb37/390-light-H1-unavailable-R4-diff0.png)
![390-light-H1-unavailable-R4-diffT16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0784250435a06617/390-light-H1-unavailable-R4-diffT16.png)
![390-light-H1-unavailable-R4-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1c33d218f188d79c/390-light-H1-unavailable-R4-sheet.png)
![390-light-H2-connected-D3-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a2b557f6ac468266/390-light-H2-connected-D3-diff0.png)
![390-light-H2-connected-D3-diffT16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/86ac0eabb5b953c4/390-light-H2-connected-D3-diffT16.png)
![390-light-H2-connected-D3-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1205dc7dde43ab30/390-light-H2-connected-D3-sheet.png)
![390-light-H2-unavailable-D5-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e9791155016a12fc/390-light-H2-unavailable-D5-diff0.png)
![390-light-H2-unavailable-D5-diffT16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/489fd3fd06680c86/390-light-H2-unavailable-D5-diffT16.png)
![390-light-H2-unavailable-D5-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f7da8487f4b73788/390-light-H2-unavailable-D5-sheet.png)
![390-light-rest-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/99e777795644150a/390-light-rest-diff0.png)
![390-light-rest-diffT16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fb912e72d5ed1903/390-light-rest-diffT16.png)
![390-light-rest-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/752f3db9f85bf797/390-light-rest-sheet.png)
![after-1440-dark-hover-storyboard.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2df2dae7ea8bdc21/after-1440-dark-hover-storyboard.png)
![after-1440-light-hover-storyboard.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/77a10a17867f5ce9/after-1440-light-hover-storyboard.png)
![after-390-dark-hover-storyboard.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f4ecc8134335fb5b/after-390-dark-hover-storyboard.png)
![after-390-light-hover-storyboard.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c06738a20fd1aa35/after-390-light-hover-storyboard.png)
![before-1440-dark-hover-storyboard.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0d47e6c2c7706f48/before-1440-dark-hover-storyboard.png)
![before-1440-light-hover-storyboard.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a0db0d52c28baec1/before-1440-light-hover-storyboard.png)
![before-390-dark-hover-storyboard.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c29f9f2f447a6419/before-390-dark-hover-storyboard.png)
![before-390-light-hover-storyboard.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/56cd3db8bdd7c94e/before-390-light-hover-storyboard.png)
[after-1440-dark-hover.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d7fc3e9cdbed0f39/after-1440-dark-hover.mp4)
[after-1440-light-hover.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/21291cbca614e0ad/after-1440-light-hover.mp4)
[after-390-dark-hover.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1a7da6035d3479c4/after-390-dark-hover.mp4)
[after-390-light-hover.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/98ccb50f9f002456/after-390-light-hover.mp4)
[before-1440-dark-hover.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2ae7f8385d18a027/before-1440-dark-hover.mp4)
[before-1440-light-hover.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/110d46ea33387aac/before-1440-light-hover.mp4)
[before-390-dark-hover.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6b4e6762f5fd8d23/before-390-dark-hover.mp4)
[before-390-light-hover.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4012a0f28acfef16/before-390-light-hover.mp4)
[diff-statistics.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bbfb88dcd6a1b931/diff-statistics.json)
[verification.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c99e9705646da158/verification.json)
![H1-connected-R3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a7c25937adacc047/H1-connected-R3.png)
![H1-unavailable-R4.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/15376034f757b7ea/H1-unavailable-R4.png)
![H2-connected-D3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c6483005c903a66b/H2-connected-D3.png)
![H2-unavailable-D5.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/37e4f36197aae073/H2-unavailable-D5.png)
![rest.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8bcdadb596828b27/rest.png)
[geometry.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ba80d8ebcb038897/geometry.json)
[timeline.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1b1833a3a8411b0f/timeline.json)
[before-1440-light.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a855630d0a0b1deb/before-1440-light.log)
![H1-connected-R3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e80fbd146ef49d03/H1-connected-R3.png)
![H1-unavailable-R4.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f6b5cede00fe0ee2/H1-unavailable-R4.png)
![H2-connected-D3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5cd81bea548fd889/H2-connected-D3.png)
![H2-unavailable-D5.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2e66b6f5e36ce4be/H2-unavailable-D5.png)
![rest.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e769be3e79310767/rest.png)
[geometry.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d9b5ceaf5ccd3ae7/geometry.json)
[timeline.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3856951dbe531c23/timeline.json)
[before-1440-dark.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/888166738ef1ba49/before-1440-dark.log)
![H1-connected-R3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/47a83ae518426677/H1-connected-R3.png)
![H1-unavailable-R4.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aed2d0f5f5738b73/H1-unavailable-R4.png)
![H2-connected-D3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c017766f2db0fdec/H2-connected-D3.png)
![H2-unavailable-D5.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/903f5088f4711c12/H2-unavailable-D5.png)
![rest-tile-0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/49a5a500a8cb8a53/rest-tile-0.png)
![rest-tile-1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fbb33df889425993/rest-tile-1.png)
![rest.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c2fd37d557966703/rest.png)
[geometry.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6bbfd853ea7f0a84/geometry.json)
[timeline.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/587a070d455e8f17/timeline.json)
[before-390-light.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6b7bab3ae8c496f7/before-390-light.log)
![H1-connected-R3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/575780a73d02dbc5/H1-connected-R3.png)
![H1-unavailable-R4.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/83df200157b12dd4/H1-unavailable-R4.png)
![H2-connected-D3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d468e286f17ee041/H2-connected-D3.png)
![H2-unavailable-D5.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e6ffc83876a6a643/H2-unavailable-D5.png)
![rest-tile-0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/174e432e48aea0ef/rest-tile-0.png)
![rest-tile-1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/056dac5eca24bc15/rest-tile-1.png)
![rest.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b49cec6e2331b906/rest.png)
[geometry.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/62a2196743c8ba71/geometry.json)
[timeline.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b5c861cefcc540a1/timeline.json)
[before-390-dark.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/62ecdcdf1d62a7cd/before-390-dark.log)
![H1-connected-R3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a53bb41d1c0cf0a6/H1-connected-R3.png)
![H1-unavailable-R4.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/788b92ad8ca666d2/H1-unavailable-R4.png)
![H2-connected-D3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/08986852e8e60981/H2-connected-D3.png)
![H2-unavailable-D5.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/222d6aaa5a1d2604/H2-unavailable-D5.png)
![rest.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d11f7e9841797169/rest.png)
[geometry.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b533913e47beaa87/geometry.json)
[timeline.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/88cb08d53e4eb24f/timeline.json)
[after-1440-light.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7b426f86c74733e5/after-1440-light.log)
![H1-connected-R3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0b3a9e00c06bf70c/H1-connected-R3.png)
![H1-unavailable-R4.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/052987de41dd1d82/H1-unavailable-R4.png)
![H2-connected-D3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8490e2b5c2a12770/H2-connected-D3.png)
![H2-unavailable-D5.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ddcefa617472f5f7/H2-unavailable-D5.png)
![rest.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ba511b38767bb512/rest.png)
[geometry.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/68aac9110520e4b8/geometry.json)
[timeline.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e40216dcb61a6f45/timeline.json)
[after-1440-dark.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/74a64c3300ec23c7/after-1440-dark.log)
![H1-connected-R3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/05d76e16ae7bb5fb/H1-connected-R3.png)
![H1-unavailable-R4.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b31bd8400ae6d38c/H1-unavailable-R4.png)
![H2-connected-D3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/008f198fae0e6e69/H2-connected-D3.png)
![H2-unavailable-D5.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ef37c0386fc4a385/H2-unavailable-D5.png)
![rest-tile-0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c07aaa1eab9e3b04/rest-tile-0.png)
![rest-tile-1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/787365d4566bf9e3/rest-tile-1.png)
![rest.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/affb80d0b1864571/rest.png)
[geometry.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dc01adf8852c5723/geometry.json)
[timeline.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/65417295d3104586/timeline.json)
[after-390-light.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/12a7944b9601c772/after-390-light.log)
![H1-connected-R3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a8520a72ed2cc114/H1-connected-R3.png)
![H1-unavailable-R4.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5f5850f245de1ec1/H1-unavailable-R4.png)
![H2-connected-D3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6c5ff7c9b8dc65fe/H2-connected-D3.png)
![H2-unavailable-D5.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b5e9010c2a16034c/H2-unavailable-D5.png)
![rest-tile-0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e430557154eabbe0/rest-tile-0.png)
![rest-tile-1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/90deb6c51bf152f7/rest-tile-1.png)
![rest.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/896a591a06f4ab47/rest.png)
[geometry.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/44292dc055f28775/geometry.json)
[timeline.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e2fe14121d4d2dfd/timeline.json)
[after-390-dark.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/61629b0e1227e018/after-390-dark.log)
[results.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2d7a55f985daa852/results.json)
[ThreadRelationshipsEvidence.browser.test.tsx](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/716f1e2bf96e4438/ThreadRelationshipsEvidence.browser.test.tsx)
[evidence.config.ts](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8ca746572b89023b/evidence.config.ts)
[create-harness.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/afb223db357a84ad/create-harness.py)
[run-matrix.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c7bcdf5970bf0975/run-matrix.py)
[process-evidence.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d6301e14dab8da65/process-evidence.py)
[build-index.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4b72ec4bcc55cff3/build-index.py)
[upload-evidence.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/75a75f03e29ae516/upload-evidence.py)
[verify-evidence.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e542a361dd3f15e6/verify-evidence.py)
[raw-synthetic-capture.tar.gz](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/12144101d0636ab0/raw-synthetic-capture.tar.gz)


FRICTION:
tool | Playwright’s bundled Chromium was absent; used installed Google Chrome consistently on both sides | preinstall the pinned Playwright browser or document the installed executable.
runbook | Vitest’s default iframe viewport did not follow Playwright page sizing; discarded initial frames and set browser.viewport explicitly | specify both runner iframe and browser page viewport.
other | Initial synthetic subagent updatedAt was an ISO string; corrected it to the projection fixture’s Effect timestamp | copy the projection fixture timestamp type in the example.
