mirror of
https://github.com/AmanTahiliani/box-box.git
synced 2026-08-07 11:54:59 -04:00
Compare commits
1 Commits
c475011c49
...
review-pr-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
910301d2ce |
17
docs/reviews/pr-69/index.html
Normal file
17
docs/reviews/pr-69/index.html
Normal file
@@ -0,0 +1,17 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>PR #69 browser QA</title>
|
||||
<style>body{margin:2rem;background:#111;color:#eee;font-family:system-ui,sans-serif}img{display:block;max-width:100%;margin:1rem 0 3rem;border:1px solid #444}h1{margin-bottom:.25rem}p{color:#bbb}</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>PR #69 browser QA</h1>
|
||||
<p>Race Story — hermetic seeded preview</p>
|
||||
<h2>Desktop</h2>
|
||||
<img src="screenshots/race-story-desktop.png" alt="Race Story desktop QA">
|
||||
<h2>Mobile</h2>
|
||||
<img src="screenshots/race-story-mobile.png" alt="Race Story mobile QA">
|
||||
</body>
|
||||
</html>
|
||||
BIN
docs/reviews/pr-69/screenshots/race-story-desktop.png
Normal file
BIN
docs/reviews/pr-69/screenshots/race-story-desktop.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 61 KiB |
BIN
docs/reviews/pr-69/screenshots/race-story-mobile.png
Normal file
BIN
docs/reviews/pr-69/screenshots/race-story-mobile.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
42
docs/reviews/pr-69/summary.md
Normal file
42
docs/reviews/pr-69/summary.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# PR #69 — Race Story polish review
|
||||
|
||||
Result: **NEEDS CHANGES**
|
||||
|
||||
- Reviewer harness: Codex, including browser QA against the hermetic seeded preview
|
||||
- Implementer harness: Cursor
|
||||
- Scope: issue #68 — Race Story UX polish
|
||||
|
||||
## Blocking findings
|
||||
|
||||
1. **Existing E2E coverage fails.** `npm run test:e2e` has one failure in `tests/race-hub.spec.ts`: it still expects the existing missing-positions notice, but the PR replaces it with new empty-state copy without updating the E2E assertion. The issue's definition of done requires existing suites to stay green.
|
||||
2. **Chapter selection is not visibly synchronized for data with partial position coverage.** Browser QA on the seeded `session_key=9472` route showed that clicking either chapter leaves both cards unhighlighted. `chapterStartScrub` clamps a chapter outside the position chart's time window to 0 or 1, while `activeChapterIndex` checks the unclamped timestamps. The scrubber and active card therefore disagree. This is a direct miss on the active-chapter highlight/jump acceptance criterion.
|
||||
|
||||
## Gates
|
||||
|
||||
- `go test ./...` — pass
|
||||
- `npm run test` — pass, 393/393 across 51 files
|
||||
- `npm run build` — pass (`tsc --noEmit` + Vite build)
|
||||
- `npm run test:e2e` — **fail**, 27/28 (missing-positions assertion)
|
||||
- `npm run test:visual` — pass, 15/15 including new Race Story snapshots
|
||||
- `git diff --check origin/main...HEAD` — pass
|
||||
- Browser QA — desktop and mobile rendered without console warnings/errors; the map control was correctly absent when seeded replay data was unavailable
|
||||
|
||||
## Visual artifacts
|
||||
|
||||
- `screenshots/race-story-desktop.png`
|
||||
- `screenshots/race-story-mobile.png`
|
||||
|
||||
## Acceptance-criteria assessment
|
||||
|
||||
- Chapter-strip styling, scroll affordances, cards, and responsive layout: visually verified
|
||||
- Segmented playback controls: visually verified
|
||||
- Map unavailable state: verified; no dead panel or map toggle in seeded data
|
||||
- Graph full-width fallback and responsive rendering: visually verified
|
||||
- Chapter band/axis/label polish: present in the rendered chart
|
||||
- Empty-state card pattern: present
|
||||
- Active chapter highlight synchronization: **not met in browser QA**
|
||||
- Existing test suites stay green: **not met** (one E2E failure)
|
||||
|
||||
## Non-blocking note
|
||||
|
||||
The PR adds shared empty-state styles to `frontend/src/styles/app.css`, although the issue explicitly says not to edit that file. Keep the fix scoped to the Race Story style files if practical.
|
||||
Reference in New Issue
Block a user