Files
vyndr/BUILD-STATE.md
T

37 lines
1.4 KiB
Markdown
Executable File

# BetonBLK — Build State
## Last Updated
2026-03-21
## Current Phase
Phase 1 — Foundation
## What Has Shipped
### Feature 1.1 — Odds API Integration (COMPLETE)
- GET /api/odds/nba — live NBA player props from DraftKings, FanDuel, BetMGM
- GET /api/odds/ncaab — NCAAB props (with off-season detection)
- Normalizer: pairs Over/Under outcomes, maps 8 market types, filters to 3 books
- Redis cache: 15-min TTL, stale fallback on API failure
- Quota tracking via response headers, 429 when exhausted
- Query filters: stat_type, player (partial match), book
- 28 tests passing (18 unit, 10 integration)
- Known limitation: player-to-team assignment deferred to Feature 1.2 (uses home_team/away_team instead of team/opponent)
## What's Next
Feature 1.2 — NBA_API Stats Wrapper (no dependencies, can build now)
Feature 1.4 — Database Schema (no dependencies, can build parallel)
## Active Blockers
See BLOCKERS.md
## Session Log
### Session 1 — 2026-03-21
- Made live Odds API test call, documented raw response format in DECISIONS.md
- Built: oddsNormalizer.js, oddsService.js, routes/odds.js, teamMap.js, redis.js, app.js
- Wrote 28 tests (unit + integration), all passing
- Logged DECISION-001 (API response format) and DECISION-002 (credit conservation)
- Spec updated: home_team/away_team replaces team/opponent (API limitation)
- Credits used: 2 of 500 (498 remaining)