# D1 — failed delegated child

Captured: settled parent row and child at both requested widths/themes, plus before/after hover and navigation recordings. The recordings start with the child already failed; they show timeline hover, relationships expansion/hover and opening the child. They do not claim to record the child process's live transition. Runtime transcripts prove the actual provider subprocess path and retained partial reply. The held parent is explicitly stopped after child completion, so static captures have no active spinner.

Environment: Playwright Chromium 148.0.7778.96, Linux x86_64, real dev web app. Recording viewport 1280×800 dark. Static viewports 1440×900 and 390×844, light and dark; the narrow web viewport is a resized desktop browser.

What else changed:

- The parent row's result changes from “Provider turn failed.” to the SIGABRT sentence. Its failed status, title, 0s elapsed and partial parent reply are unchanged.
- The new result is longer: the existing narrow row truncates it with ellipsis; tooltips become wider and move to retain their anchor/collision rules, with existing middle truncation of the result.
- In the opened child, error text changes in the timeline and floating thread error banner. The banner widens, and at 390 wraps; the error details wrap and move the following action/timestamp row down. The wider/taller banner overlaps more of the existing prompt/context chip. These are consequences of the changed sentence, not unrelated UI edits.
- The zero-threshold differences stay within those text, wrapping, tooltip and banner regions.

PR [#26086](https://git.cafe/pingdotgg/t3code/pull/26086) ([GitHub mirror](https://github.com/pingdotgg/t3code/pull/26086)). Before [d1c4b52](https://git.cafe/pingdotgg/t3code/commit/d1c4b52b7c7c7e1b7637ec47e4c959ff0c2d8d99); after [652e9c1](https://git.cafe/pingdotgg/t3code/commit/652e9c18cee800df7e255916365967ba211097ae). Synthetic fixtures only; no tracked edits, component harnesses or live databases.

Clock: server and renderer wall time fixed at 2026-10-27 12:00:00 UTC after app boot; timers continue. DPR 1, font scaling 1 (root 16px), no device emulation, reduced motion. Full surfaces; no crops. Each still waited for network idle and fonts, then required two pixel-identical frames at least 500ms apart. Every selected capture and diff was opened for visual inspection; recordings were reviewed at one-second intervals and at their captured milestones.

Diff0 marks any changed channel (>0/255) in full magenta, including one-level changes. DiffT uses >16/255 per channel. Dim grayscale is the before frame. These are whole-frame differences without alignment, masking or region exclusions.

## Scripted interaction and timestamps

| Scripted step | Before timestamp | After timestamp |
|---|---:|---:|
| Single failed child row in settled parent timeline | 0s | 0s |
| Hover failed child; tooltip shows result | 1.168s | 1.282s |
| Expand relationships view Previous agents | 3.191s | 3.222s |
| Hover failed child in relationships view | 4.521s | 4.511s |
| Open child thread; partial reply and Provider error visible | 8.603s | 8.245s |
| Stop held parent fixture after observing child failure | 10.256s | 9.83s |

| Before [d1c4b52](https://git.cafe/pingdotgg/t3code/commit/d1c4b52b7c7c7e1b7637ec47e4c959ff0c2d8d99) | After [652e9c1](https://git.cafe/pingdotgg/t3code/commit/652e9c18cee800df7e255916365967ba211097ae) |
|---|---|
| [D1-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f7152e9b1817a6ac/D1-before.mp4) | [D1-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b917b4305b737a89/D1-after.mp4) |

[steps.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/109c84616ed09635/steps.json), [steps.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ec364ef45d6eb83f/steps.json)

## Whole-surface milestone comparisons

| State / viewport / theme | Before<br>[d1c4b52](https://git.cafe/pingdotgg/t3code/commit/d1c4b52b7c7c7e1b7637ec47e4c959ff0c2d8d99) | After<br>[652e9c1](https://git.cafe/pingdotgg/t3code/commit/652e9c18cee800df7e255916365967ba211097ae) | Diff0<br>[d1c4b52](https://git.cafe/pingdotgg/t3code/commit/d1c4b52b7c7c7e1b7637ec47e4c959ff0c2d8d99) → [652e9c1](https://git.cafe/pingdotgg/t3code/commit/652e9c18cee800df7e255916365967ba211097ae) | DiffT = 16/255<br>[d1c4b52](https://git.cafe/pingdotgg/t3code/commit/d1c4b52b7c7c7e1b7637ec47e4c959ff0c2d8d99) → [652e9c1](https://git.cafe/pingdotgg/t3code/commit/652e9c18cee800df7e255916365967ba211097ae) |
|---|---|---|---|---|
| parent-1440-light / 1440×900 / light | ![parent-1440-light-before.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d36bf9eb444eacae/parent-1440-light-before.png) | ![parent-1440-light-after.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/43bfa69dc49c6b57/parent-1440-light-after.png) | ![parent-1440-light-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/09f8259dc6947bc3/parent-1440-light-diff0.png) | ![parent-1440-light-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0a6d1c9cf7d61c9b/parent-1440-light-diff16.png) |
| parent-1440-dark / 1440×900 / dark | ![parent-1440-dark-before.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/de49700501e0ab73/parent-1440-dark-before.png) | ![parent-1440-dark-after.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/635e05866b6669fa/parent-1440-dark-after.png) | ![parent-1440-dark-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1b81597e575b1635/parent-1440-dark-diff0.png) | ![parent-1440-dark-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e960c9328c3d463a/parent-1440-dark-diff16.png) |
| parent-390-light / 390×844 / light | ![parent-390-light-before.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/02bdfa2eb08d6ef4/parent-390-light-before.png) | ![parent-390-light-after.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1a086ad73c2b8e51/parent-390-light-after.png) | ![parent-390-light-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f5b682958f3a412f/parent-390-light-diff0.png) | ![parent-390-light-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/27885386fbf16714/parent-390-light-diff16.png) |
| parent-390-dark / 390×844 / dark | ![parent-390-dark-before.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4e1152e2dbb58de2/parent-390-dark-before.png) | ![parent-390-dark-after.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6999d470789dc50e/parent-390-dark-after.png) | ![parent-390-dark-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c1b5daf91f003824/parent-390-dark-diff0.png) | ![parent-390-dark-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3bafe0aeb548b0a8/parent-390-dark-diff16.png) |
| child-1440-light / 1440×900 / light | ![child-1440-light-before.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/71b61fee8dc62647/child-1440-light-before.png) | ![child-1440-light-after.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fe0e086e76ef6607/child-1440-light-after.png) | ![child-1440-light-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0c38ecc8295b6e0b/child-1440-light-diff0.png) | ![child-1440-light-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/20c517ddd93c1b6f/child-1440-light-diff16.png) |
| child-1440-dark / 1440×900 / dark | ![child-1440-dark-before.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/84390e6872c09e55/child-1440-dark-before.png) | ![child-1440-dark-after.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/97c90ff5dff20e42/child-1440-dark-after.png) | ![child-1440-dark-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/99678c102433a5bb/child-1440-dark-diff0.png) | ![child-1440-dark-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ffa3423d1bad9cca/child-1440-dark-diff16.png) |
| child-390-light / 390×844 / light | ![child-390-light-before.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/463936956e0aefc1/child-390-light-before.png) | ![child-390-light-after.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5372f50fb363f165/child-390-light-after.png) | ![child-390-light-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/74a82c60a4a31beb/child-390-light-diff0.png) | ![child-390-light-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2312176bf20e793c/child-390-light-diff16.png) |
| child-390-dark / 390×844 / dark | ![child-390-dark-before.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f02f80388edd530b/child-390-dark-before.png) | ![child-390-dark-after.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d09980d17fbaf0df/child-390-dark-after.png) | ![child-390-dark-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/52868d61c5714365/child-390-dark-diff0.png) | ![child-390-dark-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/91d57936f36043ee/child-390-dark-diff16.png) |

Recording milestones:

| State / viewport / theme | Before<br>[d1c4b52](https://git.cafe/pingdotgg/t3code/commit/d1c4b52b7c7c7e1b7637ec47e4c959ff0c2d8d99) | After<br>[652e9c1](https://git.cafe/pingdotgg/t3code/commit/652e9c18cee800df7e255916365967ba211097ae) | Diff0<br>[d1c4b52](https://git.cafe/pingdotgg/t3code/commit/d1c4b52b7c7c7e1b7637ec47e4c959ff0c2d8d99) → [652e9c1](https://git.cafe/pingdotgg/t3code/commit/652e9c18cee800df7e255916365967ba211097ae) | DiffT = 16/255<br>[d1c4b52](https://git.cafe/pingdotgg/t3code/commit/d1c4b52b7c7c7e1b7637ec47e4c959ff0c2d8d99) → [652e9c1](https://git.cafe/pingdotgg/t3code/commit/652e9c18cee800df7e255916365967ba211097ae) |
|---|---|---|---|---|
| 00-parent / 1280×800 / dark | ![00-parent.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4f0869c0adaa58b4/00-parent.png) | ![00-parent.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fb629f55baca3df1/00-parent.png) | ![00-parent-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3f3edefa56f1dc21/00-parent-diff0.png) | ![00-parent-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/26638e4c1932d8f8/00-parent-diff16.png) |
| 01-tooltip / 1280×800 / dark | ![01-tooltip.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3c9e9f057d0f6a38/01-tooltip.png) | ![01-tooltip.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6f9684e2d3fbf424/01-tooltip.png) | ![01-tooltip-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/10cbdea74ff1fb51/01-tooltip-diff0.png) | ![01-tooltip-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f1ccf266384f5121/01-tooltip-diff16.png) |
| 02-relationships-hover / 1280×800 / dark | ![02-relationships-hover.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/02cb2bd7cffa7590/02-relationships-hover.png) | ![02-relationships-hover.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/57ab6e35bf59db22/02-relationships-hover.png) | ![02-relationships-hover-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/71e4adc80b2f1ecf/02-relationships-hover-diff0.png) | ![02-relationships-hover-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/23964ff18152ee13/02-relationships-hover-diff16.png) |
| 03-child / 1280×800 / dark | ![03-child.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/907eb24a1d94fd95/03-child.png) | ![03-child.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2ab60b05657fae58/03-child.png) | ![03-child-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d6a3c253835fa9a7/03-child-diff0.png) | ![03-child-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7f32fd9c5c573521/03-child-diff16.png) |

## Reproduction and runtime evidence

[reproduce-round2.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/004e9365be860eb4/reproduce-round2.md), [rpc.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/885b1dc16355bf1b/rpc.mjs), [browser.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7b9e4173c3414e4a/browser.mjs), [seed.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b9c6a37e909b58bd/seed.mjs), [claude-exit-stub.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e45e57d6fc897e35/claude-exit-stub.mjs), [frozen-clock.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c88162503374a97a/frozen-clock.mjs), [start-web.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/047d3b31ce8dca8e/start-web.py)

[delegate.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e7af7e37129b8a16/delegate.mjs), [delegate-child.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c29eefc0c5c8e301/delegate-child.mjs), [stop-parent.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c85aaebc59e8b19b/stop-parent.mjs), [capture-d1.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b594ddeb29a9770a/capture-d1.mjs), [stills-d1.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/edc6a78d0a31fa14/stills-d1.mjs)

[runtime-transcript.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/60b24eb99fa0d11b/runtime-transcript.mjs), [validate-runtime.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c57a246f209e627a/validate-runtime.py), [before-runtime-transcript.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ed084b59e180e469/before-runtime-transcript.json), [after-runtime-transcript.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f1dc121110e38bb8/after-runtime-transcript.json), [runtime-validation.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b1fad9cf05ff93a5/runtime-validation.txt), [build-diffs.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/febbe054e7e08dc1/build-diffs.py)

Unverified assigned captures: none. D1 recording scope is settled hover/navigation as stated above.
