# AnalysisContext

> Sport-scoped analysis context — the sum-type carrier (CLAUDE.md: sport- scoped facts never ride universal shapes), serialized with a `sport` tag so a consumer branches on one discriminator.

Sport-scoped analysis context — the sum-type carrier (CLAUDE.md: sport-
scoped facts never ride universal shapes), serialized with a `sport` tag so
a consumer branches on one discriminator. A variant may exist here **only
while a registered provider produces it** (test-enforced below), and a
produced context is never vacuous — at least one fact group is populated
(debug-asserted at dispatch, unit-tested per provider).

**Kind:** union · **Type:** `BaseballAnalysisContext | BasketballAnalysisContext | HockeyAnalysisContext`

**Variants:** [BaseballAnalysisContext](/docs/reference/data-model/stat-lines/BaseballAnalysisContext.md), [BasketballAnalysisContext](/docs/reference/data-model/stat-lines/BasketballAnalysisContext.md), [HockeyAnalysisContext](/docs/reference/data-model/stat-lines/HockeyAnalysisContext.md)

**Used by:** [PlayerPropCard](/docs/reference/data-model/analysis/PlayerPropCard.md), [StatBoardEntry](/docs/reference/data-model/analysis/StatBoardEntry.md)
