Context
#17421 removes apps/devindex and the five e2e specs that navigated to it. Those specs were the app's coverage, and they moved to neomjs/devindex with it — correct disposition, and the operator explicitly accepted removing now.
But three of the five were also engine coverage that merely used the app as a fixture. Most of that survives; two properties do not, and this is the account of which — filed at removal time rather than discovered later as a silent hole.
What survives (measured, not assumed)
| property |
still covered by |
fixture |
| Visual blanking + jitter under scroll |
grid/RowPinning.spec.mjs — the identical test title |
BigData |
| Optical + recycling horizontal scroll |
grid/LockedCellHorizontalStability.spec.mjs |
lockedColumns |
| Scrollbar-routed overdrag, locked region frozen |
grid/ColumnOverdragScroll.spec.mjs |
lockedColumns |
RowPinning.spec.mjs already carried "Scroll Telemetry: Visual Blanking and Jitter Detector" against BigData — the same title the departing spec used — so the jitter half needed no retargeting. Worth stating plainly, because the obvious assumption on reading the removal diff is that it left with the app.
The Problem — two properties genuinely left
1. Pausing mid-thumb-drag no longer has any coverage.
ThumbDragPause.spec.mjs asserted "Pausing during thumb drag keeps pinning active" — hold the scrollbar thumb, stop moving, and pinned rows must stay pinned. RowPinning.spec.mjs contains exactly one test and it is the telemetry one, so nothing remaining exercises a paused drag. The pause is the interesting part: it is the state where a drag is live but no events are arriving, which is exactly when a stale-render bug is invisible to a moving-drag test.
2. neo has no grid scroll benchmark.
GridProfile and GridScrollBenchmark were the only grid wall-clock measurements here. The sole remaining file under e2e/benchmarks/ is HarnessEnduranceBenchmark.spec.mjs, which drives /ai/examples/harnessEndurance/neo/ and measures event-loop lag and heap under a streamed load — a different subject entirely. Nothing in this repository now measures grid scroll cost.
This one is not simply "re-point the old spec". #17421 recorded why: the benchmarks re-baseline at any fixture change (50k rows / 37 columns → 20k / 50 for bigData), so numbers before and after are not comparable and must not be read as a regression. A new series is the honest framing, not a continued one.
Acceptance Criteria
Deliberately not urgent
Neither gap is a live defect and neither blocks #17421 or #17376. This exists so the reduction is observed rather than remembered — a coverage hole with no ticket is indistinguishable from a coverage hole nobody noticed, and #17421's own diff reads as if the coverage simply moved.
Out of Scope
- Restoring the deleted specs here; they navigate to an app this repository no longer contains
GridScrollBenchmark's dormant jank instrument and its scroll target, both marked fixme and now neomjs/devindex's to repair
Related
- #17421 — the removal that produced this reduction
- #17422 — the test migration that preceded it
- #17427 — the grid silent-update defect a paused-drag probe would plausibly exercise
Origin Session ID: 3e4f33e0-fb23-4a61-a2a0-7f396950f3d6
Handoff Retrieval Hints: query_raw_memories("devindex removal grid coverage gap thumb drag pause benchmark"). Anchors: ThumbDragPause.spec.mjs, RowPinning.spec.mjs, HarnessEnduranceBenchmark.spec.mjs.
Context
#17421 removes
apps/devindexand the five e2e specs that navigated to it. Those specs were the app's coverage, and they moved toneomjs/devindexwith it — correct disposition, and the operator explicitly accepted removing now.But three of the five were also engine coverage that merely used the app as a fixture. Most of that survives; two properties do not, and this is the account of which — filed at removal time rather than discovered later as a silent hole.
What survives (measured, not assumed)
grid/RowPinning.spec.mjs— the identical test titlegrid/LockedCellHorizontalStability.spec.mjsgrid/ColumnOverdragScroll.spec.mjsRowPinning.spec.mjsalready carried "Scroll Telemetry: Visual Blanking and Jitter Detector" against BigData — the same title the departing spec used — so the jitter half needed no retargeting. Worth stating plainly, because the obvious assumption on reading the removal diff is that it left with the app.The Problem — two properties genuinely left
1. Pausing mid-thumb-drag no longer has any coverage.
ThumbDragPause.spec.mjsasserted "Pausing during thumb drag keeps pinning active" — hold the scrollbar thumb, stop moving, and pinned rows must stay pinned.RowPinning.spec.mjscontains exactly one test and it is the telemetry one, so nothing remaining exercises a paused drag. The pause is the interesting part: it is the state where a drag is live but no events are arriving, which is exactly when a stale-render bug is invisible to a moving-drag test.2. neo has no grid scroll benchmark.
GridProfileandGridScrollBenchmarkwere the only grid wall-clock measurements here. The sole remaining file undere2e/benchmarks/isHarnessEnduranceBenchmark.spec.mjs, which drives/ai/examples/harnessEndurance/neo/and measures event-loop lag and heap under a streamed load — a different subject entirely. Nothing in this repository now measures grid scroll cost.This one is not simply "re-point the old spec". #17421 recorded why: the benchmarks re-baseline at any fixture change (50k rows / 37 columns → 20k / 50 for bigData), so numbers before and after are not comparable and must not be read as a regression. A new series is the honest framing, not a continued one.
Acceptance Criteria
Deliberately not urgent
Neither gap is a live defect and neither blocks #17421 or #17376. This exists so the reduction is observed rather than remembered — a coverage hole with no ticket is indistinguishable from a coverage hole nobody noticed, and #17421's own diff reads as if the coverage simply moved.
Out of Scope
GridScrollBenchmark's dormant jank instrument and its scroll target, both markedfixmeand nowneomjs/devindex's to repairRelated
Origin Session ID: 3e4f33e0-fb23-4a61-a2a0-7f396950f3d6
Handoff Retrieval Hints:
query_raw_memories("devindex removal grid coverage gap thumb drag pause benchmark"). Anchors:ThumbDragPause.spec.mjs,RowPinning.spec.mjs,HarnessEnduranceBenchmark.spec.mjs.