Conversation
Co-authored-by: Amp <amp@ampcode.com> Signed-off-by: Charlie Croom <ccroom@squareup.com> Amp-Thread-ID: https://ampcode.com/threads/T-01a0a149-b278-7550-acc4-356168b0c4b5
This was referenced Sep 16, 2026
Collaborator
Author
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.
The five near-fit scrolling scenarios previously generated 640 Alpha and 80 Beta rows in each community, then truncated primary Beta. Generate one Alpha row for navigation and exactly the requested Beta count instead. The existing large-history cold/warm/reload and reading-anchor cases remain unchanged.
All browser cases and assertions stay in place. These tests require real layout and virtualization, so none move to a DOM emulator. Fresh identities, relay state and browser contexts remain test-scoped; worker build reuse is unchanged. No production, shared-fixture, dependency, timeout, retry or CI-configuration changes.
Near-fit cases are faster; whole-CI improvement is not established
Baseline: main through #68. Candidate: this change. Independent of unmerged #67.
Two pinned CI comparisons used the unchanged full workflow. GitHub's tested merge tree matches the candidate tree. All four runs used Ubuntu image
20260907.300.1, Playwright 1.60.0, Chromium 148.0.7778.96, WebKit 26.4, Node 24.18.0 and two workers per shard. Hermit, pnpm, browser and native-fixture cache keys matched and were hits; this does not eliminate hosted-runner variability.Baseline A · candidate A · baseline B · candidate B.
† Candidate B failed one Chromium navigation case; its full-run times are not a successful-suite benchmark. All ten near-fit cases passed without retries in every run. The scoped saving repeated, but the fully green comparison's total gate got slower. Baseline alone varied by 129s between identical snapshots. These samples do not establish a whole-CI improvement.
Across all four runs, all 394 test/project identities and shard allocations match. Recorded cold/warm Beta scroll heights, viewport heights and overflow states match for every near-fit case: one/three rows fit, five/seven/nine overflow. Generated history across these ten case/engine combinations falls from 14,400 signed rows to 120. No assertions were removed or moved.
Local macOS arm64 whole-file verification passed 16/16 before and after, with wall time 63.990s → 52.461s (−18.0%). Full local native/measurement scan remains deferred; hosted candidate A passed all CI lanes. No new wall-clock thresholds were added.
Draft: repeated CI exposed an unresolved navigation failure
Candidate B, Chromium shard 2 failed
message-navigation.spec.mjs:148: “Execution context was destroyed” during the firstfixtureNavigation.openin “loaded virtual rows reveal per attempt without thread reads or live-update focus theft.” This shard does not execute the changed file. The trace contains no second document request or app error; its screenshot shows the loaded target. That does not establish a root cause.The full navigation file passed locally in both the exact baseline worktree and candidate (24/24 each, Chromium and WebKit). The CI failure did not reproduce locally and remains unresolved. No retry, timeout increase, assertion weakening or unrelated source change was used to hide it. Keep this draft rather than presenting the latest head as green.
🤖 Prepared with Amp for Charlie Croom.