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:
Kev
2026-07-17 01:34:01 -04:00
parent ff0d3b199e
commit d755b43f05
3 changed files with 31 additions and 2 deletions
+16
View File
@@ -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');
});
});