Skip to content

chore(e2e): refresh Cypress fixtures so MiniMax M3 appears in dropdown#458

Merged
adibarra merged 4 commits into
masterfrom
claude/pr-456-20260614-0714
Jun 14, 2026
Merged

chore(e2e): refresh Cypress fixtures so MiniMax M3 appears in dropdown#458
adibarra merged 4 commits into
masterfrom
claude/pr-456-20260614-0714

Conversation

@adibarra

@adibarra adibarra commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Note

Low Risk
Test-only URL and comment changes; no production code paths affected.

Overview
After Cypress fixtures made the default inference model (DeepSeek-V4-Pro) FP4-only, two e2e visits that relied on the default model no longer exercised the precision behavior under test.

line-labels.cy.ts now opens /inference with g_model=DeepSeek-R1-0528 alongside i_linelabel=1 and i_prec=fp4,fp8, so both precisions survive effectivePrecisions and the spec can assert dual-precision line labels.

url-params.cy.ts uses the same model for i_prec=fp8, so the precision multiselect shows FP8 instead of falling back to FP4. Comments document why the default model is insufficient.

Reviewed by Cursor Bugbot for commit ca7c284. Bugbot is set up for automated code reviews on this repo. Configure here.

The E2E_FIXTURES=1 cypress build serves availability.json (and the rest of
packages/app/cypress/fixtures/api/) instead of querying the DB. After #456
added MiniMax M3 to the dashboard, the model-architecture.cy.ts spec gained
a new MiniMax M3 describe block that tries to click `MiniMax M3` in the
model dropdown — but the fixture availability.json predated M3, so
GlobalFilterContext.availableModels filtered MiniMax M3 out of the dropdown
and the `cy.contains('MiniMax M3').click()` in the `before all` hook timed
out. The leftover open Radix popper then took out the gpt-oss and DeepSeek
V4 Pro suites with `[role="combobox"]` not visible.

Refreshed via `pnpm --filter app capture:fixtures` (captures from
https://inferencex.semianalysis.com). Verified locally:
`E2E_FIXTURES=1 pnpm start` + `cypress run --spec model-architecture.cy.ts`
→ 45/45 passing.

Co-authored-by: Alec Ibarra <adibarra@users.noreply.github.com>
@adibarra adibarra marked this pull request as ready for review June 14, 2026 07:26
@vercel

vercel Bot commented Jun 14, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
inferencemax-app Ready Ready Preview, Comment Jun 14, 2026 7:43am

Request Review

@blacksmith-sh

This comment has been minimized.

@adibarra

Copy link
Copy Markdown
Contributor Author

@claude keep fixing the cypress tests until they fully pass without issues

@github-actions

github-actions Bot commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Claude finished @adibarra's task in 6m 58s —— View job


Fixed failing Cypress tests

  • Gather context on failing tests
  • Investigate root causes
  • Implement fixes
  • Run E2E tests locally to verify (37/37 passing)
  • Commit and push

Root cause

PR #435 changed the default inference model to DeepSeek-V4-Pro (dsv4). The refreshed availability fixture lists dsv4 with FP4 only at both 1K/1K and 8K/1K sequences. When the failing tests visited /inference?i_prec=fp8…, GlobalFilterContext's effectivePrecisions intersected the URL-seeded ['fp8'] against the available set ['fp4'], producing an empty result and falling back to FP4. The precision-multiselect consequently rendered "FP4" instead of "FP8", and no FP8 line label was drawn.

The sibling test …with multiple URL params seeds all of them… already worked around this by passing g_model=DeepSeek-R1-0528 alongside i_prec=fp8. I applied the same pattern — minus the fixture refresh — to the two failing specs.

Changes (commit 3c73c14)

  • packages/app/cypress/e2e/url-params.cy.ts:188/inference?i_prec=fp8 seeds the precision… now visits with g_model=DeepSeek-R1-0528&i_prec=fp8.
  • packages/app/cypress/e2e/line-labels.cy.ts:82appends the precision to each line label… now visits with g_model=DeepSeek-R1-0528&i_linelabel=1&i_prec=fp4,fp8.

A short code comment in each test explains why the model is being pinned.

Local verification

✔  url-params.cy.ts                         00:55       29       29
✔  line-labels.cy.ts                        00:08        8        8
✔  All specs passed!                        01:04       37       37

| Branch: claude/pr-456-20260614-0714

After PR #435 made DeepSeek-V4-Pro the default model, the refreshed
availability fixture (which includes only FP4 for dsv4) caused
`effectivePrecisions` to intersect the URL-seeded ['fp8'] with the
available set and fall back to FP4. The precision-multiselect then
rendered FP4 instead of the expected FP8.

Add `g_model=DeepSeek-R1-0528` to the two affected specs so the URL
selection is meaningful — matching the workaround already used by the
"multiple URL params" test in url-params.cy.ts.

Co-authored-by: Alec Ibarra <adibarra@users.noreply.github.com>
@adibarra

Copy link
Copy Markdown
Contributor Author

@claude linter/formatter failing fix

@github-actions

github-actions Bot commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Claude finished @adibarra's task in 2m 5s —— View job


Linter/formatter fixed

  • Run lint + format checks to identify failures
  • Apply fixes
  • Verify clean
  • Commit and push

Result

  • pnpm lint → already clean (exit 0)
  • pnpm fmt → 3 fixture files had format drift:
    • packages/app/cypress/fixtures/api/benchmarks-history.json
    • packages/app/cypress/fixtures/api/benchmarks.json
    • packages/app/cypress/fixtures/api/workflow-info.json
  • Ran pnpm fmt:fix; re-ran both checks → both now pass.

Committed as ca7c284 and pushed to claude/pr-456-20260614-0714.
| Branch: claude/pr-456-20260614-0714

Co-authored-by: Alec Ibarra <adibarra@users.noreply.github.com>
@adibarra adibarra merged commit 528c414 into master Jun 14, 2026
18 checks passed
@adibarra adibarra deleted the claude/pr-456-20260614-0714 branch June 14, 2026 07:45
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.

1 participant