Session 39: Design system Phase H — QA pass, §13 parity verified, conversion COMPLETE (1907 tests)
Final phase of the VYNDR 2.0 conversion (Sessions 33-39). Verify -> fix -> lock. Frontend-only; zero backend changes. §13 automated checklist: all PASS or FIXED. - QA.1 token resolution FIXED: ProcessingGrade #00ffb8 -> var(--g-ap); game/[id] sport literals -> var(--s-*). Remaining hex documented as intentional (var-with-fallback, Next metadata, bespoke intel-surface shades). - QA.6 glitch discipline: ZERO glitch on data components. - QA.4/5/8/11/16/18 verified; QA.9 (cmd palette) documented deferred; QA.17 (AI slop) flagged for Kev's manual browser review. De-flake: soccerFeatureExtractorCascade hit Jest's 5s default under full-suite load (falls through to live adapters on cache miss) -> jest.setTimeout(20000), same family as the S32 pipeline test. Verified stable across 3 full-suite runs. New: tests/unit/vyndrParityQA.test.js (17 tests locking the parity invariants). Backend 1890 -> 1907, 146 suites, zero regressions (stable x3). Web build clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -49,10 +49,11 @@ interface PropEntry {
|
||||
alt_lines?: { line: number; grade: string; hit_rate?: number }[];
|
||||
}
|
||||
|
||||
// Session 39 (QA.1) — resolve to sport tokens instead of duplicate literals.
|
||||
const SPORT_COLOR: Record<Sport, string> = {
|
||||
NBA: '#E94B3C',
|
||||
MLB: '#1E90FF',
|
||||
WNBA: '#FFB347',
|
||||
NBA: 'var(--s-nba)',
|
||||
MLB: 'var(--s-mlb)',
|
||||
WNBA: 'var(--s-wnba)',
|
||||
};
|
||||
|
||||
export default function GamePage({ params }: { params: Promise<{ id: string }> }) {
|
||||
|
||||
Reference in New Issue
Block a user