P1-7: flat edge board — guard the broken edge placeholder (absent > fabricated)
Phone audit called the board 'mostly-empty'. Two causes, both now addressed: 1. Dead images (P0-2, already fixed) → the matchup/team chips render logos now. 2. Degraded edge data. Live snapshot edge_pct is on a broken scale (distinct values 20/60/100/140 — not a market %), with projection=0 and confidence 35-55%. A real prop-market edge is single-digit, never past ~40%. Leading the board with '+140%' fabricates a signal (Data Semantics Rule). Fix: an edge whose |value| > 40 is treated as ABSENT at BOTH layers — the data layer (flattenToEdgeBoard nulls it, so it can't RANK a fake +140% above a real +8.4%) and the display (EdgeCell shows '—'). Board falls through to the grade-rank tiebreak when edges are unreliable. Real edges (≤40) are untouched. The root cause — edge_pct/projection/confidence degradation — is a BACKEND grading issue (same family as the P2-9 '45% B' flag), reported separately; this is the honest frontend guard, not a fix for the data. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -70,4 +70,20 @@ describe('flattenToEdgeBoard', () => {
|
||||
expect(flattenToEdgeBoard(null)).toEqual([]);
|
||||
expect(flattenToEdgeBoard([{}])).toEqual([]);
|
||||
});
|
||||
|
||||
// P1-7 — an impossible edge (the pipeline's 60/100/140 placeholder) is not a
|
||||
// market signal. It must be treated as absent so the board neither DISPLAYS
|
||||
// nor RANKS on it — a fake +140% must never outrank a real +8.4%.
|
||||
test('insane edge (>40%) is nulled so it neither displays nor ranks', () => {
|
||||
const rows = flattenToEdgeBoard([card({ playerStrips: [
|
||||
strip('RealEdge', [{ stat: 'PTS', line: 20, side: 'O', grade: 'B', edge: 8.4 }]),
|
||||
strip('BrokenEdge', [{ stat: 'PTS', line: 20, side: 'O', grade: 'A', edge: 140 }]),
|
||||
] })]);
|
||||
const broken = rows.find((r) => r.player === 'BrokenEdge');
|
||||
const real = rows.find((r) => r.player === 'RealEdge');
|
||||
expect(broken.edge).toBeNull(); // not displayed as a fake %
|
||||
expect(real.edge).toBe(8.4); // real edge preserved
|
||||
// real edge outranks the nulled placeholder despite the placeholder's higher grade
|
||||
expect(rows[0].player).toBe('RealEdge');
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user