Live clock when state='live' (e.g. "Q1 1:19", "1st 00:01").
Three-letter day abbreviation as parsed from the slip ("Thu", "Fri"). NULL when missing.
Calendar date the game falls on, "YYYY-MM-DD". Derived by walking the slip's day-of-week forward from the placed_at date when present. NULL when the parser couldn't infer a day-of-week.
Internal games.id, populated when fuzzy-matched.
Game tipoff time as 24h "HH:MM" parsed from the slip header (e.g. "18:00" for "6pm", "20:40" for "8:40pm"). NULL when not extractable.
Pre-game start time string when state='pre' (e.g. "8:30pm").
'pre' (game not started) | 'live' (in progress) | 'final'
Two-letter US state code from slip metadata (e.g. "TX", "NY"), if present.
Game context attached to each leg. We try to normalize team names but also keep the raw OCR string in
rawfor round-trip + debugging.