Conversation
…ge refresh
Phase 4 of 4 for Tier 1 B2 comparative bench. First runset against real
AG Grid Community v33, TanStack Table v8, and MUI X DataGrid Community
v7 (replacing the previous gridalpha/gridbeta/gridgamma stubs).
Matrix: 4 adapters x 12 scripts x 3 repeats on Chromium S2/hypothesis.
Comparators support {initial, scroll}; {sort, filter-text,
filter-metadata, updates, select-range-extend, keyboard-nav-row,
select-all, scroll-with-format, scroll-with-render,
scroll-with-heavy-render} stay pretable-only per validateSupportedP0aRequest.
H1 status changed from satisfied (against the broken gridalpha stub at
66.7ms / 152px row-height clip) to failing: real MUI X DataGrid Community
clears the same quality sub-criteria as pretable and edges out frame p95
by ~11% (8.7ms vs 9.7ms median). The 10% parity threshold is not met.
Threshold values in scripts/bench-matrix.mjs are unchanged; we ship the
honest failing status rather than re-thresholding.
H6-H8 (sort / metadata-filter / wrapped-text-filter), H16-H21 (selection,
keyboard-nav, select-all, cell-renderer flavors) all remain satisfied
on this runset. H9-H15 are insufficient on this matrix (S5/S7 not run).
Also fixes the bench Playwright spec's adapter-label assertion: getByText
matches visible text but the comparator adapters carry only the product
name visibly with the full "X adapter" string in aria-label only. Switched
to getByLabel().first() so the assertion catches each adapter's mount.
Website /bench page rewritten to cite real product names, real measured
deltas, and the H1 failing status. Replaced LEGACY_ADAPTER_ID_MAP shim
from Phase 1 with direct rendering off the new milestone.
Known gap, deferred follow-up: the autosize script is in BenchScriptName
and the AG Grid adapter has an autosize branch, but it never wires
through query-state's allowlist or bench-runner's supportedScripts. No
historical runset has autosize evidence; the AG Grid branch is dead code
today. Wiring autosize end-to-end is a separate PR.
Spec: docs/superpowers/specs/2026-05-08-tier1-b2-comparative-bench-design.md
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
Vercel preview readyPreview: https://pretable-735nfheeg-cacheplane.vercel.app Updated automatically by the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Phase 4 of 4 for Tier 1 B2 comparative bench. First runset against real third-party grids — AG Grid Community v33, TanStack Table v8 + TanStack Virtual v3, and MUI X DataGrid Community v7 — replacing the gridalpha/gridbeta/gridgamma stubs.
scripts/bench-matrix.mjsare unchanged — we ship the honest failing-H1 status rather than re-threshold./benchpage rewritten to cite real product names, measured deltas, and the new H1 status.LEGACY_ADAPTER_ID_MAPshim from Phase 1 removed; new milestone consumed directly.status/milestones/2026-05-08-b2-comparative-bench.hypotheses.json(full evaluator report)status/milestones/2026-05-08-b2-scroll-summary.json(per-adapter scroll medians for the page)Hypothesis status delta (vs 2026-05-07 bench-slab1 milestone)
H1 raw evidence (S2/hypothesis/Chromium, 3-repeat medians)
Pretable is ~11% above MUI's frame p95 — outside the 10% parity threshold the H1 evaluator enforces. Pretable still passes every absolute quality sub-criterion (≤1px row-height error, 0 anchor shift, 0 blank gaps, 0 long tasks). The wedge moves from "raw frame speed" to "zero-artifact quality + headless-engine surface (sort/filter/selection/streaming primitives)."
Prose draft for /bench page
The page is rendered from the milestone JSONs; key prose blocks now read:
Verdict column on the table is computed from the data (no hardcoded literals).
Side fix: bench Playwright spec adapter-label assertion
Phase 1/2/3 added new aria-labels for each adapter ("AG Grid Community adapter", "TanStack Table adapter", "MUI X DataGrid adapter") but the comparator adapters render only the product name as visible text —
getByTextdoesn't match aria-labels. The matrix run failed on the first AG Grid entry. Switched the spec togetByLabel(adapterLabel).first()(pretable mounts both an outer<section>and an inner<PretableSurface>with the same aria-label, so.first()is required for it). This is a test-side fix; no adapter implementations were touched.Known gaps / What's NOT in this PR
autosizescript wiring.autosizeis inBenchScriptName(packages/bench-runner/src/index.ts) and the AG Grid adapter has anonGridReadyautosize branch, but the query-state parser (apps/bench/src/query-state.ts) does not accept it as a validscriptquery param, andvalidateSupportedP0aRequest'ssupportedScriptsallowlist does not include it. No historical runset has autosize evidence; the AG Grid autosize branch is currently dead code. Phase 4's matrix run dropsautosizefrom the script list as a result. End-to-end wiring (query-state + supportedScripts + pretable + mui handlers; tanstack returnsunsupportedper spec) is a separate follow-up PR.sort/filter-text/filter-metadataare still gated to pretable-only. A future B-phase sub-project should expose comparative interaction latency for the new comparators.applyTransaction-style updates, but this matrix is S2-only; H13/H14/H15 stayinsufficientuntil a S5/updates runset./benchpage layout redesign. Prose was rewritten in place; the visual layout is unchanged.scripts/bench-matrix.mjsare untouched.Test plan
pnpm -w typecheckpassespnpm -w testpasses (190 tests, 62 files)pnpm -w lint0 errorspnpm formatcleaninitial+scroll(Phase 4.1 pre-flight + the runset itself)status/milestones/2026-05-08-b2-comparative-bench.hypotheses.jsonapps/websitebuilds with the rewritten/benchpageDo not auto-merge — block on user review of the prose draft above.
🤖 Generated with Claude Code