e2e: slot5-closeout-qa:107 misses the provisional pick when the measured search lands first (test-only race)
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 75/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- playwright, typescript
- Domain
- testing
Research direction
Read slot5-closeout-qa.spec.ts around line 107 and the related #211 acceptance-2 step. Update the test to accept either engrave-recommendation or engrave-pick-measured, and assert the provisional sentence only when the rule block is visible. Run the affected e2e spec repeatedly; it should pass whether the background search finishes before or after the check.
Written by the indexing model from the issue text.
Description
Symptom. The full e2e on m1-follow 65ba8e4a1 (2026-11-07, shard 2, card env) failed one test: slot5-closeout-qa.spec.ts:107 › visual QA: Engrave panel — stock, labels, tool recommendation and depth-coloured preview — expect(getByTestId('engrave-pick-provisional')).toBeVisible({ timeout: 60_000 }) → element(s) not found.
Not a code defect: the window is real but transient. engrave-pick-provisional is rendered only while measuredStatus === 'measuring' AND the rule's reference block (measuredNow === null && rec) is the one on screen. Once the background search lands, engrave-pick-measured replaces the whole block and the provisional span is gone; for the same job fingerprint the store's kept rule never returns the status to measuring, so the 60 s poll cannot recover. The failure screenshot shows exactly that state: measured: a1 measured, “Use the recommendation”, “Chosen by simulation: 98 % fidelity…” — and no engrave-recommendation/engrave-pick-provisional anywhere in the snapshot.
Same sha, isolated: 3/3 pass (18.5 s / 12.7 s / 12.0 s, --repeat-each=3, own port), with measuring candidates 1 of 1… / 1 of 2… visible each time. The earlier full run on 66e181f09 passed the same spec in 9.8 s. So it is a load/timing race in the test's own steps (screenshot + fold-open + two expects) against a background search that can finish first on a busy machine.
Suggested fix (test-only). The fresh-state intent is “the panel offers a cutter at once, and the answer moves once the search lands” — the test already tolerates either offer for the PRESS (engrave-use-recommended or engrave-use-measured). Make the read before it tolerant the same way: poll for engrave-recommendation OR engrave-pick-measured, and only assert the provisional sentence when the rule block is the one on screen (its absence is now a legitimate state, not a failure). The later #211 acceptance-2 step already re-reads the rule box after the job changes, so it stays honest.
Not blocking: it is pre-existing (the spec file is untouched by #1047/#1050/#1051) and does not gate the M1 tray work.
- Dominant language
- TypeScript
- Stars
- 2
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from SlyWombat/CaseMaker
-
fabrication ready
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
fabrication ready
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
deferred fabrication
Difficulty 4/5 3-5 days Newbie friendliness 35/100
-
design-question fabrication
Difficulty 5/5 Over a week Newbie friendliness 15/100
-
Difficulty 3/5 1-2 days Newbie friendliness 52/100
All issues in SlyWombat/CaseMaker
Similar issues
-
Recording drops clicks on links, filters and checkboxes that share a form with a search fieldPossibly taken @columbia11 claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Tencent/BrowserSkill#657 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 65/100
Maintainers usually reply within 2 days
-
Choosing a folder while continuing an Antigravity session submits a history fork the runtime rejectsOpen
Difficulty 2/5 1-3 hours Newbie friendliness 87/100
-
ai-handle
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
nextlevelbuilder/dewee-web-v2#138 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
NEARBuilders/citynode.app#512 ·
Maintainers usually reply within 1 day