# MLB Buildout Todo

## Current Focus

1. Direct MLB prop candidate ingestion from `PlayerPropLine`
2. Confirmed lineup ingestion
3. Bullpen workload ingestion
4. MLB prop scoring from starter + bullpen + context
5. Late refresh / stale-prop handling
6. Grading and monitoring

## Data

- [x] ESPN probable starters
- [x] Weather / venue context
- [x] Phased MLB signal (`firstFive`, `bullpen`, `context`)
- [x] Direct MLB player prop candidates from `PlayerPropLine`
- [x] Confirmed MLB lineups
- [x] Bullpen workload / recent reliever usage
- [x] Starter snapshot persistence at forecast time
- [x] Travel/rest snapshot persistence at forecast time

## Modeling

- [x] Starter-aware MLB matchup signal
- [x] Phase-aware MLB signal
- [ ] F5 side model
- [ ] F5 total model
- [ ] Full-game side model
- [ ] Full-game total model
- [x] Hitter prop scorer
- [x] Pitcher prop scorer
- [x] Publish thresholds / suppression rules

## Product / Pipeline

- [x] MLB prompt receives starter context
- [x] MLB prompt receives phased context
- [x] MLB team props read direct market candidates first
- [x] MLB props reject non-candidate outputs
- [x] Precomputed prop rows store full line/projection metadata
- [x] Late refresh when starter or lineup changes
- [x] Mark stale props when original assumptions break

## Ops / QA

- [x] Golden tests for MLB phased outputs
- [x] Golden tests for MLB prop candidate normalization
- [ ] Audit unresolved MLB graded props
- [x] Alert on missing probable starters
- [x] Alert on missing lineups near first pitch
- [x] Alert on zero-candidate MLB prop games

## Next Up

1. Audit unresolved MLB graded props
2. Add delivery routing beyond email if we want Slack/Discord escalation
3. Turn zero-candidate MLB audit output into an automatic remediation queue
