Build Pipeline API
reconstruct_game_payloads(play_by_play_payload, boxscore_payload)
Run the full in-memory reconstruction pipeline for one game.
process_game_payloads(play_by_play_payload, boxscore_payload, *, output_root=Path('data/processed'))
Build and persist canonical event, lineup, and possession tables for one game.
persist_game_reconstruction(reconstruction, boxscore_payload, *, output_root=Path('data/processed'))
Persist all canonical tables for one reconstructed game.