# Evidence r2b — R02 and R09b recapture

Recaptured exactly R02 and R09b for [#32826](https://git.cafe/pingdotgg/t3code/pull/32826) ([GitHub #32826](https://github.com/pingdotgg/t3code/pull/32826)). Before [20c3dd3689](https://git.cafe/pingdotgg/t3code/commit/20c3dd3689782bfcb1a04332086d08017028c718); after [f57ff765d8](https://git.cafe/pingdotgg/t3code/commit/f57ff765d849ae3b730e7ccdc5bbd86a0219c97a). R01/R07b were not rerun. No edit or commit in the PR worktree; no paid provider turn, push, PR post or repository check suite.

**Both full-frame primary comparisons have zero sidebar pixels above threshold 16, and zero above 16 anywhere outside the timeline.** Their painted viewport height, current assistant DOM text count, and total content height match exactly. No masking, cropping, pixel replacement or capture CSS was used. Primary PNG files are byte-identical copies of their recorded source frames.

## Rendering and isolation

Playwright 1.60.0, HeadlessChrome 148.0.7778.96, Linux x86_64; viewport 1440×900; DPR 1; font scale 1; root 16px; dark; normal motion; loaded fonts; panel animation 200ms. Browser Date frozen at 2026-11-10T12:00:00.000Z; performance clock and real Replay streaming remain live. Full 1440×900 surfaces are retained. MP4s are 60fps H264 reconstructed with original CDP frame timestamps; repeated frames between paints do not imply 60 distinct paints per second.

Each exact-commit detached checkout created its own fresh database with T3CODE_DEV_SEED=0. Data was created through app/CLI services only. The same synthetic Replay transcript was installed before server launch. Each side has one synthetic evidence thread and the same inactive default New thread in the server project. Background fixture accumulation from the previous round is gone. Both active rows show the same frozen Working 0s status in the selected frames. No live userdata was read/copied, no migration was run, and no VITE origins were set. Only the synthetic Replay transcript changed in the disposable checkouts.

## Distance series summary

Distance is scrollHeight−clientHeight−scrollTop in CSS pixels, cross-checked against each observer delivery. Height-change peak includes deliveries whose viewport height differs from the previous delivery. All-delivery peak retains unchanged-height deliveries too. rAF sampling can precede resize correction; its gap beside a recorded frame is a nearby sample, not an assertion of exact compositor timing.

| Row | Height-changing RO peak before → after | All RO peak before → after | RO deliveries before / after | Height changes before / after |
|---|---:|---:|---:|---:|
| R02 | 714 → 0px | 714 → 0px | 9 / 8 | 6 / 6 |
| R09b | 623 → 0px | 623 → 112px | 21 / 22 | 17 / 18 |

R09b's 112px after delivery has unchanged viewport height during content growth; it is retained explicitly. Its settled re-follow resize peak is 623→0px; its overlapping return/resize peak is 464→0px. Pure content growth still uses smooth following; this report does not claim zero distance on every content-growth frame. Both sides are working throughout all four recordings.

[verification.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/caf460f640b03d9a/verification.json) · [metrics.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8c20a6e155d74d49/metrics.json) · [diff-statistics.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5dafc7b644d8b33b/diff-statistics.json) · [verify-r2b.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eb0d8e34d65d4497/verify-r2b.py)

## Full-frame diff quality

Diff0 highlights every nonzero max absolute 8-bit RGB channel difference, amplified16×. DiffT highlights strictly greater than 16. The unmasked comparison is computed over the entire frame. The unchanged regions are sidebar x0–255/all y, header x256–1439/y0–51, terminal x256–1439/y298–899. The timeline/composer region is x256–1439/y52–297.

| Row | Diff0 pixels | DiffT pixels | Sidebar >16 | Header >16 | Terminal >16 | All outside timeline >16 |
|---|---:|---:|---:|---:|---:|---:|
| R02 | 54,482 | 18,121 | 0 | 0 | 0 | 0 |
| R09b | 100,329 | 18,536 | 0 | 0 | 0 | 0 |

The before frames intentionally show the baseline defect: current content is hidden under the composer as the viewport shrinks. Different visible paragraph numbers are caused by the different scroll positions, with identical underlying streaming text and layout content height. These are original painted app states, not screenshot overlays. Both sides' sidebar, header and terminal remain identical above the requested threshold.

## R02

Approve the held edit to start the extended synthetic markdown reply. Close the tall drawer, reopen it while markdown continues, then watch later text arrive after the 602px viewport shrink (848→246px).

Narrated steps for the recording pair immediately below; times are seconds from the first recorded CDP frame. Action marks occur immediately before the interaction.

| Step | Before seconds | After seconds |
|---|---:|---:|
| approve: start extended synthetic Replay reply | 0.462 | 0.449 |
| close tall drawer during streaming | 1.444 | 1.508 |
| reopen tall drawer during streaming | 2.018 | 2.202 |
| drawer settled; observe continued streaming | 2.592 | 2.795 |
| post-resize continuation complete | 6.103 | 6.299 |

**Before:** [R02-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/95e86e6d9c48a8ea/R02-before.mp4) — [20c3dd3689](https://git.cafe/pingdotgg/t3code/commit/20c3dd3689782bfcb1a04332086d08017028c718). **After:** [R02-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7c3547b3add069a9/R02-after.mp4) — [f57ff765d8](https://git.cafe/pingdotgg/t3code/commit/f57ff765d849ae3b730e7ccdc5bbd86a0219c97a).

Video review sheets: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a0b88ea64a0dddf8/R02-before-review.png) · [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8304ca317cb39bc4/R02-after-review.png).

**Primary matched phase:** before record 2527.635ms; after record 2667.134ms. Both painted viewport 246px, visible current-assistant DOM text count 1,091, content height 4,435px. Nearest rAF end-distance samples 393 / 0px. All 224 candidate pairs satisfying the height/text/content-height match had zero pixels above 16 outside the timeline; the largest before sampled gap was selected.

| Before | After | Diff0 (16×) | DiffT (>16) |
|---|---|---|---|
| ![R02 Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/889410e70ac1a21b/R02-before.png)<br>[20c3dd3689](https://git.cafe/pingdotgg/t3code/commit/20c3dd3689782bfcb1a04332086d08017028c718) | ![R02 After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/18407402216ad498/R02-after.png)<br>[f57ff765d8](https://git.cafe/pingdotgg/t3code/commit/f57ff765d849ae3b730e7ccdc5bbd86a0219c97a) | ![R02 Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c03a542947a5c623/R02-Diff0.png)<br>[20c3dd3689](https://git.cafe/pingdotgg/t3code/commit/20c3dd3689782bfcb1a04332086d08017028c718)→[f57ff765d8](https://git.cafe/pingdotgg/t3code/commit/f57ff765d849ae3b730e7ccdc5bbd86a0219c97a) | ![R02 DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/45d37e7571898aba/R02-DiffT.png)<br>[20c3dd3689](https://git.cafe/pingdotgg/t3code/commit/20c3dd3689782bfcb1a04332086d08017028c718)→[f57ff765d8](https://git.cafe/pingdotgg/t3code/commit/f57ff765d849ae3b730e7ccdc5bbd86a0219c97a) |

[Phase/source selection](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cb79dcef46cd4bdb/R02-phase-selection.json) · [Comparison sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0e01e77dd99c9490/R02-sheet.png).

![R02 complete ResizeObserver distance series](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e6dcb6b2f84106c8/R02-distance-series.png)

Observer CSVs: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/878e71f17e0861f8/R02-before-RO-series.csv) · [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/179233ef53a2efb7/R02-after-RO-series.csv). Full traces: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/01202daade615e6f/R02-before-trace.json) · [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f95f7ccf5031928f/R02-after-trace.json).

After the drawer-settled mark, before text grows 1091→3392chars and content 4435→5161px; after text grows 1268→3569chars and content 4435→5217px. Every sampled frame in these continuation windows has following=true. The after continuation smooth-follow wave peaks 112px and decays; this is ordinary content growth, separate from height-change pinning.

## R09b

Release follow with a wheel-up gesture, press the actual end button, and wait for following=true and physical distance<=1px before closing/reopening the drawer. Then repeat with a resize 121/122ms after the end-button click, while the smooth return is still running; continue observing streaming afterward.

Narrated steps for the recording pair immediately below; times are seconds from the first recorded CDP frame. Action marks occur immediately before the interaction.

| Step | Before seconds | After seconds |
|---|---:|---:|
| release follow: wheel up while streaming | 0.482 | 0.450 |
| press actual end button | 1.349 | 1.326 |
| physical end reached; close drawer | 2.268 | 2.127 |
| reopen after settled re-follow | 2.760 | 2.592 |
| streaming continues after settled re-follow resize | 3.429 | 3.104 |
| overlap: release again | 5.637 | 5.334 |
| overlap: press end | 6.321 | 6.094 |
| overlap: close drawer before return settles | 6.442 | 6.216 |
| overlap: reopen drawer | 7.125 | 6.932 |
| streaming continues after overlapping resize | 8.014 | 7.903 |

**Before:** [R09b-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/68fdb2f26053491a/R09b-before.mp4) — [20c3dd3689](https://git.cafe/pingdotgg/t3code/commit/20c3dd3689782bfcb1a04332086d08017028c718). **After:** [R09b-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e946981f9f313de6/R09b-after.mp4) — [f57ff765d8](https://git.cafe/pingdotgg/t3code/commit/f57ff765d849ae3b730e7ccdc5bbd86a0219c97a).

Video review sheets: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/16772cbcafeee6fd/R09b-before-review.png) · [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9310bfda86c6bd9f/R09b-after-review.png).

**Primary matched phase:** before record 3285.683ms; after record 3519.039ms. Both painted viewport 246px, visible current-assistant DOM text count 7,640, content height 6,503px. Nearest rAF end-distance samples 714 / 0px. All 100 candidate pairs satisfying the height/text/content-height match had zero pixels above 16 outside the timeline; the largest before sampled gap was selected.

| Before | After | Diff0 (16×) | DiffT (>16) |
|---|---|---|---|
| ![R09b Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b428a86b65488052/R09b-before.png)<br>[20c3dd3689](https://git.cafe/pingdotgg/t3code/commit/20c3dd3689782bfcb1a04332086d08017028c718) | ![R09b After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ef15d9145e4e69e0/R09b-after.png)<br>[f57ff765d8](https://git.cafe/pingdotgg/t3code/commit/f57ff765d849ae3b730e7ccdc5bbd86a0219c97a) | ![R09b Diff0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2a173d5125e97da5/R09b-Diff0.png)<br>[20c3dd3689](https://git.cafe/pingdotgg/t3code/commit/20c3dd3689782bfcb1a04332086d08017028c718)→[f57ff765d8](https://git.cafe/pingdotgg/t3code/commit/f57ff765d849ae3b730e7ccdc5bbd86a0219c97a) | ![R09b DiffT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/54568e2fc68dc23a/R09b-DiffT.png)<br>[20c3dd3689](https://git.cafe/pingdotgg/t3code/commit/20c3dd3689782bfcb1a04332086d08017028c718)→[f57ff765d8](https://git.cafe/pingdotgg/t3code/commit/f57ff765d849ae3b730e7ccdc5bbd86a0219c97a) |

[Phase/source selection](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7a66b416452e1cb7/R09b-phase-selection.json) · [Comparison sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6fed85c0325d13ba/R09b-sheet.png).

![R09b complete ResizeObserver distance series](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/629c1e978b55b65b/R09b-distance-series.png)

Observer CSVs: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5bd7485c94443988/R09b-before-RO-series.csv) · [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/821499c3f3a08007/R09b-after-RO-series.csv). Full traces: [Before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/784e7876df1ae588/R09b-before-trace.json) · [After](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bd4d2b5ee481eb89/R09b-after-trace.json).

At the physical-end milestone both sides have 6755chars, following=true and distance 1px, before the separate close/reopen. Between the first settled-resize continuation mark and the overlap release, before text grows 7640→9056chars; after 7286→8702. After the overlapping-resize continuation mark, text grows 10295→13481 before and 10472→13658 after by the final sample. Actual streaming and working state remain present.

## Reproduction and source evidence

[Reproduction-r2b.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d073932cfe58cf4d/Reproduction-r2b.md) · [capture-r2b-scripts.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/56e423542118002d/capture-r2b-scripts.zip) · [capture-r2b-metadata.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3557b7484d0c01d8/capture-r2b-metadata.zip) · [artifact-manifest.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/db5fa76b1becfb83/artifact-manifest.json). The verifier source is uploaded separately alongside the reused/modified scripts bundle. Metadata includes matching preparation state, rendering conditions, quiet initial PNGs and sanitized logs. Each raw ZIP contains all original PNG frames, trace.json and frames.json for that row/side; frame timestamps preserve real timing. No superseded capture runs are included in this round.

All 8 primary stills/diffs, both comparison sheets, both distance charts, quiet initial stills and all 4 video review sheets were opened and visually inspected before upload. Pixel counts were independently recomputed from the primary source images; PNG byte identity and matching text/content-height phases were asserted.

## Cleanup

Both spawned dev-server groups and the tracked browser group stopped; ports 6092,7729,14132,15769,19837 closed. Both owned capture worktrees removed after source/evidence upload. The PR worktree was never edited or committed. The owned shared preview tab was closed; no simulator or lease was started. [Cleanup confirmation](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fdacaec09e05749e/cleanup-confirmation.json). Scratch removal follows this report's upload. This recapture finished within the 50-minute budget.

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

FRICTION:

- runbook | The first before-side project registration raced server readiness and hit the ownership guard | Wait for both server Listening and Vite readiness before project/seed/pair commands.
- runbook | The supplied driver assumed an active environment route and waited for network idle; initial route was root and dev traffic did not become idle | Activate the thread explicitly and wait for document/UI readiness.
- tool | html_preview rejected the initial missing-doctype document and then its corrected comparison timed out after 20seconds | Start with a complete HTML document; a working preview renderer would avoid the timeout. html_render successfully showed the compact measurement chart.

[Report builder](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c379ecda01520caf/build-r2b-report.py).

## Verbatim ghdrop output

![R02-Diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c03a542947a5c623/R02-Diff0.png)
![R02-DiffT.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/45d37e7571898aba/R02-DiffT.png)
[R02-after-RO-series.csv](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/179233ef53a2efb7/R02-after-RO-series.csv)
[R02-after-frames.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/99513c6f4e118959/R02-after-frames.json)
[R02-after-raw.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/643d8692fe029c5b/R02-after-raw.zip)
![R02-after-review.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8304ca317cb39bc4/R02-after-review.png)
[R02-after-trace.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f95f7ccf5031928f/R02-after-trace.json)
[R02-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7c3547b3add069a9/R02-after.mp4)
![R02-after.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/18407402216ad498/R02-after.png)
[R02-before-RO-series.csv](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/878e71f17e0861f8/R02-before-RO-series.csv)
[R02-before-frames.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f8e0ea4d6f4781c4/R02-before-frames.json)
[R02-before-raw.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bb92b05fa8d59b00/R02-before-raw.zip)
![R02-before-review.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a0b88ea64a0dddf8/R02-before-review.png)
[R02-before-trace.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/01202daade615e6f/R02-before-trace.json)
[R02-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/95e86e6d9c48a8ea/R02-before.mp4)
![R02-before.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/889410e70ac1a21b/R02-before.png)
![R02-distance-series.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e6dcb6b2f84106c8/R02-distance-series.png)
[R02-phase-selection.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cb79dcef46cd4bdb/R02-phase-selection.json)
![R02-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0e01e77dd99c9490/R02-sheet.png)
![R09b-Diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2a173d5125e97da5/R09b-Diff0.png)
![R09b-DiffT.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/54568e2fc68dc23a/R09b-DiffT.png)
[R09b-after-RO-series.csv](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/821499c3f3a08007/R09b-after-RO-series.csv)
[R09b-after-frames.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6f01867a816f9500/R09b-after-frames.json)
[R09b-after-raw.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f0b2b8bd83c51bd5/R09b-after-raw.zip)
![R09b-after-review.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9310bfda86c6bd9f/R09b-after-review.png)
[R09b-after-trace.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bd4d2b5ee481eb89/R09b-after-trace.json)
[R09b-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e946981f9f313de6/R09b-after.mp4)
![R09b-after.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ef15d9145e4e69e0/R09b-after.png)
[R09b-before-RO-series.csv](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5bd7485c94443988/R09b-before-RO-series.csv)
[R09b-before-frames.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0246b4568113da01/R09b-before-frames.json)
[R09b-before-raw.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0be8e8fd1ba543c5/R09b-before-raw.zip)
![R09b-before-review.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/16772cbcafeee6fd/R09b-before-review.png)
[R09b-before-trace.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/784e7876df1ae588/R09b-before-trace.json)
[R09b-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/68fdb2f26053491a/R09b-before.mp4)
![R09b-before.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b428a86b65488052/R09b-before.png)
![R09b-distance-series.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/629c1e978b55b65b/R09b-distance-series.png)
[R09b-phase-selection.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7a66b416452e1cb7/R09b-phase-selection.json)
![R09b-sheet.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6fed85c0325d13ba/R09b-sheet.png)
[artifact-manifest.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/db5fa76b1becfb83/artifact-manifest.json)
[capture-r2b-metadata.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3557b7484d0c01d8/capture-r2b-metadata.zip)
[capture-r2b-scripts.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/56e423542118002d/capture-r2b-scripts.zip)
[diff-statistics.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5dafc7b644d8b33b/diff-statistics.json)
[metrics.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8c20a6e155d74d49/metrics.json)

[Reproduction-r2b.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d073932cfe58cf4d/Reproduction-r2b.md)
[verification.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/caf460f640b03d9a/verification.json)
[verify-r2b.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eb0d8e34d65d4497/verify-r2b.py)

[cleanup-confirmation.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fdacaec09e05749e/cleanup-confirmation.json)
[build-r2b-report.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c379ecda01520caf/build-r2b-report.py)
