# Evidence — composer nested ordered lists
PR [#17138](https://git.cafe/pingdotgg/t3code/pull/17138). Before [becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f); After [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4).

**Scope beyond the short title:** Plain B also has two one-level RGB differences at the Send-button shadow (listed below). Also covers mixed bullet/task nesting, plain-mode empty-item lifting and parent-sibling renumbering. M retains the existing continuation-prose limitation on both revisions; this capture does not claim that limitation is fixed.

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

A/B sent chapters are **RPC-seeded real renderer; Submit path not exercised**. Exact edited snapshots are dispatched with `defer_start`; no provider turn or account data is used. H whitespace, L rich prefix, and N unreachable/literal-answer states use the clearly labelled harness. Native mobile is outside this helper; desktop wraps the same web UI.

The supplied matrix was authored against an earlier reviewed head; every capture here instead uses the exact requested Before/After SHAs above.

14/14 matrix row groups captured in real plain and rich composer modes, with labelled harness supplements. Every listed real-app seed was checked after paste; final selected runs preserve the supplied seed bytes. Matching named key operations are sent through browser keyboard input. X exposes the resulting caret, then is deleted where the sequence requires it.

Every final still waits for network idle and fonts, blurs the caret, and passes two screenshots 500ms apart with ImageMagick AE=0. No masks or crops are used in comparisons. Diff0 is absolute RGB difference amplified ×16; its AE metric uses zero fuzz. DiffT uses ImageMagick `compare -fuzz 2%`. Source stills are whole viewports. Supplemental recording review sheets contain full frames plus composer crops.

## Recordings

| Capture | Before | After |
|---|---|---|
| A–N, plain, 1440×900 light | [before-plain.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2a84b1c802a2b2c8/before-plain.mp4)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | [after-plain.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/27834b3644289843/after-plain.mp4)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |
| A/B real renderer, plain source, 1440×900 light | [before-plain-sent.webm](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/56affbbf02c41b86/before-plain-sent.webm)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | [after-plain-sent.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7c8a0104f1b222fe/after-plain-sent.mp4)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |
| A–N, rich, 1440×900 light | [before-rich.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/66f8bc71305ed402/before-rich.mp4)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | [after-rich.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b8fb39989ba58405/after-rich.mp4)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |
| A/B real renderer, rich source, 1440×900 light | [before-rich-sent.webm](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d5aea0b7e8744fde/before-rich-sent.webm)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | [after-rich-sent.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5e7bf17dbb21d0fb/after-rich-sent.mp4)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |
| H/L/N labelled harness, 1440×900 light | [before-harness.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b2d3fa414a3fc3b5/before-harness.mp4)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | [after-harness.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d587b20dc3a33e5b/after-harness.mp4)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Main recordings are H.264 at 10fps. The timestamped sequences contain occasional automation idle gaps; chapter times preserve the original recordings without speed changes. Earlier retained Before sent-renderer recordings are VP8 at 15fps; source viewport, clock and pixels match. Timestamped actions below are measured from each actual recording start.

## A — first ordered child and caret / plain / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 00:00.0–00:23.8: 00:00.0 paste "¦" (¦ is the set caret); 00:01.0 1; 00:01.5 .; 00:02.0 Space; 00:02.5 type "parent"; 00:03.1 Shift+Enter; 00:03.5 Tab; 00:04.0 type "child"; 00:04.7 check generated first child; 00:18.8 paste "1. parent\n2. ch¦ild" (¦ is the set caret); 00:20.0 Tab; 00:20.5 type "X"; 00:21.0 check existing first child; 00:21.0 Backspace; 00:21.6 check A canonical for renderer

After chapter 00:00.0–00:09.8: 00:00.0 paste "¦" (¦ is the set caret); 00:01.0 1; 00:01.5 .; 00:02.0 Space; 00:02.5 type "parent"; 00:03.1 Shift+Enter; 00:03.6 Tab; 00:04.1 type "child"; 00:04.7 check generated first child; 00:04.7 paste "1. parent\n2. ch¦ild" (¦ is the set caret); 00:05.7 Tab; 00:06.2 type "X"; 00:06.8 check existing first child; 00:06.8 Backspace; 00:07.4 check A canonical for renderer

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2a84b1c802a2b2c8/before-plain.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/27834b3644289843/after-plain.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-plain-A.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/881e0b2f31f85775/before-plain-A.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-plain-A.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8c1bb0954cc52739/after-plain-A.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-A-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/985e12d7f5e11533/plain-A-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-A-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7989b1178953e112/plain-A-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 328; 2% AE: 321; difference bounding box (x0,y0,x1,y1): `[378, 805, 425, 816]`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- generated first child: `"1. parent\n  2. child"` → `"1. parent\n   1. child"`.
- existing first child: `"1. parent\n  2. chXild"` → `"1. parent\n   1. chXild"`.
- A canonical for renderer: `"1. parent\n  2. child"` → `"1. parent\n   1. child"`.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/541cfba5e6b736c0/plain-A-sheet.png)

## B — wide parent and digit shrink / plain / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 00:23.8–00:28.9: 00:23.8 paste "10. parent\n11. ch¦ild" (¦ is the set caret); 00:24.8 Tab; 00:25.3 type "X"; 00:25.9 check wide marker; 00:25.9 Backspace; 00:26.4 check B canonical for renderer

After chapter 00:09.8–00:14.7: 00:09.8 paste "10. parent\n11. ch¦ild" (¦ is the set caret); 00:10.8 Tab; 00:11.3 type "X"; 00:11.8 check wide marker; 00:11.8 Backspace; 00:12.4 check B canonical for renderer

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2a84b1c802a2b2c8/before-plain.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/27834b3644289843/after-plain.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-plain-B.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aef80d08729c1138/before-plain-B.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-plain-B.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/77fa1b6e3704b6eb/after-plain-B.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-B-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9e0808b14a2b65eb/plain-B-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-B-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9a9ee0cc2d453c64/plain-B-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 382; 2% AE: 371; difference bounding box (x0,y0,x1,y1): `[377, 805, 1065, 861]`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- wide marker: `"10. parent\n  11. chXild"` → `"10. parent\n    1. chXild"`.
- B canonical for renderer: `"10. parent\n  11. child"` → `"10. parent\n    1. child"`.
- Two additional Send-button-shadow pixels differ by one RGB level: (1045,860) `(222,223,224)` → `(223,224,225)` and (1064,860) the reverse. They are included in Diff0; neither survives 2% fuzz. No other pixels outside the changed child text differ in this endpoint.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/85abf18db2bace22/plain-B-sheet.png)

## C — existing sibling through descendants / plain / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 00:28.9–00:33.1: 00:28.9 paste "1. parent\n   1. first\n      1. grandchild\n3. second¦" (¦ is the set caret); 00:29.9 Tab; 00:30.4 type "X"; 00:30.9 check deeper descendants

After chapter 00:14.7–00:18.9: 00:14.7 paste "1. parent\n   1. first\n      1. grandchild\n3. second¦" (¦ is the set caret); 00:15.7 Tab; 00:16.1 type "X"; 00:16.7 check deeper descendants

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2a84b1c802a2b2c8/before-plain.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/27834b3644289843/after-plain.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-plain-C.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4797bd70d0ee38e1/before-plain-C.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-plain-C.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7264e9ee1df632cd/after-plain-C.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-C-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7df4b619bb59f797/plain-C-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-C-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c71adb3a960f7eef/plain-C-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 544; 2% AE: 524; difference bounding box (x0,y0,x1,y1): `[377, 805, 456, 816]`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- deeper descendants: `"1. parent\n   1. first\n      1. grandchild\n  3. secondX"` → `"1. parent\n   1. first\n      1. grandchild\n   2. secondX"`.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0bf87cecefd4a1ce/plain-C-sheet.png)

## D — paren, padded number and mismatch / plain / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 01:03.0–01:11.4: 01:03.0 paste "1) parent\n   09) first\n      1) grandchild\n2) second¦" (¦ is the set caret); 01:04.0 Tab; 01:04.5 type "X"; 01:05.0 check matching paren; 01:05.0 paste "1) parent\n   09) first\n      1) grandchild\n2. second¦" (¦ is the set caret); 01:06.0 Tab; 01:06.5 type "X"; 01:07.1 check delimiter mismatch; 01:07.1 paste "1. parent\n   - first\n2. second¦" (¦ is the set caret); 01:08.1 Tab; 01:08.6 type "X"; 01:09.2 check bullet sibling mismatch

After chapter 01:11.3–01:21.2: 01:11.3 paste "1) parent\n   09) first\n      1) grandchild\n2) second¦" (¦ is the set caret); 01:12.2 Tab; 01:14.2 type "X"; 01:14.8 check matching paren; 01:14.8 paste "1) parent\n   09) first\n      1) grandchild\n2. second¦" (¦ is the set caret); 01:15.8 Tab; 01:16.3 type "X"; 01:17.0 check delimiter mismatch; 01:17.0 paste "1. parent\n   - first\n2. second¦" (¦ is the set caret); 01:18.0 Tab; 01:18.4 type "X"; 01:19.0 check bullet sibling mismatch

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2a84b1c802a2b2c8/before-plain.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/27834b3644289843/after-plain.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-plain-D.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bf8608a925c3129b/before-plain-D.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-plain-D.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f9a764e2ad14f3a4/after-plain-D.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-D-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dce86638b190bd9d/plain-D-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-D-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/773ca3900a03fc58/plain-D-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 500; 2% AE: 469; difference bounding box (x0,y0,x1,y1): `[378, 805, 453, 816]`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- matching paren: `"1) parent\n   09) first\n      1) grandchild\n  2) secondX"` → `"1) parent\n   09) first\n      1) grandchild\n   10) secondX"`.
- delimiter mismatch: `"1) parent\n   09) first\n      1) grandchild\n  2. secondX"` → `"1) parent\n   09) first\n      1) grandchild\n   1. secondX"`.
- bullet sibling mismatch: `"1. parent\n   - first\n  2. secondX"` → `"1. parent\n   - first\n   1. secondX"`.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c1f69f8720430ac0/plain-D-sheet.png)

## E — padding and tab stops / plain / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 01:11.4–01:19.9: 01:11.4 paste "1.\tparent\n2. child¦" (¦ is the set caret); 01:12.4 Tab; 01:12.9 type "X"; 01:13.5 check padding '\t'; 01:13.5 paste "1.   parent\n2. child¦" (¦ is the set caret); 01:14.4 Tab; 01:14.9 type "X"; 01:15.6 check padding '   '; 01:15.6 paste "1.     parent\n2. child¦" (¦ is the set caret); 01:16.6 Tab; 01:17.1 type "X"; 01:17.6 check padding '     '

After chapter 01:21.2–01:29.7: 01:21.2 paste "1.\tparent\n2. child¦" (¦ is the set caret); 01:22.2 Tab; 01:22.7 type "X"; 01:23.2 check padding '\t'; 01:23.2 paste "1.   parent\n2. child¦" (¦ is the set caret); 01:24.2 Tab; 01:24.7 type "X"; 01:25.2 check padding '   '; 01:25.2 paste "1.     parent\n2. child¦" (¦ is the set caret); 01:26.2 Tab; 01:26.7 type "X"; 01:27.3 check padding '     '

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2a84b1c802a2b2c8/before-plain.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/27834b3644289843/after-plain.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-plain-E.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b6ca3826e9b68559/before-plain-E.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-plain-E.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/932fde4a33727b5d/after-plain-E.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-E-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a8e1dcafdd425f09/plain-E-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-E-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bc4215366aadccb1/plain-E-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 403; 2% AE: 390; difference bounding box (x0,y0,x1,y1): `[378, 805, 436, 816]`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- padding '\t': `"1.\tparent\n  2. childX"` → `"1.\tparent\n    1. childX"`.
- padding '   ': `"1.   parent\n  2. childX"` → `"1.   parent\n     1. childX"`.
- padding '     ': `"1.     parent\n  2. childX"` → `"1.     parent\n   1. childX"`.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bfe738fc2a0bd067/plain-E-sheet.png)

## F — ordered child of bullet/task / plain / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 01:19.9–01:26.3: 01:19.9 paste "- parent\n2. child¦" (¦ is the set caret); 01:20.8 Tab; 01:21.3 type "X"; 01:21.8 check parent - parent; 01:21.8 paste "- [x] parent\n2. child¦" (¦ is the set caret); 01:22.8 Tab; 01:23.3 type "X"; 01:23.8 check parent - [x] parent

After chapter 01:29.7–01:35.7: 01:29.7 paste "- parent\n2. child¦" (¦ is the set caret); 01:30.7 Tab; 01:31.2 type "X"; 01:31.7 check parent - parent; 01:31.7 paste "- [x] parent\n2. child¦" (¦ is the set caret); 01:32.7 Tab; 01:33.2 type "X"; 01:33.8 check parent - [x] parent

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2a84b1c802a2b2c8/before-plain.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/27834b3644289843/after-plain.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-plain-F.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d56bc955b083c5ec/before-plain-F.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-plain-F.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c286cd70c66ccbdf/after-plain-F.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-F-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f14a01c878433ab6/plain-F-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-F-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3e8873d5800b384a/plain-F-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 433; 2% AE: 424; difference bounding box (x0,y0,x1,y1): `[377, 805, 435, 816]`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- parent - parent: `"- parent\n  2. childX"` → `"- parent\n  1. childX"`.
- parent - [x] parent: `"- [x] parent\n  2. childX"` → `"- [x] parent\n  1. childX"`.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/90bb6d503f950a5a/plain-F-sheet.png)

## G — bullet/task child of ordered parent / plain / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 01:26.3–01:32.6: 01:26.3 paste "1. parent\n- child¦" (¦ is the set caret); 01:27.2 Tab; 01:27.7 type "X"; 01:28.3 check child - child; 01:28.3 paste "1. parent\n- [x] child¦" (¦ is the set caret); 01:29.3 Tab; 01:29.8 type "X"; 01:30.4 check child - [x] child

After chapter 01:35.7–01:41.8: 01:35.7 paste "1. parent\n- child¦" (¦ is the set caret); 01:36.7 Tab; 01:37.2 type "X"; 01:37.8 check child - child; 01:37.8 paste "1. parent\n- [x] child¦" (¦ is the set caret); 01:38.8 Tab; 01:39.2 type "X"; 01:39.8 check child - [x] child

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2a84b1c802a2b2c8/before-plain.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/27834b3644289843/after-plain.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-plain-G.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cb5de3dee1bb1975/before-plain-G.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-plain-G.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aa2639c75b6730de/after-plain-G.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-G-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/74798aec38713ab2/plain-G-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-G-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0084c2afe7549251/plain-G-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 593; 2% AE: 574; difference bounding box (x0,y0,x1,y1): `[378, 805, 454, 819]`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- child - child: `"1. parent\n  - childX"` → `"1. parent\n   - childX"`.
- child - [x] child: `"1. parent\n  - [x] childX"` → `"1. parent\n   - [x] childX"`.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0f8f74f3c237dd94/plain-G-sheet.png)

## H — empty grandchild lift and exit / plain / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 00:33.1–00:41.2: 00:33.1 paste "1. parent\n   1. child\n      1. ¦" (¦ is the set caret); 00:34.1 Shift+Enter; 00:34.6 type "X"; 00:35.2 check lift 1; 00:35.2 Backspace; 00:35.7 Shift+Enter; 00:36.2 type "X"; 00:36.8 check lift 2; 00:36.8 Backspace; 00:37.3 Shift+Enter; 00:37.8 type "X"; 00:38.4 check lift 3; 00:38.4 Backspace; 00:38.9 check exit endpoint

After chapter 00:18.9–00:26.9: 00:18.9 paste "1. parent\n   1. child\n      1. ¦" (¦ is the set caret); 00:19.9 Shift+Enter; 00:20.4 type "X"; 00:21.0 check lift 1; 00:21.0 Backspace; 00:21.4 Shift+Enter; 00:21.9 type "X"; 00:22.5 check lift 2; 00:22.5 Backspace; 00:23.0 Shift+Enter; 00:23.5 type "X"; 00:24.1 check lift 3; 00:24.1 Backspace; 00:24.7 check exit endpoint

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2a84b1c802a2b2c8/before-plain.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/27834b3644289843/after-plain.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-plain-H.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0e703cf16b420069/before-plain-H.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-plain-H.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7cb8aefd607b1ee5/after-plain-H.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-H-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/87fb646f8b356746/plain-H-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-H-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/81b7c39e5587661e/plain-H-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 39045; 2% AE: 5316; difference bounding box (x0,y0,x1,y1): `[351, 362, 1089, 863]`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- lift 1: `"1. parent\n   1. child\nX"` → `"1. parent\n   1. child\n   2. X"`.
- lift 2: `"1. parent\n   1. child\n\nX"` → `"1. parent\n   1. child\n2. X"`.
- lift 3: `"1. parent\n   1. child\n\n\nX"` → `"1. parent\n   1. child\nX"`.
- exit endpoint: `"1. parent\n   1. child\n\n\n"` → `"1. parent\n   1. child\n"`.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fef36178564efd93/plain-H-sheet.png)

## I — middle lift and renumber boundaries / plain / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 00:41.2–00:53.8: 00:41.2 paste "1. a\n   1. ¦\n2. b\n   1. descendant\n03. c\n\n9. untouched" (¦ is the set caret); 00:42.2 Shift+Enter; 00:42.7 type "X"; 00:43.3 check middle lift; 00:43.3 paste "1) a\n   1) ¦\n2) b\n   1) descendant\n03) c\n\n9) untouched" (¦ is the set caret); 00:44.3 Shift+Enter; 00:44.8 type "X"; 00:45.3 check paren parent; 00:45.3 paste "1. a\n   1. ¦\n2. b\n3) delimiter\n4. untouched" (¦ is the set caret); 00:46.3 Shift+Enter; 00:46.9 type "X"; 00:47.4 check delimiter stops renumber; 00:47.4 paste "1. a\n   1. ¦\n2. b\nprose\n4. untouched" (¦ is the set caret); 00:48.4 Shift+Enter; 00:48.9 type "X"; 00:49.5 check prose stops renumber; 00:49.5 paste "1. outer\n   1. a\n      1. ¦\n   2. b\n2. untouched" (¦ is the set caret); 00:50.4 Shift+Enter; 00:50.9 type "X"; 00:51.5 check shallower stops renumber

After chapter 00:26.9–01:02.4: 00:26.9 paste "1. a\n   1. ¦\n2. b\n   1. descendant\n03. c\n\n9. untouched" (¦ is the set caret); 00:28.0 Shift+Enter; 00:28.5 type "X"; 00:29.1 check middle lift; 00:29.1 paste "1) a\n   1) ¦\n2) b\n   1) descendant\n03) c\n\n9) untouched" (¦ is the set caret); 00:30.1 Shift+Enter; 00:30.6 type "X"; 00:31.1 check paren parent; 00:31.1 paste "1. a\n   1. ¦\n2. b\n3) delimiter\n4. untouched" (¦ is the set caret); 00:32.1 Shift+Enter; 00:32.6 type "X"; 00:33.2 check delimiter stops renumber; 00:33.2 paste "1. a\n   1. ¦\n2. b\nprose\n4. untouched" (¦ is the set caret); 00:34.2 Shift+Enter; 00:34.7 type "X"; 00:35.3 check prose stops renumber; 00:35.3 paste "1. outer\n   1. a\n      1. ¦\n   2. b\n2. untouched" (¦ is the set caret); 00:36.3 Shift+Enter; 00:36.8 type "X"; 00:37.4 check shallower stops renumber

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2a84b1c802a2b2c8/before-plain.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/27834b3644289843/after-plain.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-plain-I.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/385776b150e220de/before-plain-I.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-plain-I.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1f61e407168c6ef2/after-plain-I.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-I-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5036c3ac75694a9e/plain-I-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-I-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/10a5ad5c4693e093/plain-I-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 289; 2% AE: 264; difference bounding box (x0,y0,x1,y1): `[369, 760, 407, 794]`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- middle lift: `"1. a\nX\n2. b\n   1. descendant\n03. c\n\n9. untouched"` → `"1. a\n2. X\n3. b\n   1. descendant\n04. c\n\n9. untouched"`.
- paren parent: `"1) a\nX\n2) b\n   1) descendant\n03) c\n\n9) untouched"` → `"1) a\n2) X\n3) b\n   1) descendant\n04) c\n\n9) untouched"`.
- delimiter stops renumber: `"1. a\nX\n2. b\n3) delimiter\n4. untouched"` → `"1. a\n2. X\n3. b\n3) delimiter\n4. untouched"`.
- prose stops renumber: `"1. a\nX\n2. b\nprose\n4. untouched"` → `"1. a\n2. X\n3. b\nprose\n4. untouched"`.
- shallower stops renumber: `"1. outer\n   1. a\nX\n   2. b\n2. untouched"` → `"1. outer\n   1. a\n   2. X\n   3. b\n2. untouched"`.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2f9fced53700a22a/plain-I-sheet.png)

## J — lift into bullet/task parent / plain / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 01:32.6–01:47.3: 01:32.6 paste "- parent\n  1. ¦" (¦ is the set caret); 01:33.6 Shift+Enter; 01:34.1 type "X"; 01:34.7 check nonordered parent - parent; 01:34.7 Backspace; 01:35.2 Shift+Enter; 01:35.8 check leave - parent; 01:35.8 paste "- [x] parent\n  1. ¦" (¦ is the set caret); 01:36.8 Shift+Enter; 01:37.4 type "X"; 01:43.8 check nonordered parent - [x] parent; 01:43.8 Backspace; 01:44.4 Shift+Enter; 01:45.0 check leave - [x] parent

After chapter 01:41.8–01:49.9: 01:41.8 paste "- parent\n  1. ¦" (¦ is the set caret); 01:42.8 Shift+Enter; 01:43.3 type "X"; 01:43.8 check nonordered parent - parent; 01:43.8 Backspace; 01:44.3 Shift+Enter; 01:44.9 check leave - parent; 01:44.9 paste "- [x] parent\n  1. ¦" (¦ is the set caret); 01:45.9 Shift+Enter; 01:46.3 type "X"; 01:46.9 check nonordered parent - [x] parent; 01:46.9 Backspace; 01:47.4 Shift+Enter; 01:48.0 check leave - [x] parent

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2a84b1c802a2b2c8/before-plain.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/27834b3644289843/after-plain.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-plain-J.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b72fce57d2498af0/before-plain-J.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-plain-J.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8a7172b360e2267d/after-plain-J.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-J-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3a86ba192c7bbf27/plain-J-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-J-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/568a6954e6dcdb9b/plain-J-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 22075; 2% AE: 4988; difference bounding box (x0,y0,x1,y1): `[351, 385, 1089, 863]`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- nonordered parent - parent: `"- parent\nX"` → `"- parent\n- X"`.
- leave - parent: `"- parent\n\n"` → `"- parent\n"`.
- nonordered parent - [x] parent: `"- [x] parent\nX"` → `"- [x] parent\n- [ ] X"`.
- leave - [x] parent: `"- [x] parent\n\n"` → `"- [x] parent\n"`.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/116c00761760d548/plain-J-sheet.png)

## K — multiline mention atoms / plain / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 00:53.8–01:03.0: 00:53.8 paste "1. @\"parent\n999. fake\"\n2. child¦" (¦ is the set caret); 00:54.9 Tab; 00:55.4 type "X"; 00:55.9 check multiline mention Tab; 00:55.9 paste "1. @\"parent\n999. fake\"\n   1. ¦" (¦ is the set caret); 00:57.0 Shift+Enter; 00:57.5 type "X"; 00:58.0 check multiline mention lift; 00:58.0 paste "1. @\"earlier\n777. fake\"\n2. @\"parent\n999. fake\"\n3. child¦" (¦ is the set caret); 00:59.1 Tab; 00:59.6 type "X"; 01:00.2 check two earlier mentions

After chapter 01:02.4–01:11.3: 01:02.4 paste "1. @\"parent\n999. fake\"\n2. child¦" (¦ is the set caret); 01:03.4 Tab; 01:03.9 type "X"; 01:04.5 check multiline mention Tab; 01:04.5 paste "1. @\"parent\n999. fake\"\n   1. ¦" (¦ is the set caret); 01:05.5 Shift+Enter; 01:06.0 type "X"; 01:06.6 check multiline mention lift; 01:06.6 paste "1. @\"earlier\n777. fake\"\n2. @\"parent\n999. fake\"\n3. child¦" (¦ is the set caret); 01:07.7 Tab; 01:08.3 type "X"; 01:08.9 check two earlier mentions

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2a84b1c802a2b2c8/before-plain.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/27834b3644289843/after-plain.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-plain-K.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e96319b96696b1c7/before-plain-K.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-plain-K.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eb13c293a948cf52/after-plain-K.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-K-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0aa7354a0afe67bf/plain-K-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-K-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fce04da6ffed8787/plain-K-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 407; 2% AE: 392; difference bounding box (x0,y0,x1,y1): `[377, 805, 436, 816]`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- multiline mention Tab: `"1. @\"parent\n999. fake\"\n  2. childX"` → `"1. @\"parent\n999. fake\"\n   1. childX"`.
- multiline mention lift: `"1. @\"parent\n999. fake\"\nX"` → `"1. @\"parent\n999. fake\"\n2. X"`.
- two earlier mentions: `"1. @\"earlier\n777. fake\"\n2. @\"parent\n999. fake\"\n  3. childX"` → `"1. @\"earlier\n777. fake\"\n2. @\"parent\n999. fake\"\n   1. childX"`.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c779ff7355814880/plain-K-sheet.png)

## L — prefix caret and no-parent fallback / plain / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 01:47.3–02:01.5: 01:47.3 paste "10. parent\n¦11. child" (¦ is the set caret); 01:48.3 Tab; 01:50.8 type "X"; 01:51.3 check prefix caret; 01:52.8 paste "2. child¦" (¦ is the set caret); 01:53.8 Tab; 01:54.3 type "X"; 01:54.9 check fallback '2. child'; 01:54.9 paste "1. parent\n\n2. child¦" (¦ is the set caret); 01:55.9 Tab; 01:56.4 type "X"; 01:56.9 check fallback '1. parent\n\n2. child'; 01:56.9 paste "1. parent\n   1. child¦" (¦ is the set caret); 01:57.9 Tab; 01:58.5 type "X"; 01:59.2 check fallback '1. parent\n   1. child'

After chapter 01:49.9–02:00.4: 01:49.9 paste "10. parent\n¦11. child" (¦ is the set caret); 01:50.9 Tab; 01:51.4 type "X"; 01:52.0 check prefix caret; 01:52.0 paste "2. child¦" (¦ is the set caret); 01:53.0 Tab; 01:53.5 type "X"; 01:54.0 check fallback '2. child'; 01:54.0 paste "1. parent\n\n2. child¦" (¦ is the set caret); 01:55.0 Tab; 01:55.5 type "X"; 01:56.0 check fallback '1. parent\n\n2. child'; 01:56.0 paste "1. parent\n   1. child¦" (¦ is the set caret); 01:57.0 Tab; 01:57.5 type "X"; 01:58.2 check fallback '1. parent\n   1. child'

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2a84b1c802a2b2c8/before-plain.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/27834b3644289843/after-plain.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-plain-L.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ca7b454330205815/before-plain-L.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-plain-L.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e5c8f33c86a60d09/after-plain-L.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-L-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d93eeef5768fb237/plain-L-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-L-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f2bc7ba459eef3b5/plain-L-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 0; 2% AE: 0; difference bounding box (x0,y0,x1,y1): `None`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- prefix caret: `"10. parent\n  X11. child"` → `"10. parent\n    X1. child"`.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/636e83eaac14d223/plain-L-sheet.png)

## M — continuation prose control / known limitation / plain / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 02:01.5–02:08.2: 02:01.5 paste "10. parent\n    details\n11. ch¦ild" (¦ is the set caret); 02:02.7 Tab; 02:03.3 type "X"; 02:03.9 check continuation prose Tab; 02:03.9 paste "1. parent\n   details\n   1. ¦" (¦ is the set caret); 02:04.9 Shift+Enter; 02:05.4 type "X"; 02:06.0 check continuation prose lift

After chapter 02:00.4–02:06.6: 02:00.4 paste "10. parent\n    details\n11. ch¦ild" (¦ is the set caret); 02:01.4 Tab; 02:01.9 type "X"; 02:02.5 check continuation prose Tab; 02:02.5 paste "1. parent\n   details\n   1. ¦" (¦ is the set caret); 02:03.4 Shift+Enter; 02:03.9 type "X"; 02:04.4 check continuation prose lift

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2a84b1c802a2b2c8/before-plain.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/27834b3644289843/after-plain.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-plain-M.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ce51c81b6aa53f04/before-plain-M.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-plain-M.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/23dbc1ee8820cd01/after-plain-M.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-M-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5158658e4ced0f08/plain-M-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-M-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d1b824f97a72d603/plain-M-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 0; 2% AE: 0; difference bounding box (x0,y0,x1,y1): `None`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- No canonical checkpoint difference. The exact still comparison above establishes whether the endpoint is pixel-identical.
- Both revisions stop at continuation prose: Tab retains 11 with a two-space fallback; the empty nested marker exits. This is an existing limitation, not a newly fixed claim.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/df8e0b621e2011ec/plain-M-sheet.png)

## N — key precedence and rejection gates / plain / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 02:08.2–02:24.2: 02:08.2 paste "1. parent\n2. child¦" (¦ is the set caret); 02:09.3 Tab; 02:09.8 check selected list Tab; 02:09.8 paste "1. parent\n2. child¦" (¦ is the set caret); 02:10.8 Shift+Tab; 02:11.5 check Shift+Tab; 02:11.5 paste "plain text¦" (¦ is the set caret); 02:12.5 Shift+Enter; 02:13.0 type "X"; 02:13.6 check nonlist Shift+Enter; 02:13.6 paste "¦" (¦ is the set caret); 02:14.6 Shift+Enter; 02:15.1 type "X"; 02:15.7 check empty Shift+Enter; 02:15.7 paste "1. parent\n2. ch¦ild\n3. later" (¦ is the set caret); 02:17.1 Shift+Enter; 02:17.6 type "X"; 02:18.1 check normal nonempty continuation; 02:18.2 paste "¦" (¦ is the set caret); 02:19.1 type "@"; 02:19.7 type "src"; 02:21.4 Tab; 02:22.0 check mention menu Tab

After chapter 02:06.6–02:22.2: 02:06.6 paste "1. parent\n2. child¦" (¦ is the set caret); 02:07.7 Tab; 02:08.2 check selected list Tab; 02:08.2 paste "1. parent\n2. child¦" (¦ is the set caret); 02:09.2 Shift+Tab; 02:09.8 check Shift+Tab; 02:09.8 paste "plain text¦" (¦ is the set caret); 02:10.8 Shift+Enter; 02:11.3 type "X"; 02:11.9 check nonlist Shift+Enter; 02:11.9 paste "¦" (¦ is the set caret); 02:12.9 Shift+Enter; 02:13.5 type "X"; 02:14.1 check empty Shift+Enter; 02:14.1 paste "1. parent\n2. ch¦ild\n3. later" (¦ is the set caret); 02:15.1 Shift+Enter; 02:15.6 type "X"; 02:16.1 check normal nonempty continuation; 02:16.1 paste "¦" (¦ is the set caret); 02:17.1 type "@"; 02:17.7 type "src"; 02:19.3 Tab; 02:19.9 check mention menu Tab

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2a84b1c802a2b2c8/before-plain.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/27834b3644289843/after-plain.mp4).

Selected-list variant: select all content before Tab. Mention variant: type @ then src to open the menu before Tab.

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-plain-N.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/93d1b26eff392187/before-plain-N.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-plain-N.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/79cc4133d137c13b/after-plain-N.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-N-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6fd847d5b0cf9828/plain-N-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-N-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e4ce751d2bdbae56/plain-N-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 0; 2% AE: 0; difference bounding box (x0,y0,x1,y1): `None`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- Real selected-list Tab explicitly selects all composer content before pressing Tab; mention priority explicitly types @ then src before Tab. Synthetic rejection cases are in the N harness below.
- No canonical checkpoint difference. The exact still comparison above establishes whether the endpoint is pixel-identical.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1d2bc2b9a35afef4/plain-N-sheet.png)

## A — first ordered child and caret / rich / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 00:00.0–00:09.9: 00:00.0 paste "¦" (¦ is the set caret); 00:01.0 1; 00:01.6 .; 00:02.0 Space; 00:02.5 type "parent"; 00:03.1 Shift+Enter; 00:03.6 Tab; 00:04.2 type "child"; 00:04.8 check generated first child; 00:04.8 paste "1. parent\n2. ch¦ild" (¦ is the set caret); 00:06.0 Tab; 00:06.5 type "X"; 00:07.1 check existing first child; 00:07.1 Backspace; 00:07.6 check A canonical for renderer

After chapter 00:00.0–00:09.9: 00:00.0 paste "¦" (¦ is the set caret); 00:01.1 1; 00:01.6 .; 00:02.1 Space; 00:02.6 type "parent"; 00:03.2 Shift+Enter; 00:03.8 Tab; 00:04.3 type "child"; 00:04.9 check generated first child; 00:04.9 paste "1. parent\n2. ch¦ild" (¦ is the set caret); 00:05.9 Tab; 00:06.5 type "X"; 00:07.0 check existing first child; 00:07.0 Backspace; 00:07.6 check A canonical for renderer

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/66f8bc71305ed402/before-rich.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b8fb39989ba58405/after-rich.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-rich-A.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/011f0d0ae8e48f75/before-rich-A.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-rich-A.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/156927d1b8f3516a/after-rich-A.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-A-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/113512d0a6b881ac/rich-A-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-A-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ae05edd1effa011d/rich-A-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 53; 2% AE: 51; difference bounding box (x0,y0,x1,y1): `[406, 795, 414, 806]`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- generated first child: `"1. parent\n  2. child"` → `"1. parent\n   1. child"`.
- existing first child: `"1. parent\n  2. chXild"` → `"1. parent\n   1. chXild"`.
- A canonical for renderer: `"1. parent\n  2. child"` → `"1. parent\n   1. child"`.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0e648e758edc0858/rich-A-sheet.png)

## B — wide parent and digit shrink / rich / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 00:09.9–00:14.8: 00:09.9 paste "10. parent\n11. ch¦ild" (¦ is the set caret); 00:10.9 Tab; 00:11.4 type "X"; 00:12.0 check wide marker; 00:12.0 Backspace; 00:12.6 check B canonical for renderer

After chapter 00:09.9–00:14.9: 00:09.9 paste "10. parent\n11. ch¦ild" (¦ is the set caret); 00:10.9 Tab; 00:11.5 type "X"; 00:12.1 check wide marker; 00:12.1 Backspace; 00:12.6 check B canonical for renderer

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/66f8bc71305ed402/before-rich.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b8fb39989ba58405/after-rich.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-rich-B.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/56c98cb85d832563/before-rich-B.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-rich-B.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/36cfa610ef263b8c/after-rich-B.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-B-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/05ace21655cd20b3/rich-B-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-B-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3bbb82a40383d053/rich-B-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 376; 2% AE: 359; difference bounding box (x0,y0,x1,y1): `[415, 795, 471, 806]`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- wide marker: `"10. parent\n  11. chXild"` → `"10. parent\n    1. chXild"`.
- B canonical for renderer: `"10. parent\n  11. child"` → `"10. parent\n    1. child"`.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9b29c8282a1ab645/rich-B-sheet.png)

## C — existing sibling through descendants / rich / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 00:14.8–00:19.2: 00:14.8 paste "1. parent\n   1. first\n      1. grandchild\n3. second¦" (¦ is the set caret); 00:15.8 Tab; 00:16.3 type "X"; 00:16.9 check deeper descendants

After chapter 00:14.9–00:20.0: 00:14.9 paste "1. parent\n   1. first\n      1. grandchild\n3. second¦" (¦ is the set caret); 00:15.9 Tab; 00:16.5 type "X"; 00:17.1 check deeper descendants

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/66f8bc71305ed402/before-rich.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b8fb39989ba58405/after-rich.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-rich-C.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/22b42cd90120645c/before-rich-C.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-rich-C.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c13d0fadb015853b/after-rich-C.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-C-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ef63b79696f41c2c/rich-C-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-C-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ba6d9caaffb27c7b/rich-C-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 59; 2% AE: 47; difference bounding box (x0,y0,x1,y1): `[406, 795, 414, 806]`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- deeper descendants: `"1. parent\n   1. first\n      1. grandchild\n  3. secondX"` → `"1. parent\n   1. first\n      1. grandchild\n   2. secondX"`.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/359eebf166ba6fe1/rich-C-sheet.png)

## D — paren, padded number and mismatch / rich / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 01:54.2–02:02.6: 01:54.2 paste "1) parent\n   09) first\n      1) grandchild\n2) second¦" (¦ is the set caret); 01:55.2 Tab; 01:55.8 type "X"; 01:56.3 check matching paren; 01:56.3 paste "1) parent\n   09) first\n      1) grandchild\n2. second¦" (¦ is the set caret); 01:57.3 Tab; 01:57.8 type "X"; 01:58.4 check delimiter mismatch; 01:58.4 paste "1. parent\n   - first\n2. second¦" (¦ is the set caret); 01:59.3 Tab; 01:59.9 type "X"; 02:00.4 check bullet sibling mismatch

After chapter 00:50.7–00:59.6: 00:50.7 paste "1) parent\n   09) first\n      1) grandchild\n2) second¦" (¦ is the set caret); 00:51.7 Tab; 00:52.4 type "X"; 00:53.0 check matching paren; 00:53.0 paste "1) parent\n   09) first\n      1) grandchild\n2. second¦" (¦ is the set caret); 00:54.0 Tab; 00:54.6 type "X"; 00:55.1 check delimiter mismatch; 00:55.1 paste "1. parent\n   - first\n2. second¦" (¦ is the set caret); 00:56.2 Tab; 00:56.8 type "X"; 00:57.3 check bullet sibling mismatch

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/66f8bc71305ed402/before-rich.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b8fb39989ba58405/after-rich.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-rich-D.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f6af5a96ebc8b245/before-rich-D.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-rich-D.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/385a57ce7de66fbc/after-rich-D.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-D-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f4f5db3025b73031/rich-D-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-D-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3f75cf75b01d1054/rich-D-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 53; 2% AE: 51; difference bounding box (x0,y0,x1,y1): `[406, 795, 414, 806]`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- matching paren: `"1) parent\n   09) first\n      1) grandchild\n  2) secondX"` → `"1) parent\n   09) first\n      1) grandchild\n   10) secondX"`.
- delimiter mismatch: `"1) parent\n   09) first\n      1) grandchild\n  2. secondX"` → `"1) parent\n   09) first\n      1) grandchild\n   1. secondX"`.
- bullet sibling mismatch: `"1. parent\n   - first\n  2. secondX"` → `"1. parent\n   - first\n   1. secondX"`.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b28acfa2646b1bfd/rich-D-sheet.png)

## E — padding and tab stops / rich / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 02:02.6–02:10.9: 02:02.6 paste "1.\tparent\n2. child¦" (¦ is the set caret); 02:03.6 Tab; 02:04.1 type "X"; 02:04.6 check padding '\t'; 02:04.6 paste "1.   parent\n2. child¦" (¦ is the set caret); 02:05.6 Tab; 02:06.1 type "X"; 02:06.7 check padding '   '; 02:06.7 paste "1.     parent\n2. child¦" (¦ is the set caret); 02:07.7 Tab; 02:08.2 type "X"; 02:08.7 check padding '     '

After chapter 00:59.6–01:08.1: 00:59.6 paste "1.\tparent\n2. child¦" (¦ is the set caret); 01:00.6 Tab; 01:01.2 type "X"; 01:01.8 check padding '\t'; 01:01.8 paste "1.   parent\n2. child¦" (¦ is the set caret); 01:02.8 Tab; 01:03.4 type "X"; 01:03.9 check padding '   '; 01:03.9 paste "1.     parent\n2. child¦" (¦ is the set caret); 01:05.0 Tab; 01:05.5 type "X"; 01:06.1 check padding '     '

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/66f8bc71305ed402/before-rich.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b8fb39989ba58405/after-rich.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-rich-E.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9710ebc55753e422/before-rich-E.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-rich-E.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/54ff31d91611492a/after-rich-E.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-E-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0d4a41700eb8ea84/rich-E-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-E-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9029cbec540ee44f/rich-E-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 53; 2% AE: 51; difference bounding box (x0,y0,x1,y1): `[406, 795, 414, 806]`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- padding '\t': `"1.\tparent\n  2. childX"` → `"1.\tparent\n    1. childX"`.
- padding '   ': `"1.   parent\n  2. childX"` → `"1.   parent\n     1. childX"`.
- padding '     ': `"1.     parent\n  2. childX"` → `"1.     parent\n   1. childX"`.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1af66dc316cacac8/rich-E-sheet.png)

## F — ordered child of bullet/task / rich / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 02:10.9–02:17.3: 02:10.9 paste "- parent\n2. child¦" (¦ is the set caret); 02:11.9 Tab; 02:12.4 type "X"; 02:12.9 check parent - parent; 02:13.0 paste "- [x] parent\n2. child¦" (¦ is the set caret); 02:13.9 Tab; 02:14.4 type "X"; 02:15.0 check parent - [x] parent

After chapter 01:08.1–01:14.2: 01:08.2 paste "- parent\n2. child¦" (¦ is the set caret); 01:09.1 Tab; 01:09.7 type "X"; 01:10.2 check parent - parent; 01:10.3 paste "- [x] parent\n2. child¦" (¦ is the set caret); 01:11.3 Tab; 01:11.8 type "X"; 01:12.4 check parent - [x] parent

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/66f8bc71305ed402/before-rich.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b8fb39989ba58405/after-rich.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-rich-F.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/effb33b647c63497/before-rich-F.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-rich-F.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b6276a0acc2da0a9/after-rich-F.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-F-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/47c4ff7c61fb2d90/rich-F-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-F-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/beb2bbe76297824c/rich-F-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 52; 2% AE: 49; difference bounding box (x0,y0,x1,y1): `[403, 795, 410, 806]`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- parent - parent: `"- parent\n  2. childX"` → `"- parent\n  1. childX"`.
- parent - [x] parent: `"- [x] parent\n  2. childX"` → `"- [x] parent\n  1. childX"`.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3ee31b495312f3e2/rich-F-sheet.png)

## G — bullet/task child of ordered parent / rich / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 02:17.3–02:24.3: 02:17.3 paste "1. parent\n- child¦" (¦ is the set caret); 02:18.3 Tab; 02:18.8 type "X"; 02:19.4 check child - child; 02:19.4 paste "1. parent\n- [x] child¦" (¦ is the set caret); 02:20.4 Tab; 02:20.9 type "X"; 02:21.5 check child - [x] child

After chapter 01:14.2–01:20.2: 01:14.2 paste "1. parent\n- child¦" (¦ is the set caret); 01:15.1 Tab; 01:15.6 type "X"; 01:16.2 check child - child; 01:16.2 paste "1. parent\n- [x] child¦" (¦ is the set caret); 01:17.3 Tab; 01:17.8 type "X"; 01:18.5 check child - [x] child

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/66f8bc71305ed402/before-rich.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b8fb39989ba58405/after-rich.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-rich-G.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3d201d6ab1d98f69/before-rich-G.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-rich-G.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/87036658968b87f8/after-rich-G.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-G-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/75d3e256240c54c0/rich-G-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-G-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/025d8044a9a3d020/rich-G-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 0; 2% AE: 0; difference bounding box (x0,y0,x1,y1): `None`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- child - child: `"1. parent\n  - childX"` → `"1. parent\n   - childX"`.
- child - [x] child: `"1. parent\n  - [x] childX"` → `"1. parent\n   - [x] childX"`.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f58214616e2bcc60/rich-G-sheet.png)

## H — empty grandchild lift and exit / rich / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 00:19.2–00:27.5: 00:19.2 paste "1. parent\n   1. child\n      1. ¦" (¦ is the set caret); 00:20.4 Shift+Enter; 00:21.0 type "X"; 00:21.6 check lift 1; 00:21.6 Backspace; 00:22.1 Shift+Enter; 00:22.6 type "X"; 00:23.1 check lift 2; 00:23.1 Backspace; 00:23.6 Shift+Enter; 00:24.1 type "X"; 00:24.6 check lift 3; 00:24.6 Backspace; 00:25.2 check exit endpoint

After chapter 00:20.0–00:28.3: 00:20.0 paste "1. parent\n   1. child\n      1. ¦" (¦ is the set caret); 00:21.1 Shift+Enter; 00:21.6 type "X"; 00:22.2 check lift 1; 00:22.2 Backspace; 00:22.7 Shift+Enter; 00:23.2 type "X"; 00:23.7 check lift 2; 00:23.7 Backspace; 00:24.2 Shift+Enter; 00:24.8 type "X"; 00:25.4 check lift 3; 00:25.4 Backspace; 00:26.0 check exit endpoint

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/66f8bc71305ed402/before-rich.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b8fb39989ba58405/after-rich.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-rich-H.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bb555ae536d3cb83/before-rich-H.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-rich-H.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/29919866925397ce/after-rich-H.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-H-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e102ddad6f5dbd30/rich-H-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-H-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ae2297e2113752ca/rich-H-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 0; 2% AE: 0; difference bounding box (x0,y0,x1,y1): `None`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- No canonical checkpoint difference. The exact still comparison above establishes whether the endpoint is pixel-identical.
- Rich Enter uses its existing structural lift; this is parity coverage, not evidence that the changed plain Enter helper ran.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d1b96791901b00a8/rich-H-sheet.png)

## I — middle lift and renumber boundaries / rich / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 00:27.5–00:40.2: 00:27.5 paste "1. a\n   1. ¦\n2. b\n   1. descendant\n03. c\n\n9. untouched" (¦ is the set caret); 00:28.5 Shift+Enter; 00:29.0 type "X"; 00:29.6 check middle lift; 00:29.6 paste "1) a\n   1) ¦\n2) b\n   1) descendant\n03) c\n\n9) untouched" (¦ is the set caret); 00:30.5 Shift+Enter; 00:31.0 type "X"; 00:31.6 check paren parent; 00:31.6 paste "1. a\n   1. ¦\n2. b\n3) delimiter\n4. untouched" (¦ is the set caret); 00:32.6 Shift+Enter; 00:33.1 type "X"; 00:33.7 check delimiter stops renumber; 00:33.7 paste "1. a\n   1. ¦\n2. b\nprose\n4. untouched" (¦ is the set caret); 00:34.7 Shift+Enter; 00:35.2 type "X"; 00:35.9 check prose stops renumber; 00:35.9 paste "1. outer\n   1. a\n      1. ¦\n   2. b\n2. untouched" (¦ is the set caret); 00:36.9 Shift+Enter; 00:37.4 type "X"; 00:37.9 check shallower stops renumber

After chapter 00:28.3–00:41.4: 00:28.3 paste "1. a\n   1. ¦\n2. b\n   1. descendant\n03. c\n\n9. untouched" (¦ is the set caret); 00:29.3 Shift+Enter; 00:29.8 type "X"; 00:30.4 check middle lift; 00:30.4 paste "1) a\n   1) ¦\n2) b\n   1) descendant\n03) c\n\n9) untouched" (¦ is the set caret); 00:31.3 Shift+Enter; 00:31.8 type "X"; 00:32.4 check paren parent; 00:32.4 paste "1. a\n   1. ¦\n2. b\n3) delimiter\n4. untouched" (¦ is the set caret); 00:33.5 Shift+Enter; 00:34.0 type "X"; 00:34.6 check delimiter stops renumber; 00:34.6 paste "1. a\n   1. ¦\n2. b\nprose\n4. untouched" (¦ is the set caret); 00:35.6 Shift+Enter; 00:36.2 type "X"; 00:36.8 check prose stops renumber; 00:36.8 paste "1. outer\n   1. a\n      1. ¦\n   2. b\n2. untouched" (¦ is the set caret); 00:37.9 Shift+Enter; 00:38.4 type "X"; 00:39.0 check shallower stops renumber

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/66f8bc71305ed402/before-rich.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b8fb39989ba58405/after-rich.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-rich-I.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/647ad2201b6f86fc/before-rich-I.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-rich-I.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/129a8297b88d9b8f/after-rich-I.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-I-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e63bed8d9f5e2450/rich-I-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-I-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c6f6cd449017d581/rich-I-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 0; 2% AE: 0; difference bounding box (x0,y0,x1,y1): `None`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- No canonical checkpoint difference. The exact still comparison above establishes whether the endpoint is pixel-identical.
- Rich Enter uses its existing structural lift; this is parity coverage, not evidence that the changed plain Enter helper ran.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ae31e55cf59eed88/rich-I-sheet.png)

## J — lift into bullet/task parent / rich / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 02:24.3–02:33.0: 02:24.3 paste "- parent\n  1. ¦" (¦ is the set caret); 02:25.3 Shift+Enter; 02:25.8 type "X"; 02:26.4 check nonordered parent - parent; 02:26.4 Backspace; 02:26.9 Shift+Enter; 02:27.5 check leave - parent; 02:27.5 paste "- [x] parent\n  1. ¦" (¦ is the set caret); 02:28.5 Shift+Enter; 02:29.0 type "X"; 02:29.6 check nonordered parent - [x] parent; 02:29.6 Backspace; 02:30.1 Shift+Enter; 02:30.7 check leave - [x] parent

After chapter 01:20.2–01:29.3: 01:20.2 paste "- parent\n  1. ¦" (¦ is the set caret); 01:21.2 Shift+Enter; 01:21.8 type "X"; 01:22.3 check nonordered parent - parent; 01:22.3 Backspace; 01:22.8 Shift+Enter; 01:23.4 check leave - parent; 01:23.4 paste "- [x] parent\n  1. ¦" (¦ is the set caret); 01:24.4 Shift+Enter; 01:24.9 type "X"; 01:25.5 check nonordered parent - [x] parent; 01:25.5 Backspace; 01:26.0 Shift+Enter; 01:26.6 check leave - [x] parent

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/66f8bc71305ed402/before-rich.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b8fb39989ba58405/after-rich.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-rich-J.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/708e8018a6de0111/before-rich-J.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-rich-J.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/749a2ea717f2ef93/after-rich-J.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-J-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/54fb0b4e1fcc329a/rich-J-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-J-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fbf7fefa2b8f0aeb/rich-J-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 0; 2% AE: 0; difference bounding box (x0,y0,x1,y1): `None`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- No canonical checkpoint difference. The exact still comparison above establishes whether the endpoint is pixel-identical.
- Rich Enter uses its existing structural lift; this is parity coverage, not evidence that the changed plain Enter helper ran.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/360af32d78678a6f/rich-J-sheet.png)

## K — multiline mention atoms / rich / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 00:40.2–01:54.2: 00:40.2 paste "1. @\"parent\n999. fake\"\n2. child¦" (¦ is the set caret); 00:41.3 Tab; 00:41.8 type "X"; 00:42.4 check multiline mention Tab; 00:42.4 paste "1. @\"parent\n999. fake\"\n   1. ¦" (¦ is the set caret); 00:43.4 Shift+Enter; 00:43.9 type "X"; 00:44.6 check multiline mention lift; 00:44.6 paste "1. @\"earlier\n777. fake\"\n2. @\"parent\n999. fake\"\n3. child¦" (¦ is the set caret); 00:45.7 Tab; 01:51.5 type "X"; 01:52.0 check two earlier mentions

After chapter 00:41.4–00:50.7: 00:41.4 paste "1. @\"parent\n999. fake\"\n2. child¦" (¦ is the set caret); 00:42.5 Tab; 00:43.0 type "X"; 00:43.6 check multiline mention Tab; 00:43.6 paste "1. @\"parent\n999. fake\"\n   1. ¦" (¦ is the set caret); 00:44.6 Shift+Enter; 00:45.1 type "X"; 00:45.7 check multiline mention lift; 00:45.7 paste "1. @\"earlier\n777. fake\"\n2. @\"parent\n999. fake\"\n3. child¦" (¦ is the set caret); 00:46.9 Tab; 00:47.5 type "X"; 00:48.1 check two earlier mentions

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/66f8bc71305ed402/before-rich.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b8fb39989ba58405/after-rich.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-rich-K.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0f55f851d82a957c/before-rich-K.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-rich-K.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7244b56d4e78fa00/after-rich-K.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-K-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bb78c02f374007d2/rich-K-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-K-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b73682bf6dfb6db4/rich-K-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 65; 2% AE: 61; difference bounding box (x0,y0,x1,y1): `[406, 795, 414, 806]`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- multiline mention Tab: `"1. @\"parent\n999. fake\"\n  2. childX"` → `"1. @\"parent\n999. fake\"\n   1. childX"`.
- two earlier mentions: `"1. @\"earlier\n777. fake\"\n2. @\"parent\n999. fake\"\n  3. childX"` → `"1. @\"earlier\n777. fake\"\n2. @\"parent\n999. fake\"\n   1. childX"`.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/362a1be83ce46fd2/rich-K-sheet.png)

## L — prefix caret and no-parent fallback / rich / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 02:33.0–02:43.7: 02:33.0 paste "10. parent\n11. ¦child" (¦ is the set caret); 02:34.0 Tab; 02:34.5 type "X"; 02:35.1 check visible content caret; 02:35.1 paste "2. child¦" (¦ is the set caret); 02:36.0 Tab; 02:36.6 type "X"; 02:37.2 check fallback '2. child'; 02:37.2 paste "1. parent\n\n2. child¦" (¦ is the set caret); 02:38.2 Tab; 02:38.7 type "X"; 02:39.2 check fallback '1. parent\n\n2. child'; 02:39.3 paste "1. parent\n   1. child¦" (¦ is the set caret); 02:40.3 Tab; 02:40.8 type "X"; 02:41.3 check fallback '1. parent\n   1. child'

After chapter 01:29.3–01:40.0: 01:29.3 paste "10. parent\n11. ¦child" (¦ is the set caret); 01:30.3 Tab; 01:30.9 type "X"; 01:31.5 check visible content caret; 01:31.5 paste "2. child¦" (¦ is the set caret); 01:32.4 Tab; 01:32.9 type "X"; 01:33.5 check fallback '2. child'; 01:33.5 paste "1. parent\n\n2. child¦" (¦ is the set caret); 01:34.5 Tab; 01:35.0 type "X"; 01:35.6 check fallback '1. parent\n\n2. child'; 01:35.6 paste "1. parent\n   1. child¦" (¦ is the set caret); 01:36.6 Tab; 01:37.1 type "X"; 01:37.7 check fallback '1. parent\n   1. child'

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/66f8bc71305ed402/before-rich.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b8fb39989ba58405/after-rich.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-rich-L.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/05e3f0f3ac0cceac/before-rich-L.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-rich-L.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a026ff8c0e93714b/after-rich-L.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-L-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fbfee2f3ac815436/rich-L-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-L-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a4977802986a41ac/rich-L-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 0; 2% AE: 0; difference bounding box (x0,y0,x1,y1): `None`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- visible content caret: `"10. parent\n  11. Xchild"` → `"10. parent\n    1. Xchild"`.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/77c4d2e4689988f3/rich-L-sheet.png)

## M — continuation prose control / known limitation / rich / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 02:43.7–02:50.4: 02:43.7 paste "10. parent\n    details\n11. ch¦ild" (¦ is the set caret); 02:44.7 Tab; 02:45.2 type "X"; 02:45.8 check continuation prose Tab; 02:45.8 paste "1. parent\n   details\n   1. ¦" (¦ is the set caret); 02:47.0 Shift+Enter; 02:47.6 type "X"; 02:48.2 check continuation prose lift

After chapter 01:40.0–01:46.9: 01:40.0 paste "10. parent\n    details\n11. ch¦ild" (¦ is the set caret); 01:41.0 Tab; 01:41.5 type "X"; 01:42.1 check continuation prose Tab; 01:42.1 paste "1. parent\n   details\n   1. ¦" (¦ is the set caret); 01:43.1 Shift+Enter; 01:43.6 type "X"; 01:44.2 check continuation prose lift

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/66f8bc71305ed402/before-rich.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b8fb39989ba58405/after-rich.mp4).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-rich-M.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/75e7a1116c472c2e/before-rich-M.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-rich-M.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/73c0579ff2a349dc/after-rich-M.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-M-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2afd12416d1812f7/rich-M-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-M-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9481d351443bebd0/rich-M-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 0; 2% AE: 0; difference bounding box (x0,y0,x1,y1): `None`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- No canonical checkpoint difference. The exact still comparison above establishes whether the endpoint is pixel-identical.
- Both revisions stop at continuation prose: Tab retains 11 with a two-space fallback; the empty nested marker exits. This is an existing limitation, not a newly fixed claim.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/401652261c14ab0b/rich-M-sheet.png)

## N — key precedence and rejection gates / rich / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

Before chapter 02:50.4–03:08.2: 02:50.4 paste "1. parent\n2. child¦" (¦ is the set caret); 02:51.6 Tab; 02:52.2 check selected list Tab; 02:52.2 paste "1. parent\n2. child¦" (¦ is the set caret); 02:53.2 Shift+Tab; 02:53.8 check Shift+Tab; 02:53.8 paste "```txt\n1. parent\n2. child\n```¦" (¦ is the set caret); 02:55.1 Tab; 02:55.6 check fenced code Tab; 02:55.6 paste "plain text¦" (¦ is the set caret); 02:56.6 Shift+Enter; 02:57.2 type "X"; 02:57.7 check nonlist Shift+Enter; 02:57.7 paste "¦" (¦ is the set caret); 02:58.7 Shift+Enter; 02:59.2 type "X"; 02:59.9 check empty Shift+Enter; 02:59.9 paste "1. parent\n2. ch¦ild\n3. later" (¦ is the set caret); 03:01.0 Shift+Enter; 03:01.5 type "X"; 03:02.1 check normal nonempty continuation; 03:02.1 paste "¦" (¦ is the set caret); 03:03.1 type "@"; 03:03.6 type "src"; 03:05.3 Tab; 03:05.9 check mention menu Tab

After chapter 01:46.9–02:05.1: 01:46.9 paste "1. parent\n2. child¦" (¦ is the set caret); 01:47.9 Tab; 01:48.5 check selected list Tab; 01:48.5 paste "1. parent\n2. child¦" (¦ is the set caret); 01:49.5 Shift+Tab; 01:50.0 check Shift+Tab; 01:50.0 paste "```txt\n1. parent\n2. child\n```¦" (¦ is the set caret); 01:51.2 Tab; 01:51.8 check fenced code Tab; 01:51.8 paste "plain text¦" (¦ is the set caret); 01:52.8 Shift+Enter; 01:53.3 type "X"; 01:53.9 check nonlist Shift+Enter; 01:53.9 paste "¦" (¦ is the set caret); 01:54.9 Shift+Enter; 01:55.5 type "X"; 01:56.0 check empty Shift+Enter; 01:56.0 paste "1. parent\n2. ch¦ild\n3. later" (¦ is the set caret); 01:57.1 Shift+Enter; 01:57.6 type "X"; 01:58.1 check normal nonempty continuation; 01:58.1 paste "¦" (¦ is the set caret); 01:59.1 type "@"; 01:59.7 type "src"; 02:01.3 Tab; 02:01.9 check mention menu Tab

Record pair: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/66f8bc71305ed402/before-rich.mp4) | [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b8fb39989ba58405/after-rich.mp4).

Selected-list variant: select all content before Tab. Mention variant: type @ then src to open the menu before Tab.

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-rich-N.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cf881b01e8825b47/before-rich-N.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-rich-N.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/acd70f78ea2bb0cb/after-rich-N.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-N-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0664a23e0572c9b9/rich-N-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-N-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/78c6ea883c780daa/rich-N-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

Zero-threshold AE: 0; 2% AE: 0; difference bounding box (x0,y0,x1,y1): `None`.

What else changed (complete observed canonical differences in this chapter; indentation, numbering and line count also move the caret text and composer/empty-state geometry):

- Real selected-list Tab explicitly selects all composer content before pressing Tab; mention priority explicitly types @ then src before Tab. Synthetic rejection cases are in the N harness below.
- No canonical checkpoint difference. The exact still comparison above establishes whether the endpoint is pixel-identical.

[Full before/after/diff sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/094f8d8559e67aa9/rich-N-sheet.png)

## A sent endpoint / plain source / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

**RPC-seeded real renderer; Submit path not exercised.** Create a stopped synthetic thread, dispatch the exact editor snapshot with `defer_start`, then navigate to its real timeline.

Before chapter 00:00.0–00:08.6; After chapter 00:00.0–00:10.9. In each chapter: create → dispatch → navigate → final renderer checkpoint. Before source `"1. parent\n  2. child"`; After source `"1. parent\n   1. child"`.

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-plain-A-sent.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a49ecd306a6d8981/before-plain-A-sent.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-plain-A-sent.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2653431e28e053a6/after-plain-A-sent.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-A-sent-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/78bda5be18c6f4e4/plain-A-sent-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-A-sent-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f3d64ce5ebfe85dc/plain-A-sent-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

What else changed: the child becomes a nested `ol` inside the parent `li`; its marker style, horizontal position and bubble/list geometry follow the existing renderer. Parent start is retained. Timestamp and surrounding UI are controlled. The red Stop square is the stable deferred-start state, not a running provider or loading spinner. AE0=3147; AE2%=3067; bbox=[992, 76, 1088, 166].

[Full sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/75877e4dfe06d9e8/plain-A-sent-sheet.png)

## B sent endpoint / plain source / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

**RPC-seeded real renderer; Submit path not exercised.** Create a stopped synthetic thread, dispatch the exact editor snapshot with `defer_start`, then navigate to its real timeline.

Before chapter 00:08.6–00:19.9; After chapter 00:10.9–00:19.6. In each chapter: create → dispatch → navigate → final renderer checkpoint. Before source `"10. parent\n  11. child"`; After source `"10. parent\n    1. child"`.

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-plain-B-sent.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3586c31dde0bc413/before-plain-B-sent.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-plain-B-sent.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/22819edbe4b22729/after-plain-B-sent.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-B-sent-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3deda3ebb22bef74/plain-B-sent-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![plain-B-sent-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f3f30493865355eb/plain-B-sent-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

What else changed: the child becomes a nested `ol` inside the parent `li`; its marker style, horizontal position and bubble/list geometry follow the existing renderer. Parent start is retained. Timestamp and surrounding UI are controlled. The red Stop square is the stable deferred-start state, not a running provider or loading spinner. AE0=3498; AE2%=3416; bbox=[977, 76, 1088, 166].

[Full sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7eac8f18adc208ed/plain-B-sent-sheet.png)

## A sent endpoint / rich source / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

**RPC-seeded real renderer; Submit path not exercised.** Create a stopped synthetic thread, dispatch the exact editor snapshot with `defer_start`, then navigate to its real timeline.

Before chapter 00:00.0–00:10.9; After chapter 00:00.0–00:10.9. In each chapter: create → dispatch → navigate → final renderer checkpoint. Before source `"1. parent\n  2. child"`; After source `"1. parent\n   1. child"`.

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-rich-A-sent.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a3b1158c2607da7d/before-rich-A-sent.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-rich-A-sent.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9aa3c0ab95881e49/after-rich-A-sent.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-A-sent-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ece53306ebf2a5a4/rich-A-sent-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-A-sent-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/97e725860a1e9da3/rich-A-sent-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

What else changed: the child becomes a nested `ol` inside the parent `li`; its marker style, horizontal position and bubble/list geometry follow the existing renderer. Parent start is retained. Timestamp and surrounding UI are controlled. The red Stop square is the stable deferred-start state, not a running provider or loading spinner. AE0=3147; AE2%=3067; bbox=[992, 76, 1088, 166].

[Full sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ca35a464bf23174c/rich-A-sent-sheet.png)

## B sent endpoint / rich source / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

**RPC-seeded real renderer; Submit path not exercised.** Create a stopped synthetic thread, dispatch the exact editor snapshot with `defer_start`, then navigate to its real timeline.

Before chapter 00:10.9–00:21.4; After chapter 00:10.9–00:19.3. In each chapter: create → dispatch → navigate → final renderer checkpoint. Before source `"10. parent\n  11. child"`; After source `"10. parent\n    1. child"`.

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-rich-B-sent.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9a82c95480213934/before-rich-B-sent.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-rich-B-sent.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bf7db8269391a2de/after-rich-B-sent.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-B-sent-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f8ee13c5d9698290/rich-B-sent-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![rich-B-sent-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fd798ff8e7cf3797/rich-B-sent-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

What else changed: the child becomes a nested `ol` inside the parent `li`; its marker style, horizontal position and bubble/list geometry follow the existing renderer. Parent start is retained. Timestamp and surrounding UI are controlled. The red Stop square is the stable deferred-start state, not a running provider or loading spinner. AE0=3498; AE2%=3416; bbox=[977, 76, 1088, 166].

[Full sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7e8c413917c54c34/rich-B-sent-sheet.png)

## H harness supplement / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

This is explicitly an isolated harness importing the actual checkout helper/handler. Click “Run next fixture” to invoke each displayed case; it does not represent an app-reachable caret or pending-answer UI.

Before: 00:00.7 whitespace-only empty grandchild.

After: 00:00.8 whitespace-only empty grandchild.

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-harness-H.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b32ee6196d809456/before-harness-H.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-harness-H.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/649a6c30df7303de/after-harness-H.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![harness-H-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/740be9be63f22689/harness-H-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![harness-H-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7212593343546da5/harness-H-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

What else changed: only the displayed helper edit result changes for H/L; N guard endpoints reject as before. AE0=306; AE2%=306; bbox=[324, 335, 394, 376].

[Full sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5af5a3a0df155c4e/harness-H-sheet.png)

## L harness supplement / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

This is explicitly an isolated harness importing the actual checkout helper/handler. Click “Run next fixture” to invoke each displayed case; it does not represent an app-reachable caret or pending-answer UI.

Before: 00:04.6 rich marker-internal prefix (unreachable rich caret).

After: 00:04.6 rich marker-internal prefix (unreachable rich caret).

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-harness-L.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/19452f5aa4425867/before-harness-L.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-harness-L.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8fbc2cf922b9ebf8/after-harness-L.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![harness-L-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6aede77eea89758f/harness-L-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![harness-L-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/704c6dcd00f159dc/harness-L-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

What else changed: only the displayed helper edit result changes for H/L; N guard endpoints reject as before. AE0=328; AE2%=328; bbox=[252, 308, 385, 376].

[Full sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/34febc40080fecd1/harness-L-sheet.png)

## N harness supplement / 1440×900 light

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC.

This is explicitly an isolated harness importing the actual checkout helper/handler. Click “Run next fixture” to invoke each displayed case; it does not represent an app-reachable caret or pending-answer UI.

Before: 00:08.1 composition; 00:08.8 missing selection; 00:09.6 stale snapshot; 00:10.3 selection; 00:11.1 literal pending answer; 00:11.8 menu precedence; 00:12.6 Shift+Tab plan precedence; 00:13.3 send precedence; 00:14.1 invalid negative offset; 00:14.8 invalid fractional offset; 00:15.5 invalid beyond-end offset; 00:16.3 mention-internal caret Tab; 00:17.0 mention-internal caret Enter; 00:17.7 Enter before marker padding end; 00:18.5 Enter without marker space.

After: 00:07.5 composition; 00:08.2 missing selection; 00:09.0 stale snapshot; 00:09.7 selection; 00:10.4 literal pending answer; 00:11.2 menu precedence; 00:11.9 Shift+Tab plan precedence; 00:12.7 send precedence; 00:13.4 invalid negative offset; 00:14.2 invalid fractional offset; 00:14.9 invalid beyond-end offset; 00:15.7 mention-internal caret Tab; 00:16.4 mention-internal caret Enter; 00:17.1 Enter before marker padding end; 00:17.9 Enter without marker space.

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-harness-N.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/210ead12229f0679/before-harness-N.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-harness-N.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/56c43bf4b6e90dba/after-harness-N.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![harness-N-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/30c6ea16abc974cd/harness-N-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![harness-N-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b4230fd01c9d38dc/harness-N-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

What else changed: only the displayed helper edit result changes for H/L; N guard endpoints reject as before. AE0=0; AE2%=0; bbox=None.

[Full sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f2df6cf13510aba3/harness-N-sheet.png)

## A sent endpoint / 390×844 dark

Linux; agent-browser 0.39.4 / Chrome for Testing 156.0.8078.47, headless; no device emulation; DPR 1; zoom/font scaling 100%; interface 16px, composer 14px; reduced motion; browser/server clock 2026-10-27 02:00:00 UTC. Viewport override: 390×844 CSS px, dark; still a web browser, no mobile device emulation.

Static real timeline using the A/plain edited snapshots. Both sides use the plain composer setting.

| Before | After | Diff0 | DiffT (2% fuzz) |
|---|---|---|---|
| ![before-A-narrow-dark.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d4b50b2280c77029/before-A-narrow-dark.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) | ![after-A-narrow-dark.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7c1764f111850eb4/after-A-narrow-dark.png)<br>[643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![A-narrow-dark-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/517efcc05e804621/A-narrow-dark-diff0-x16.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) | ![A-narrow-dark-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/59288539be7b2e75/A-narrow-dark-diffT-2pct.png)<br>[becf853def](https://github.com/pingdotgg/t3code/commit/becf853defb6127dbe4447860383777d69346b6f) → [643fca70b2](https://github.com/pingdotgg/t3code/commit/643fca70b2b1b4e502ed84df68e23f90de939cd4) |

What else changed: nested child marker/position and the resulting message bubble geometry. AE0=3161; AE2%=3095; bbox=[282, 76, 378, 166].

[Full narrow sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/33873b9271934917/A-narrow-dark-sheet.png)

## Limits and unverified paths

- All A–N row groups and listed variants are captured. The ordinary Submit/provider-turn path for A/B is unverified; the labelled allowed RPC fallback proves the real stored user-message renderer.
- Reason for the Submit limit: no controlled provider-turn fixture was configured; the matrix explicitly permits the guarded RPC renderer fallback.
- Literal pending-answer UI and impossible rich prefix/chip offsets are represented only by the labelled harness, as allowed by the matrix.
- M records the unchanged continuation-prose limitation. No claim of a fix for that case is made.
- No native mobile, Electron shell, relay or tunnel session was captured; this task requested the shared web helper.

## Scripts and seeds

[change-mode.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/104b7ebe5d4ce107/change-mode.py)
[harness.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ff17ee56826504ed/harness.js)
[build-index.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d55f1ed1b14e1e50/build-index.py)
[driver.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7982648ec7b542c6/driver.py)
[upload-assets.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/da588713b5658a73/upload-assets.py)
[probe-rpc.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/21251b1309da6af7/probe-rpc.py)
[capture-harness.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1f617010b282aff5/capture-harness.py)
[final-capture-pipeline.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fc223d1a7305017e/final-capture-pipeline.py)
[capture-sent.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a46d1822ea7e455f/capture-sent.py)
[freeze-clock.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9c9f504ae9dc8199/freeze-clock.mjs)
[review-frames.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0bb6994f50647295/review-frames.py)
[open-after.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2dbb2a53db18e208/open-after.py)
[capture-narrow.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4b7d718a6600f141/capture-narrow.py)
[probe-env.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e7a7ea884977f8cf/probe-env.py)
[finalize-uploads.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/00e3d55a3fa03585/finalize-uploads.py)
[archive-raw.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/651c37cf3ce58183/archive-raw.py)
[review-supplements.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/df922abf502df782/review-supplements.py)
[seed-thread.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/609c30aafc7e96b6/seed-thread.py)
[build-pairs.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0f7f4d00a677cbe3/build-pairs.py)
[capture-matrix.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d86435c5f81c9bad/capture-matrix.py)
[pipeline-after.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ab25cabb0a066c9c/pipeline-after.py)
[create-thread.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/be93708a757f766e/create-thread.py)

[scripts-and-seeds.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ea21a807edd0d02d/scripts-and-seeds.zip)

[raw-capture-archive.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3bde916ee27279ee/raw-capture-archive.zip)

[capture-audit.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/56781b881b459009/capture-audit.json)

[seed-audit.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8cfc85996f0ddf9d/seed-audit.json)

[review-report.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6eb4a6607e3db0b0/review-report.md)

[media-validation.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/efc6748015e4f04a/media-validation.log)

[server-cleanup.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c2ca3ba23524194b/server-cleanup.log)

[browser-cleanup.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0d8f929f227319ae/browser-cleanup.log)

[FRICTION.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e29087decf0b2b52/FRICTION.md)

FRICTION:
- tool | Preview reported 1440×900 CSS pixels but exported 1280×800 PNGs twice; switched to the explicitly permitted agent-browser fallback. | Preview exports should honor the viewport.
- infra | agent-browser and its Chrome binary were absent; installed them in the existing npm cache and browser cache. | Preinstall the recording tool and browser.
- tool | A long VP8 recording failed with “Recording encoder pipe was blocked for more than 2 seconds”; doctor reported 11 passes, zero warnings/failures. Retook all main and harness recordings as H.264/10fps. | Prefer MP4/10fps for this VM.
- runbook | Browser-only frozen Date left server timestamps uncontrolled; restarted only owned dev processes with a clock preloader, then retook renderer/narrow captures. | Freeze browser and server clocks together.
- tool | Stopping the captured vp parent PID left its owned children alive. Stopped its captured process group instead, without matching or killing unrelated processes. | Document dev-runner process-group teardown.
- model | Initial After thread title differed and one load toast was present; rejected those attempts and used matching titled synthetic threads, closing toasts before recording. | Validate the whole surface before capture starts.
- model | Pasting @src produced a chip without opening the menu; corrected N to type @ then src and retook all selected main runs. | Type menu fixtures rather than pasting them.
- model | Narrow viewport hid the composer that a return wait expected; restored 1440×900 before waiting. | Restore the desktop viewport before desktop locators.
- tool | Before/rich and After/plain recordings contain automation idle gaps. Original timing is retained and exact per-side chapter times are indexed. | A recorder/driver with lower command latency would reduce gaps.
- tool | First bulk upload failed with a transport error after 32 saved links; resumed from the manifest using smaller batches and retries. | Smaller resilient upload batches.


## Upload output (verbatim ghdrop)

![before-plain-A.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/881e0b2f31f85775/before-plain-A.png)
![after-plain-A.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8c1bb0954cc52739/after-plain-A.png)
![plain-A-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/985e12d7f5e11533/plain-A-diff0-x16.png)
![plain-A-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7989b1178953e112/plain-A-diffT-2pct.png)
![plain-A-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/541cfba5e6b736c0/plain-A-sheet.png)
![before-plain-B.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aef80d08729c1138/before-plain-B.png)
![after-plain-B.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/77fa1b6e3704b6eb/after-plain-B.png)
![plain-B-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9e0808b14a2b65eb/plain-B-diff0-x16.png)
![plain-B-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9a9ee0cc2d453c64/plain-B-diffT-2pct.png)
![plain-B-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/85abf18db2bace22/plain-B-sheet.png)
![before-plain-C.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4797bd70d0ee38e1/before-plain-C.png)
![after-plain-C.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7264e9ee1df632cd/after-plain-C.png)
![plain-C-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7df4b619bb59f797/plain-C-diff0-x16.png)
![plain-C-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c71adb3a960f7eef/plain-C-diffT-2pct.png)
![plain-C-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0bf87cecefd4a1ce/plain-C-sheet.png)
![before-plain-D.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bf8608a925c3129b/before-plain-D.png)
![after-plain-D.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f9a764e2ad14f3a4/after-plain-D.png)
![plain-D-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dce86638b190bd9d/plain-D-diff0-x16.png)
![plain-D-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/773ca3900a03fc58/plain-D-diffT-2pct.png)
![plain-D-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c1f69f8720430ac0/plain-D-sheet.png)
![before-plain-E.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b6ca3826e9b68559/before-plain-E.png)
![after-plain-E.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/932fde4a33727b5d/after-plain-E.png)
![plain-E-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a8e1dcafdd425f09/plain-E-diff0-x16.png)
![plain-E-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bc4215366aadccb1/plain-E-diffT-2pct.png)
![plain-E-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bfe738fc2a0bd067/plain-E-sheet.png)
![before-plain-F.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d56bc955b083c5ec/before-plain-F.png)
![after-plain-F.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c286cd70c66ccbdf/after-plain-F.png)
![plain-F-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f14a01c878433ab6/plain-F-diff0-x16.png)
![plain-F-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3e8873d5800b384a/plain-F-diffT-2pct.png)
![plain-F-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/90bb6d503f950a5a/plain-F-sheet.png)
![before-plain-G.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cb5de3dee1bb1975/before-plain-G.png)
![after-plain-G.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aa2639c75b6730de/after-plain-G.png)
![plain-G-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/74798aec38713ab2/plain-G-diff0-x16.png)
![plain-G-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0084c2afe7549251/plain-G-diffT-2pct.png)
![plain-G-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0f8f74f3c237dd94/plain-G-sheet.png)
![before-plain-H.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0e703cf16b420069/before-plain-H.png)
![after-plain-H.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7cb8aefd607b1ee5/after-plain-H.png)
![plain-H-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/87fb646f8b356746/plain-H-diff0-x16.png)
![plain-H-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/81b7c39e5587661e/plain-H-diffT-2pct.png)
![plain-H-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fef36178564efd93/plain-H-sheet.png)
![before-plain-I.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/385776b150e220de/before-plain-I.png)
![after-plain-I.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1f61e407168c6ef2/after-plain-I.png)
![plain-I-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5036c3ac75694a9e/plain-I-diff0-x16.png)
![plain-I-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/10a5ad5c4693e093/plain-I-diffT-2pct.png)
![plain-I-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2f9fced53700a22a/plain-I-sheet.png)
![before-plain-J.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b72fce57d2498af0/before-plain-J.png)
![after-plain-J.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8a7172b360e2267d/after-plain-J.png)
![plain-J-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3a86ba192c7bbf27/plain-J-diff0-x16.png)
![plain-J-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/568a6954e6dcdb9b/plain-J-diffT-2pct.png)
![plain-J-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/116c00761760d548/plain-J-sheet.png)
![before-plain-K.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e96319b96696b1c7/before-plain-K.png)
![after-plain-K.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eb13c293a948cf52/after-plain-K.png)
![plain-K-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0aa7354a0afe67bf/plain-K-diff0-x16.png)
![plain-K-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fce04da6ffed8787/plain-K-diffT-2pct.png)
![plain-K-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c779ff7355814880/plain-K-sheet.png)
![before-plain-L.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ca7b454330205815/before-plain-L.png)
![after-plain-L.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e5c8f33c86a60d09/after-plain-L.png)
![plain-L-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d93eeef5768fb237/plain-L-diff0-x16.png)
![plain-L-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f2bc7ba459eef3b5/plain-L-diffT-2pct.png)
![plain-L-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/636e83eaac14d223/plain-L-sheet.png)
![before-plain-M.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ce51c81b6aa53f04/before-plain-M.png)
![after-plain-M.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/23dbc1ee8820cd01/after-plain-M.png)
![plain-M-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5158658e4ced0f08/plain-M-diff0-x16.png)
![plain-M-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d1b824f97a72d603/plain-M-diffT-2pct.png)
![plain-M-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/df8e0b621e2011ec/plain-M-sheet.png)
![before-plain-N.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/93d1b26eff392187/before-plain-N.png)
![after-plain-N.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/79cc4133d137c13b/after-plain-N.png)
![plain-N-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6fd847d5b0cf9828/plain-N-diff0-x16.png)
![plain-N-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e4ce751d2bdbae56/plain-N-diffT-2pct.png)
![plain-N-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1d2bc2b9a35afef4/plain-N-sheet.png)
![before-plain-A-sent.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a49ecd306a6d8981/before-plain-A-sent.png)
![after-plain-A-sent.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2653431e28e053a6/after-plain-A-sent.png)
![plain-A-sent-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/78bda5be18c6f4e4/plain-A-sent-diff0-x16.png)
![plain-A-sent-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f3d64ce5ebfe85dc/plain-A-sent-diffT-2pct.png)
![plain-A-sent-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/75877e4dfe06d9e8/plain-A-sent-sheet.png)
![before-plain-B-sent.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3586c31dde0bc413/before-plain-B-sent.png)
![after-plain-B-sent.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/22819edbe4b22729/after-plain-B-sent.png)
![plain-B-sent-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3deda3ebb22bef74/plain-B-sent-diff0-x16.png)
![plain-B-sent-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f3f30493865355eb/plain-B-sent-diffT-2pct.png)
![plain-B-sent-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7eac8f18adc208ed/plain-B-sent-sheet.png)
![before-rich-A.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/011f0d0ae8e48f75/before-rich-A.png)
![after-rich-A.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/156927d1b8f3516a/after-rich-A.png)
![rich-A-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/113512d0a6b881ac/rich-A-diff0-x16.png)
![rich-A-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ae05edd1effa011d/rich-A-diffT-2pct.png)
![rich-A-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0e648e758edc0858/rich-A-sheet.png)
![before-rich-B.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/56c98cb85d832563/before-rich-B.png)
![after-rich-B.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/36cfa610ef263b8c/after-rich-B.png)
![rich-B-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/05ace21655cd20b3/rich-B-diff0-x16.png)
![rich-B-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3bbb82a40383d053/rich-B-diffT-2pct.png)
![rich-B-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9b29c8282a1ab645/rich-B-sheet.png)
![before-rich-C.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/22b42cd90120645c/before-rich-C.png)
![after-rich-C.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c13d0fadb015853b/after-rich-C.png)
![rich-C-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ef63b79696f41c2c/rich-C-diff0-x16.png)
![rich-C-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ba6d9caaffb27c7b/rich-C-diffT-2pct.png)
![rich-C-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/359eebf166ba6fe1/rich-C-sheet.png)
![before-rich-D.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f6af5a96ebc8b245/before-rich-D.png)
![after-rich-D.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/385a57ce7de66fbc/after-rich-D.png)
![rich-D-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f4f5db3025b73031/rich-D-diff0-x16.png)
![rich-D-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3f75cf75b01d1054/rich-D-diffT-2pct.png)
![rich-D-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b28acfa2646b1bfd/rich-D-sheet.png)
![before-rich-E.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9710ebc55753e422/before-rich-E.png)
![after-rich-E.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/54ff31d91611492a/after-rich-E.png)
![rich-E-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0d4a41700eb8ea84/rich-E-diff0-x16.png)
![rich-E-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9029cbec540ee44f/rich-E-diffT-2pct.png)
![rich-E-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1af66dc316cacac8/rich-E-sheet.png)
![before-rich-F.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/effb33b647c63497/before-rich-F.png)
![after-rich-F.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b6276a0acc2da0a9/after-rich-F.png)
![rich-F-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/47c4ff7c61fb2d90/rich-F-diff0-x16.png)
![rich-F-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/beb2bbe76297824c/rich-F-diffT-2pct.png)
![rich-F-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3ee31b495312f3e2/rich-F-sheet.png)
![before-rich-G.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3d201d6ab1d98f69/before-rich-G.png)
![after-rich-G.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/87036658968b87f8/after-rich-G.png)
![rich-G-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/75d3e256240c54c0/rich-G-diff0-x16.png)
![rich-G-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/025d8044a9a3d020/rich-G-diffT-2pct.png)
![rich-G-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f58214616e2bcc60/rich-G-sheet.png)
![before-rich-H.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bb555ae536d3cb83/before-rich-H.png)
![after-rich-H.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/29919866925397ce/after-rich-H.png)
![rich-H-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e102ddad6f5dbd30/rich-H-diff0-x16.png)
![rich-H-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ae2297e2113752ca/rich-H-diffT-2pct.png)
![rich-H-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d1b96791901b00a8/rich-H-sheet.png)
![before-rich-I.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/647ad2201b6f86fc/before-rich-I.png)
![after-rich-I.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/129a8297b88d9b8f/after-rich-I.png)
![rich-I-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e63bed8d9f5e2450/rich-I-diff0-x16.png)
![rich-I-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c6f6cd449017d581/rich-I-diffT-2pct.png)
![rich-I-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ae31e55cf59eed88/rich-I-sheet.png)
![before-rich-J.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/708e8018a6de0111/before-rich-J.png)
![after-rich-J.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/749a2ea717f2ef93/after-rich-J.png)
![rich-J-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/54fb0b4e1fcc329a/rich-J-diff0-x16.png)
![rich-J-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fbf7fefa2b8f0aeb/rich-J-diffT-2pct.png)
![rich-J-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/360af32d78678a6f/rich-J-sheet.png)
![before-rich-K.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0f55f851d82a957c/before-rich-K.png)
![after-rich-K.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7244b56d4e78fa00/after-rich-K.png)
![rich-K-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bb78c02f374007d2/rich-K-diff0-x16.png)
![rich-K-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b73682bf6dfb6db4/rich-K-diffT-2pct.png)
![rich-K-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/362a1be83ce46fd2/rich-K-sheet.png)
![before-rich-L.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/05e3f0f3ac0cceac/before-rich-L.png)
![after-rich-L.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a026ff8c0e93714b/after-rich-L.png)
![rich-L-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fbfee2f3ac815436/rich-L-diff0-x16.png)
![rich-L-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a4977802986a41ac/rich-L-diffT-2pct.png)
![rich-L-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/77c4d2e4689988f3/rich-L-sheet.png)
![before-rich-M.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/75e7a1116c472c2e/before-rich-M.png)
![after-rich-M.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/73c0579ff2a349dc/after-rich-M.png)
![rich-M-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2afd12416d1812f7/rich-M-diff0-x16.png)
![rich-M-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9481d351443bebd0/rich-M-diffT-2pct.png)
![rich-M-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/401652261c14ab0b/rich-M-sheet.png)
![before-rich-N.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cf881b01e8825b47/before-rich-N.png)
![after-rich-N.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/acd70f78ea2bb0cb/after-rich-N.png)
![rich-N-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0664a23e0572c9b9/rich-N-diff0-x16.png)
![rich-N-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/78c6ea883c780daa/rich-N-diffT-2pct.png)
![rich-N-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/094f8d8559e67aa9/rich-N-sheet.png)
![before-rich-A-sent.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a3b1158c2607da7d/before-rich-A-sent.png)
![after-rich-A-sent.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9aa3c0ab95881e49/after-rich-A-sent.png)
![rich-A-sent-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ece53306ebf2a5a4/rich-A-sent-diff0-x16.png)
![rich-A-sent-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/97e725860a1e9da3/rich-A-sent-diffT-2pct.png)
![rich-A-sent-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ca35a464bf23174c/rich-A-sent-sheet.png)
![before-rich-B-sent.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9a82c95480213934/before-rich-B-sent.png)
![after-rich-B-sent.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bf7db8269391a2de/after-rich-B-sent.png)
![rich-B-sent-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f8ee13c5d9698290/rich-B-sent-diff0-x16.png)
![rich-B-sent-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fd798ff8e7cf3797/rich-B-sent-diffT-2pct.png)
![rich-B-sent-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7e8c413917c54c34/rich-B-sent-sheet.png)
![before-harness-H.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b32ee6196d809456/before-harness-H.png)
![after-harness-H.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/649a6c30df7303de/after-harness-H.png)
![harness-H-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/740be9be63f22689/harness-H-diff0-x16.png)
![harness-H-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7212593343546da5/harness-H-diffT-2pct.png)
![harness-H-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5af5a3a0df155c4e/harness-H-sheet.png)
![before-harness-L.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/19452f5aa4425867/before-harness-L.png)
![after-harness-L.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8fbc2cf922b9ebf8/after-harness-L.png)
![harness-L-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6aede77eea89758f/harness-L-diff0-x16.png)
![harness-L-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/704c6dcd00f159dc/harness-L-diffT-2pct.png)
![harness-L-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/34febc40080fecd1/harness-L-sheet.png)
![before-harness-N.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/210ead12229f0679/before-harness-N.png)
![after-harness-N.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/56c43bf4b6e90dba/after-harness-N.png)
![harness-N-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/30c6ea16abc974cd/harness-N-diff0-x16.png)
![harness-N-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b4230fd01c9d38dc/harness-N-diffT-2pct.png)
![harness-N-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f2df6cf13510aba3/harness-N-sheet.png)
![before-A-narrow-dark.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d4b50b2280c77029/before-A-narrow-dark.png)
![after-A-narrow-dark.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7c1764f111850eb4/after-A-narrow-dark.png)
![A-narrow-dark-diff0-x16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/517efcc05e804621/A-narrow-dark-diff0-x16.png)
![A-narrow-dark-diffT-2pct.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/59288539be7b2e75/A-narrow-dark-diffT-2pct.png)
![A-narrow-dark-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/33873b9271934917/A-narrow-dark-sheet.png)
[before-plain.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2a84b1c802a2b2c8/before-plain.mp4)
[before-rich.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/66f8bc71305ed402/before-rich.mp4)
[before-harness.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b2d3fa414a3fc3b5/before-harness.mp4)
[before-plain-sent.webm](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/56affbbf02c41b86/before-plain-sent.webm)
[before-rich-sent.webm](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d5aea0b7e8744fde/before-rich-sent.webm)
[after-plain.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/27834b3644289843/after-plain.mp4)
[after-plain-sent.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7c8a0104f1b222fe/after-plain-sent.mp4)
[after-rich.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b8fb39989ba58405/after-rich.mp4)
[after-rich-sent.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5e7bf17dbb21d0fb/after-rich-sent.mp4)
[after-harness.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d587b20dc3a33e5b/after-harness.mp4)
![recording-review-4grid-1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/950f014be138ddd8/recording-review-4grid-1.png)
![recording-review-4grid-10.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6294cd8cf3c9db4a/recording-review-4grid-10.png)
![recording-review-4grid-11.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e4297cf5b9154311/recording-review-4grid-11.png)
![recording-review-4grid-2.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1025651190bfe6d2/recording-review-4grid-2.png)
![recording-review-4grid-3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e436b0749adb758e/recording-review-4grid-3.png)
![recording-review-4grid-4.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/50241ef510b10b80/recording-review-4grid-4.png)
![recording-review-4grid-5.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e70ebcfe51d17234/recording-review-4grid-5.png)
![recording-review-4grid-6.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/be7789cd278b1d64/recording-review-4grid-6.png)
![recording-review-4grid-7.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/288c2694163d46ff/recording-review-4grid-7.png)
![recording-review-4grid-8.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/506dfa5a8580ee75/recording-review-4grid-8.png)
![recording-review-4grid-9.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2fffb43c7836b566/recording-review-4grid-9.png)
![recording-review-4grid-1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8e1c4af117b9c195/recording-review-4grid-1.png)
![recording-review-4grid-10.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4906dffe3f550f54/recording-review-4grid-10.png)
![recording-review-4grid-11.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1a8360717a3c46da/recording-review-4grid-11.png)
![recording-review-4grid-12.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3a8836dadd5cb0bc/recording-review-4grid-12.png)
![recording-review-4grid-2.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/32026480c3b7bc02/recording-review-4grid-2.png)
![recording-review-4grid-3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/da6deb401e35e057/recording-review-4grid-3.png)
![recording-review-4grid-4.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/83e94ec0ee03abd7/recording-review-4grid-4.png)
![recording-review-4grid-5.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9607035b21a8de8b/recording-review-4grid-5.png)
![recording-review-4grid-6.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dba27e938173c5b1/recording-review-4grid-6.png)
![recording-review-4grid-7.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fb4899eb1d2e3f25/recording-review-4grid-7.png)
![recording-review-4grid-8.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bd35645bfc7031a3/recording-review-4grid-8.png)
![recording-review-4grid-9.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a06b3330fdf39458/recording-review-4grid-9.png)
![supplement-review-1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/89c67ba6b99eac55/supplement-review-1.png)
![supplement-review-2.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/64ec1e55cb55caf9/supplement-review-2.png)
![supplement-review-3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3dcad5b24baaf2c6/supplement-review-3.png)
![supplement-review-4.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ffaa99f6ebb3d6c4/supplement-review-4.png)
![supplement-review-5.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5084fb3eab7e758f/supplement-review-5.png)
![supplement-review-1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b3351418bbba7c27/supplement-review-1.png)
![supplement-review-1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/16b13feda2e48230/supplement-review-1.png)
![recording-review-4grid-1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1294cce8266013c1/recording-review-4grid-1.png)
![recording-review-4grid-10.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2ff56be0d8f54520/recording-review-4grid-10.png)
![recording-review-4grid-11.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c0f59dcb5c1a4481/recording-review-4grid-11.png)
![recording-review-4grid-2.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/176a0d83096bab0c/recording-review-4grid-2.png)
![recording-review-4grid-3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/21737fdc44f74a8a/recording-review-4grid-3.png)
![recording-review-4grid-4.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/57149f8ceba0e0ff/recording-review-4grid-4.png)
![recording-review-4grid-5.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/91636f050e9886f6/recording-review-4grid-5.png)
![recording-review-4grid-6.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9b3c181c3e55384d/recording-review-4grid-6.png)
![recording-review-4grid-7.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/711a0c2d00bcd5d2/recording-review-4grid-7.png)
![recording-review-4grid-8.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8f48882023c0071e/recording-review-4grid-8.png)
![recording-review-4grid-9.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6446e21ecac25017/recording-review-4grid-9.png)
![supplement-review-1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4a3b57a70fc959a0/supplement-review-1.png)
![recording-review-4grid-1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1a00c309ba80b9e7/recording-review-4grid-1.png)
![recording-review-4grid-10.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e3a6f291438d1710/recording-review-4grid-10.png)
![recording-review-4grid-11.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/60d1c6a5216eb747/recording-review-4grid-11.png)
![recording-review-4grid-12.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/653051ff99fa262f/recording-review-4grid-12.png)
![recording-review-4grid-2.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/09453b6bab0383e9/recording-review-4grid-2.png)
![recording-review-4grid-3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5739ac25a59c4300/recording-review-4grid-3.png)
![recording-review-4grid-4.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/90a170d229cc1204/recording-review-4grid-4.png)
![recording-review-4grid-5.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b1cd01292e1c5294/recording-review-4grid-5.png)
![recording-review-4grid-6.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e83d4fe0d79b3426/recording-review-4grid-6.png)
![recording-review-4grid-7.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6e7f48df9812c82c/recording-review-4grid-7.png)
![recording-review-4grid-8.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bebf36c28ded0acb/recording-review-4grid-8.png)
![recording-review-4grid-9.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f0c60a3326544c26/recording-review-4grid-9.png)
![supplement-review-1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a40210696bea36c4/supplement-review-1.png)
![supplement-review-1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/272c2398a4c000d0/supplement-review-1.png)
![supplement-review-2.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8b73f06e4dca4eba/supplement-review-2.png)
![supplement-review-3.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c219530d7cdf4fcc/supplement-review-3.png)
![supplement-review-4.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/82233b2bdafb9e64/supplement-review-4.png)
![supplement-review-5.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3cf70b91cb428912/supplement-review-5.png)
[change-mode.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/104b7ebe5d4ce107/change-mode.py)
[harness.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ff17ee56826504ed/harness.js)
[driver.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7982648ec7b542c6/driver.py)
[upload-assets.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/da588713b5658a73/upload-assets.py)
[probe-rpc.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/21251b1309da6af7/probe-rpc.py)
[capture-harness.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1f617010b282aff5/capture-harness.py)
[final-capture-pipeline.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fc223d1a7305017e/final-capture-pipeline.py)
[capture-sent.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a46d1822ea7e455f/capture-sent.py)
[freeze-clock.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9c9f504ae9dc8199/freeze-clock.mjs)
[review-frames.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0bb6994f50647295/review-frames.py)
[open-after.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2dbb2a53db18e208/open-after.py)
[capture-narrow.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4b7d718a6600f141/capture-narrow.py)
[probe-env.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e7a7ea884977f8cf/probe-env.py)
[archive-raw.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/651c37cf3ce58183/archive-raw.py)
[review-supplements.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/df922abf502df782/review-supplements.py)
[seed-thread.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/609c30aafc7e96b6/seed-thread.py)
[build-pairs.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0f7f4d00a677cbe3/build-pairs.py)
[capture-matrix.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d86435c5f81c9bad/capture-matrix.py)
[pipeline-after.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ab25cabb0a066c9c/pipeline-after.py)
[create-thread.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/be93708a757f766e/create-thread.py)
[capture-audit.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/56781b881b459009/capture-audit.json)
[matrix.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6d987c6cc395b596/matrix.md)
[finalize-uploads.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/00e3d55a3fa03585/finalize-uploads.py)
[raw-capture-archive.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3bde916ee27279ee/raw-capture-archive.zip)
[seed-audit.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8cfc85996f0ddf9d/seed-audit.json)
[review-report.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6eb4a6607e3db0b0/review-report.md)
[media-validation.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/efc6748015e4f04a/media-validation.log)
[server-cleanup.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c2ca3ba23524194b/server-cleanup.log)
[browser-cleanup.log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0d8f929f227319ae/browser-cleanup.log)
[FRICTION.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e29087decf0b2b52/FRICTION.md)
[build-index.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d55f1ed1b14e1e50/build-index.py)
[scripts-and-seeds.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ea21a807edd0d02d/scripts-and-seeds.zip)


Capture model/harness: GPT-6.1-sol / Codex. No tracked application files changed.
