feat(marketplace): grade_levels + geography/civics categories + history cleanup
Discovery-Verbesserung für Phase 2 (CONTENT_PLAN_PHASE2.md §5/§8):
- Schema: neue Spalte marketplace.decks.grade_levels (text[]) +
Kategorien 'geography' und 'civics' (decks.ts, @wordeck/domain).
- Migration 0006: ADD COLUMN grade_levels (idempotent).
- Migration 0007: einmalige Daten-Korrektur — Geografie-/Orts-Decks
history → geography, Factfulness → civics; grade_levels-Backfill
(zyklus2/sek1/sek2/erwachsene) für die curricularen Decks. Slug-
gezielt + idempotent (0 Zeilen auf fremden DBs).
- API: create/patch akzeptieren gradeLevels; browse/explore/me geben
grade_levels zurück; ?grade= Discovery-Filter.
- Web: Kategorie-Icons/Farben für geography (MapPin) + civics (BookOpen),
Schulstufen-Filter auf /explore, Stufen-Badge auf Deck-Karten.
Aktiviert sich auf prod beim nächsten Deploy (WORDECK_RUN_MIGRATIONS).
type-check grün (api/web/domain), 51 Domain-Tests grün.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>