S1 (a1): feature-promise audit — no claim survives unverified

PROMISE-AUDIT.md: every /pricing claim → verified/built/reworded.
BUILT (was vapor): alt line ladder + edge ranking (same-features regrade
at shifted lines, Desk-gated at the API), quarter-Kelly (engine quantile
P(win) x real captured odds — either missing → no sizing), free-tier
kill-condition locked previews. FIXED (was false): analyst 15/day cap vs
the Founder 'Unlimited reads' promise → analyst unlimited; every '40+
factors' claim (real count: 22 named features) reworded truthfully in 7
files. VERIFIED: cascade alerts (real, wired), phi correlation,
leg history, cross-book comparison, WC soccer, real-time feed.
Locked by tests/unit/promiseAudit.test.js. Jest now ignores
.claude/worktrees (parallel agents' suites no longer leak into runs).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Kev
2026-07-11 14:24:41 -04:00
parent e4d2e79f95
commit d242b11b4b
20 changed files with 296 additions and 30 deletions
+3 -1
View File
@@ -44,7 +44,8 @@ interface ScanResponse {
confidence?: number;
sample_size?: number;
factors?: Record<string, string>;
alt_lines?: { line: number; grade: string; hit_rate?: number; edge_pct?: number }[];
alt_lines?: { line: number; grade: string; hit_rate?: number; edge_pct?: number; base?: boolean }[];
kelly?: { pct: number; quarter: number; full: number; odds: string };
kill_conditions?: { code: string; reason: string }[];
reasoning?: string;
historical_hit_rate?: number;
@@ -733,6 +734,7 @@ export default function ScanPage() {
sample_size: result.sample_size,
factors: result.factors,
alt_lines: result.alt_lines,
kelly: result.kelly,
kill_conditions: result.kill_conditions,
tier,
// Session 44 — forward the engine's intel fields so the grade