Files
box-box/documentations/refactor/19-phase-11-weekend-ingestion.md

1.4 KiB

Phase 11 Weekend Ingestion

Purpose

Phase 10 made local data navigable in the Web UI, but the app still needs a practical way to populate a complete weekend. Phase 11 should make ingestion work at the same shape users browse: meeting/weekend first, then sessions.

This is a backend/CLI slice for Cursor.

Scope

Add or refine CLI ingestion so a user can ingest a whole meeting/weekend into the domain database without manually running one command per session.

The target workflow is:

  • ingest meeting metadata and sessions for a meeting_key;
  • for each session in that meeting, ingest Race Hub datasets;
  • report per-session success, partial failure, and row counts clearly;
  • keep raw payload provenance.

Guardrails

  • Do not remove single-session ingestion.
  • Do not fetch data from React.
  • Do not make failed optional analytics endpoints destroy already-ingested meeting/session metadata.
  • Keep tests offline with fake sources.
  • Be careful with live/current sessions; completed historical sessions are the primary target.

Acceptance Criteria

  • A single CLI path can ingest all sessions for a meeting.
  • Ingestion summaries make per-session results clear.
  • Existing --ingest-session behavior still works.
  • Store/query/web/frontend tests still pass.
  • Add focused ingestion tests for full-weekend orchestration and partial failures where practical.