Files
vyndr/BLOCKERS.md
T
builtbykev ef4ac60b81 Per-sport rank guard + edge diagnostic-only display + delta report
DELTA MEASURED on live prod grades (live ordering unchanged): MLB 7/8
props move (87.5%), mean 2.5 places, TOP READ CHANGES (corey seager hits
1.5 under -> jake burger hits 0.5 over). WNBA 25/25 move, mean 4.1, max 12.
This is a large re-ordering, not a tweak.

Caveat recorded rather than buried: MLB had only 8 graded props at
measurement time. The percentages are real; the sample is one small slate.
Re-run before the flip -- it is one call.

PER-SPORT DOCTRINE ENFORCED IN CODE. WNBA moves the most and must NOT
adopt this: its p_win is anti-predictive, so ranking that board by p_win
would sort it by a signal measured to point the WRONG WAY -- worse than
the incumbent, not better. A comment would not have stopped a future flip
from going global, so FORECAST_RANKED_SPORTS = Set(['mlb']) gates the
forecast_rank stamp, with tests asserting no sport inherits MLB's result.
A sport joins only by passing its own holdout.

EDGE IS NOW DIAGNOSTIC-ONLY IN DISPLAY. MobileEdgeBoard.EdgeCell rendered
green (--g-a) for positive edge and red (--miss) for negative. Two things
were wrong: green/red IS a quality claim on a quantity that does not
predict, and ROW-GRAMMAR reserves red for settled-negative ONLY -- a
negative diagnostic is not a settled loss. Now neutral mono with a
diagnostic tooltip; header reads "MKT GAP · DIAGNOSTIC". The number is
still shown -- no display went blank. DeskShowcase neutralised likewise.

PINNACLE LOGGED, NOT ENSHRINED. Per the order, "market-not-sharp" is
PENDING-RECOVERY rather than a confirmed permanent limitation. The single
question for PropLine is in BLOCKERS.md with its evidence, and MASTER-PLAN
now carries the pending status instead of the permanent claim.

Live sorts remain byte-identical: selectTopGrades, flattenToEdgeBoard and
topGradedService all still call the incumbent.

Gates: 4,041 tests / 323 suites green; next build exit 0.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QJs13VsyiSKYQP6rj3NNmc
2026-08-01 01:29:20 -04:00

2.0 KiB
Executable File

VYNDR — Blockers

BLOCKER-001: Hosting Decision

Status: OPEN Impact: Blocks deployment (Phase 3) Options:

  • Vercel — free tier, great for Next.js, limited backend
  • Railway — better for full-stack, Node.js native, $5/mo start Decision needed by: End of Phase 1 Owner: Kev

BLOCKER-002: Auth Provider

Status: RESOLVED (2026-03-21) Decision: Supabase Auth. See DECISION-004.

BLOCKER-003: WSL2 Cannot Resolve *.supabase.co Domains

Status: OPEN Impact: Blocks applying Feature 1.4 migration and running verify-schema.js from CLI Details:

  • WSL2 DNS resolver (10.255.255.254) cannot resolve *.supabase.co TLD
  • Google DNS (8.8.8.8) returns NXDOMAIN — may be a new project with DNS propagation delay
  • *.supabase.com (e.g., pooler, api) resolves fine
  • Migration SQL is written and validated (37 tests pass) Workaround: Apply migration via Supabase Dashboard SQL Editor Resolution path: Either DNS propagates, or add Supabase IP to /etc/hosts, or use supabase link with access token via api.supabase.com Owner: Kev

PINNACLE MLB PROP COVERAGE STOPPED — 2026-07-31 (open, external)

One question to PropLine: why did Pinnacle MLB player-prop coverage stop on 2026-07-31?

Evidence: closing_captures MLB, pinnacle: 103,940 rows over 07-20 → 07-30, then 4,022 → 0 on 07-31 and zero since, while every other book continued normally (07-31: 47,606 non-pinnacle rows). line_type='sharp' is a label applied in closingCapture.js via SHARP_BOOKS — same feed, not a separate provider.

Why it matters: Pinnacle is the only sharp anchor we have ever had for props (17,090 two-sided captures in that window). Without it the consensus ruler is a market consensus, not a sharp one.

Status: market-not-sharp is PENDING-RECOVERY, not confirmed permanent. Do NOT enshrine it in MASTER-PLAN as a permanent limitation until this is answered. Not caused by any VYNDR change — the display widening only adds books.