Every card played is now a row, and card questions are lookups
Until today the only place a played card lived was the deck's JSON on each battle, so every card question - card meta, synergy, which battles had a card - re-read every deck in the window, and on 2026-09-14 three clans asking at once pushed those reads past the 25-second door. The record now holds a deck table (one row per deck identity), its cards, and what each participant played in each battle with the level they played it at, written in the same transaction as the battle and backfilled for all 454,654 recorded participants. battles_query takes with_cards for several cards at once; card meta, synergy and deck lists read the rows. A card the daily catalog has not seen yet is recorded from the battle and the catalog is fetched at once, so a release day never pauses recording.