docs(catalog): Spec für KAT-01 Spiele suchen (Issue #3) #59
No reviewers
Labels
No labels
epic/katalog
epic/konto
epic/partien
epic/querschnitt
epic/sammlung
needs-clarification
prio/could
prio/must
prio/should
size/l
size/m
size/s
size/xl
status/in-progress
status/ready-for-merge
status/spec-review
type/bug
type/epic
type/story
type/tech
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: cschlaefke/Shuffle#59
Loading…
Reference in a new issue
No description provided.
Delete branch "docs/3-kat01-spec"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Refs #3 (kein
Closes). Spec:docs/specs/3-katalog-suche.md, zur Freigabe durch Chris vor jeder Umsetzung.Kern der Spec
search_catalog_games(security invoker,stable) liest über die Viewcatalog_games(ausgeblendete/zusammengeführte Spiele fehlen, Maskierung bleibt wirksam); erste Funktion mitexecutefüranon/authenticated. Seitengröße 30, Filter UND-verknüpft, ohne Suchbegriff/Filter der ganze Katalog alphabetisch.game_alt_titles; Basisfunktionpublic.search_normalize(Symbole entfernen,unaccentmit festem Wörterbuch,lower, …) füranon/authenticated/service_roleausführbar; generierte Spaltentitle_search;pg_trgm/unaccentim Schemaextensions(im self-hosted Image unverifiziert, Prüfung in B5, Rückfall beschrieben).features/catalog/, rein lesende Datenklassen (createToJson: false), öffentliche Route/catalog.perf, p95 ≤ 2 s bei gedrosselter Verbindung.Review
code-reviewerzweimal (Fachreview, gemeinsame Konsistenzprüfung mit Spec #13): Blocker behoben (fehlendesexecuteaufsearch_normalizehätte Insert/Update privater Spiele und jede Suche gebrochen;CATAN®/™/½-Normalisierung; Vereinheitlichung mit #13); Spec zuletzt „freigabefähig“ bewertet. Die letzte Nacharbeit (2513ed8, nur Hinweise) hat kein Reviewer erneut gelesen.Entscheidungen für Chris
docs/release-checkliste.md(PR #54, noch offen). Option B: #3 bleibt wegen Krit. 7 offen. Staging existiert noch nicht.rate-limitingoder Proxylimit_req);statement_timeoutanon 3 s/authenticated 8 s lokal, im Self-Hosting zu bestätigen.Nicht geprüft
Keine Implementierung, kein Ausführungsplan bei 10.000 Spielen (Indizes greifen nur teilweise; B5 misst als
anonmit RLS), Erweiterungen auf Hetzner, go_router-18-Verhalten beim URL-Ersetzen, Screenreader.🤖 Generated with Claude Code
Freigabe (Chris, 2026-11-04): Spec #3 ist angenommen, alle Entscheidungen Spec-F1–F7 und Designwahlen W1–W8 wie empfohlen, Spec-F4 als Option A: 3c schließt #3 mit vorläufiger Messung gegen den lokalen/CI-Stack; die Staging-Messung wird Freigabebedingung in der Release-Checkliste. Rate-Limit für anonyme Suchen wird vor Go-live entschieden (D1). Umsetzung 3a und 3b starten.