Archetype Lens
Every sport in the warehouse is one of three shapes. Group by shape, not by sport, and completeness becomes a single question per column: which sports already carry this grain's depth tables (curated, complete on the six-table spine), and which raw schemas of the same shape are still candidates for promotion?
Archetypes
3
data shapes
Curated
4
asd_* · 6/6 spine
Pipeline
14
raw · not promoted
Backbone
6
tables every shape shares
race
Race (finish-position grain)
One row per competitor per event, ranked by where they finished.
match
Match (two-sided score grain)
Two sides, one score line — home vs away, resolved per game.
judged
Judged (scored-attempt grain)
Each attempt scored on its own — a wave, a ride, a heat.
Curated vs pipeline
Curated sports live under an asd_* schema and are complete on the six-table backbone (6/6) — the solid dots you can query today.
Pipeline sports are raw warehouse schemas of the same shape, typically stuck near 2/6. They are the promotion candidates — a race pipeline promotes on the same pattern that got SMX and HLR to 6/6.
Pulled with AWS_PROFILE=asd against Redshift Serverless (us-west-1 / default-workgroup / dev).
Why shape, not sport
A query written for one race sport translates to every other race sport — the grain is identical. Grouping by shape is how you reason about coverage without memorizing 14 schema names.
See each curated sport up close