builtbykev
|
2ae8a5697e
|
Session 56: Full audit — PropLine + boxscore + pipeline + sport coverage (2289 tests)
Research (verified against live MLB Stats / ESPN / The Odds APIs):
- specs/propline-audit.md — every stat_type mapped against our 4-layer pipeline;
real MLB boxscore fields; sport coverage status; pipeline gap analysis.
- specs/vyndr-roadmap.md — priority-ordered Sessions 57–64 + coverage targets.
- scripts/propline-audit.js + specs/audit-data/ (raw capture).
Headline bug: oddsNormalizer mapped batter_rbis → 'rbis' while the whole
grade/feature/outcome chain keys on 'rbi' — every PropLine RBI prop silently
failed to grade AND settle. Fixed (+ regression test).
Phase 4 — wired missing MLB stats end-to-end:
- PropLine MLB markets 6 → 12 (+runs, walks, doubles, earned_runs, hits_allowed,
outs — same request, no extra quota).
- doubles/outs/triples added to featureCache + outcomeService MLB_LOG_FIELD and
all three grade whitelists (analyze/scan/validation.py).
Phase 6 — pipeline resilience:
- opsNotify.js: ntfy alerts (never throws, test-disabled). Snapshot success/
stale/failure alerts; retry-once on hard odds error (not on empty slate).
- Missed-cron watchdog (mostRecentExpectedSlot/isSnapshotOverdue); status probe
now returns `overdue`.
Coverage truth: MLB is the only end-to-end-live sport; outcome settlement is
MLB-only (WNBA/NBA/soccer never settle) — documented as the #1 roadmap gap.
Backend 2276 → 2289 tests (+13). Web build exit 0.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-10 17:00:29 -04:00 |
|
builtbykev
|
6ab49d4c37
|
Session 22: Tracker-driven quota guard, configurable cache TTL (1hr default), opt-in odds prewarmer (1505 tests)
|
2026-06-12 02:41:51 -04:00 |
|
builtbykev
|
167996d99a
|
Session 15: Intelligence hardening — park factors, weather, Tank01 prefetch, pace factors, signal audit, founder pricing fix (1405 tests)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-11 16:21:18 -04:00 |
|
builtbykev
|
e5c45ecc8e
|
Session 10: Internal auth refactor, prefetch cascade keys, Sentry, welcome email (1286 tests)
|
2026-06-10 20:45:05 -04:00 |
|
builtbykev
|
ad5ea8d5a8
|
Session 7j: Soccer intelligence - 9 leagues, 11 signals, 6 traps, poller, prefetch, 131 new tests (1173 total)
|
2026-06-10 14:50:13 -04:00 |
|
builtbykev
|
012c0ef47e
|
Session 7e: Grade adapter, normalize consolidation, ARCH-2 banners
|
2026-06-10 03:37:07 -04:00 |
|
builtbykev
|
6f4a353de9
|
Session 7d: Audit fixes - rate limiting, error leak, parallel parlays, analyze cache, bundle analyzer
|
2026-06-10 03:12:20 -04:00 |
|
builtbykev
|
5c44922937
|
Session 7b: Fix pipeline - body parser, Redis queueing, poller visibility, auto-start
|
2026-06-10 01:22:55 -04:00 |
|
builtbykev
|
1fa04dc776
|
Sessions 5-7a: 955 tests, deployment ready
|
2026-06-08 18:35:13 -04:00 |
|
builtbykev
|
3da1b4242c
|
feat: Feature 1.2 (NBA stats FastAPI service) + Feature 1.4 (database schema)
Feature 1.2: Python FastAPI microservice wrapping nba_api
- GET /stats/season-avg, /stats/last-n, /stats/splits, /players/search
- Redis caching (24hr/1hr/6hr/7day), 0.6s rate limiting, PRA derived stat
- 27 Python tests passing
Feature 1.4: Complete Supabase database schema
- 6 tables: users, picks, scan_sessions, bets, outcomes, performance
- RLS enabled on all tables with auth.uid() policies
- 3 triggers: auto-create user, updated_at, scan count reset
- 37 schema validation tests passing
- Migration SQL ready, pending manual apply (WSL2 DNS blocker)
Total: 92 tests (65 Node.js + 27 Python), all passing
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-03-21 10:58:58 -04:00 |
|