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:
@@ -19,7 +19,7 @@ export default function AboutPage() {
|
||||
<p className="mono" style={{ fontSize: 14.5, color: 'var(--text-1)', lineHeight: 1.7 }}>
|
||||
VYNDR is prop intelligence — a proprietary terminal that reads the context the books hide.
|
||||
Beyond the box score: form, matchup, usage, rest, the cascade when a star sits. Then a single
|
||||
grade, earned across 40+ factors, that tells you whether the number is worth taking.
|
||||
grade, earned across every factor the model weighs, that tells you whether the number is worth taking.
|
||||
</p>
|
||||
<p className="mono" style={{ fontSize: 14.5, color: 'var(--text-1)', lineHeight: 1.7 }}>
|
||||
We are an analytics tool, not a sportsbook. We don't take wagers. We hand you the read and
|
||||
|
||||
@@ -5,7 +5,7 @@ import SectionHead from '@/components/vyndr/SectionHead';
|
||||
import TerminalInput from '@/components/vyndr/TerminalInput';
|
||||
|
||||
const FAQ: { cat: string; q: string; a: string }[] = [
|
||||
{ cat: 'GRADES', q: 'What does a VYNDR grade mean?', a: 'A grade is our confidence that a prop hits, weighed across 40+ factors. A+ is the rarest and strongest; D means stay away. The letter is earned, not opinion.' },
|
||||
{ cat: 'GRADES', q: 'What does a VYNDR grade mean?', a: 'A grade is our confidence that a prop hits, weighed across every factor the model computes for that prop. A+ is the rarest and strongest; D means stay away. The letter is earned, not opinion.' },
|
||||
{ cat: 'GRADES', q: 'What is a kill condition?', a: 'A red flag we detect that can sink a prop regardless of the stats — a blowout risk, a minutes cap, a brutal matchup. Analyst and Desk see them in full.' },
|
||||
{ cat: 'READS', q: 'How many free reads do I get?', a: 'Five reads every calendar month on the Free tier. The counter resets at the start of each month.' },
|
||||
{ cat: 'READS', q: 'What counts as a read?', a: 'Grading one prop. Viewing the same prop twice in a session only counts once.' },
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -14,7 +14,7 @@ const PRICES: Record<Cadence, { display: string; sub: string; checkoutParam: str
|
||||
|
||||
const EARLY_FEATURES = [
|
||||
'Unlimited reads',
|
||||
'Full factor analysis (40+ signals)',
|
||||
'Full factor analysis — every signal the model weighs',
|
||||
'Kill conditions surfaced inline',
|
||||
'Cascade alerts when lineups shift',
|
||||
'Parlay leg history with grades',
|
||||
|
||||
Reference in New Issue
Block a user