Summary
The pretable adapter renders no rows in the bench. scroll reports partial with rendered_rows_peak: 0 at every scale, and pretable's own scroll benchmark — the control the comparative runsets are measured against — produces no numbers at all.
Bisected to #321.
Bisect
S2, pretable, scroll, dev scale, one repeat each:
| commit |
status |
rendered_rows_peak |
scroll_frame_p95_ms |
4bd57b3f (72e7d47d~1) |
completed |
12 |
16.7 |
72e7d47d — feat: complete incremental row-model migration (#321) |
partial |
0 |
— |
94a44d58 (#324) |
partial |
0 |
— |
ef59816e (#325) |
partial |
0 |
— |
8461c8d0 (current main) |
partial |
0 |
— |
Reproduce:
pnpm bench:matrix --adapters=pretable --scripts=scroll --scenarios=S2 --scale=dev --repeats=1
Confirmed at smoke, dev and hypothesis — all three partial, all rendered_rows_peak: 0.
Symptom detail
From the run summary:
scroll viewport unavailable for pretable in current runtime
internal telemetry rendered rows: 0
internal telemetry loaded rows: 3000
internal telemetry planned height: 0
internal telemetry viewport range: 0-0
The model loads its rows (3000) but the surface projects none: planned height 0, viewport range 0-0. So this is the row-model → surface projection, not data loading.
Relationship to #327
Same commit, and plausibly the same seam. #327 is the group script producing 0 group rows; this is the scroll path producing 0 rows of any kind. A probe against the library directly (setQuery({ rowGroups }) on PretableSurface) does produce group rows, and packages/react tests pass, so the library's own path works — which points at how the bench's externally-owned model (createBenchRowModelOwner + model.setQuery) attaches to the surface after the migration.
One inconsistency worth chasing rather than assuming away: the interaction scripts on the same adapter do render rows (rendered_rows_peak 12 at smoke, 7 at dev) while scroll renders none. Whatever the fix is, it has to explain that difference.
Why it wasn't caught
bench:matrix, bench:e2e and bench:budgets are not referenced by any workflow in .github/workflows/, so nothing in CI exercises this. scroll fails loudly as partial when run by hand; group fails silently as completed (#327, fixed by #326).
Impact
Blocks the comparative re-baseline outright: pretable is the control in that runset, and a control that renders nothing cannot carry the comparators beside it. It also means the last recorded pretable scroll figure (17.7 ms p95, 2026-08-11) is the last one that exists.
No evidence of user-facing impact — the library's own grouping and rendering tests pass and the deployed site is unaffected — but that should be confirmed rather than assumed, since the bench is the only place this surfaced.
Summary
The pretable adapter renders no rows in the bench.
scrollreportspartialwithrendered_rows_peak: 0at every scale, and pretable's own scroll benchmark — the control the comparative runsets are measured against — produces no numbers at all.Bisected to #321.
Bisect
S2, pretable,
scroll, dev scale, one repeat each:4bd57b3f(72e7d47d~1)72e7d47d— feat: complete incremental row-model migration (#321)94a44d58(#324)ef59816e(#325)8461c8d0(current main)Reproduce:
Confirmed at smoke, dev and hypothesis — all three
partial, allrendered_rows_peak: 0.Symptom detail
From the run summary:
The model loads its rows (3000) but the surface projects none: planned height 0, viewport range 0-0. So this is the row-model → surface projection, not data loading.
Relationship to #327
Same commit, and plausibly the same seam. #327 is the
groupscript producing 0 group rows; this is the scroll path producing 0 rows of any kind. A probe against the library directly (setQuery({ rowGroups })onPretableSurface) does produce group rows, andpackages/reacttests pass, so the library's own path works — which points at how the bench's externally-owned model (createBenchRowModelOwner+model.setQuery) attaches to the surface after the migration.One inconsistency worth chasing rather than assuming away: the interaction scripts on the same adapter do render rows (
rendered_rows_peak12 at smoke, 7 at dev) whilescrollrenders none. Whatever the fix is, it has to explain that difference.Why it wasn't caught
bench:matrix,bench:e2eandbench:budgetsare not referenced by any workflow in.github/workflows/, so nothing in CI exercises this.scrollfails loudly aspartialwhen run by hand;groupfails silently ascompleted(#327, fixed by #326).Impact
Blocks the comparative re-baseline outright: pretable is the control in that runset, and a control that renders nothing cannot carry the comparators beside it. It also means the last recorded pretable scroll figure (17.7 ms p95, 2026-08-11) is the last one that exists.
No evidence of user-facing impact — the library's own grouping and rendering tests pass and the deployed site is unaffected — but that should be confirmed rather than assumed, since the bench is the only place this surfaced.