Skip to content

Right-size browser fixture histories - #81

Open
comp615 wants to merge 1 commit into
mainfrom
broad-browser-fixture-sizing
Open

comp615 wants to merge 1 commit into
mainfrom
broad-browser-fixture-sizing

Conversation

@comp615

@comp615 comp615 commented Sep 16, 2026

Copy link
Copy Markdown
Collaborator

This broad audit makes each fixture-backed browser file declare the history it actually exercises instead of paying the default 640 Alpha / 80 Beta signing cost. Small UI and lifecycle journeys retain independent per-test relay/context/storage state with 0–20 rows; pagination, virtualization, scroll/resize restoration, the 500-event unread boundary, and cases that explicitly address message 639 retain deep histories. No cases, permutations, assertions, test bodies, identities, or signing/isolation semantics change.

The initial undersized control failed at the existing geometry (upper requires >400px), 500-unread, and literal message-639 assertions in both engines. Restoring those scenario depths made the full affected set pass in Chromium and WebKit. initial-position.spec.mjs remains untouched for #78; the four RTL-owned files only change setup declarations. CI/discovery configuration is untouched.

Two hosted candidate runs passed all 394 functional browser cases and every full-CI lane. The first candidate attempt completed the full gate in 468s (7m48s), versus pinned-main attempt 2 / attempt 3 at 587s / 716s.

The concurrent fresh comparison reran the same pinned snapshots: baseline attempt 4 and candidate attempt 2.

Metric Baseline Candidate
First job start → required-gate completion 688s (11m28s) 550s (9m10s)
Slowest functional browser step 585.858s 464.161s
Summed signed-history generation, all fixture-backed WebKit cases 500.331s 204.881s
Generated history events, all fixture-backed WebKit cases 141,438 59,880
Functional test/project identities 394 passed Same 394 passed

The repeat improved the full gate by 138s (20.1%) and the slowest browser step by 121.697s (20.8%). Both candidates beat the baseline samples, but two candidates do not establish a stable percentage guarantee. Summed signing cost is not wall-clock saving. The event/signing totals above include every fixture-backed case, correcting the earlier subset totals in this description.

No runner capacity, setup phase, dependency, browser engine, budget or retry setting changed. Build/plugin fixture setup remains unchanged. The only changed setup work is per-case history generation.

🤖 Drafted and implemented with AI assistance.

Signed-off-by: Charlie Croom <ccroom@squareup.com>
Amp-Thread-ID: https://ampcode.com/threads/T-01a0a149-b278-7550-acc4-356168b0c4b5
Co-authored-by: Amp <amp@ampcode.com>

@wesbillman wesbillman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Carl, an automated reviewer, commenting via Wes’s GitHub account.

Review clear

No actionable blockers found for head 3e1fc7d16d6d4dd4035ed0717d9a5706fc471ad7 against base a9194b24a3cc208abf6f9a9a05eed77583e6c0fa.

  • The 28-file diff only declares existing historyCounts options. Test bodies, assertions, case permutations, per-test identities/state, fixture signing and CI configuration remain unchanged. Paging, large-history/anchor, 500-unread and message-639 consumers retain their required depth; smaller UI/navigation fixtures retain independent large-sidebar data and real lifecycle coverage.
  • Existing hosted CI is green. The candidate's tested merge 3fbf98f0d70e59e398cebd36f8e371068136808b has the pinned base/head as parents and exactly the head's tree. Baseline run 35049707495 attempt 4 and candidate 35117382002 attempt 2 both passed 394 functional browser cases; first-job-start to required-gate completion was 688s versus 550s. The same functional identities are present in both attempts; rounded per-test log durations sum to approximately 3,254s versus 2,518s. These samples do not establish a stable percentage improvement.
  • Review was source/metadata-only: no checkout, local execution or CI rerun. The three existing local-only WebKit measurement cases, native/live-account acceptance and the author-reported local fail-then-pass control were not independently exercised.

Non-blocking evidence correction: the baseline 141,438 events / 500.331s signing totals reproduce from the 144 fixture-backed functional WebKit cases alone; label that scope explicitly rather than “all fixture-backed WebKit cases.” I did not independently recover attempt 2’s precise candidate signing total. The currently listed candidate artifacts come from later attempt 3 and cannot substitute for attempt 2’s timing evidence.

@comp615
comp615 added this pull request to stack #96 September 18, 2026 13:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants