/** * Session 64 — the legacy C4 CLV display is GONE from every surface. * * TRUTH FIX, not a placement. row.clv/clv_result derive from the overwritable * closing_line: 637/699 rows had closing == locked, so 522 of the 578 rendered * "flat"s encoded a CAPTURE FAILURE as a held line. That number was live on * FIVE surfaces, two of them public. * * These lock the removal so it cannot quietly return, and lock the distinction * between the two CLV lineages. */ const fs = require('fs'); const path = require('path'); const read = (f) => fs.readFileSync(path.join(__dirname, '..', '..', f), 'utf8'); const SURFACES = { 'ledger card (authed)': 'web/src/app/ledger/page.tsx', 'public profile (share link)': 'web/src/app/u/[handle]/PublicProfile.tsx', 'dashboard': 'web/src/app/dashboard/page.tsx', 'board / Slate': 'web/src/components/Slate.tsx', }; // Comments explaining the removal legitimately mention the old names. const stripComments = (src) => src .replace(/\/\*[\s\S]*?\*\//g, '') .split('\n').filter((l) => !l.trim().startsWith('//')).join('\n'); describe('LEGACY C4 CLV — removed from every surface', () => { for (const [name, file] of Object.entries(SURFACES)) { test(`${name} renders no legacy CLV`, () => { const code = stripComments(read(file)); expect(code).not.toMatch(/clv_result\.toUpperCase/); expect(code).not.toMatch(/CLV \{row\.clv/); expect(code).not.toMatch(/CLV BEAT/); }); } test('the ClvChip component itself no longer exists', () => { expect(stripComments(read(SURFACES['ledger card (authed)']))).not.toMatch(/function ClvChip/); expect(stripComments(read(SURFACES['public profile (share link)']))).not.toMatch(/ClvChip/); }); }); describe('THE TWO LINEAGES MUST NEVER CROSS', () => { test('the new badge reads ONLY dclv_state, never row.clv/clv_result', () => { const badge = read('web/src/lib/clvBadge.js'); expect(badge).toMatch(/dclv_state/); expect(badge).not.toMatch(/clv_result/); expect(badge).not.toMatch(/read\.clv\b/); }); test('the ledger row renders the directional badge in the old slot', () => { const src = read(SURFACES['ledger card (authed)']); expect(src).toMatch(/ { expect(read(SURFACES['public profile (share link)'])).not.toMatch(/ClvBadge/); }); }); describe('HONEST ABSENCE — not a subtler "flat"', () => { const { clvBadge } = require('../../web/src/lib/clvBadge'); test('a formerly-chipped historical row now renders NOTHING', () => { // Exactly the shape of the 578 rows that used to show "CLV 0 · FLAT". const legacyRow = { clv: 0, clv_result: 'flat', locked_odds: '-110', closing_line: 1.5, outcome: 'hit' }; expect(clvBadge(legacyRow)).toBeNull(); }); test('rows that will NEVER get dclv (settled pre-capture) stay silent forever', () => { expect(clvBadge({ outcome: 'miss', locked_odds: '-120', dclv_state: null })).toBeNull(); }); test('absence makes NO claim — there is no "flat"/"no movement" output path', () => { const states = ['unknown', 'flat', null, undefined]; for (const st of states) { expect(clvBadge({ dclv_state: st, locked_odds: '-110', closing_odds: '-145' })).toBeNull(); } }); }); describe('NO CLV SORT/FILTER (a soft aggregate)', () => { test('the ledger exposes no CLV sort or filter control', () => { const code = stripComments(read(SURFACES['ledger card (authed)'])); expect(code).not.toMatch(/sort.*dclv|dclv.*sort/i); expect(code).not.toMatch(/filter.*dclv|dclv.*filter/i); }); });