2fa797020a
Merge pull request 'docs(catalog): Spec für KAT-01 Spiele suchen (Issue #3 )' ( #59 ) from docs/3-kat01-spec into main
...
CI / flutter (push) Successful in 1m23s
CI / web-build (push) Successful in 1m3s
CI / supabase (push) Successful in 8s
CI / supabase-tests (push) Successful in 33s
CI / e2e (push) Successful in 2m59s
Reviewed-on: #59
2026-11-04 00:30:08 +00:00
bb0d584f66
Merge pull request 'docs(catalog): Spec für KAT-04 Fehlendes Spiel melden (Issue #13 )' ( #58 ) from docs/13-kat04-spec into main
...
CI / flutter (push) Waiting to run
CI / web-build (push) Waiting to run
CI / supabase (push) Waiting to run
CI / supabase-tests (push) Waiting to run
CI / e2e (push) Blocked by required conditions
Reviewed-on: #58
2026-11-04 00:29:51 +00:00
220dfd195d
Merge pull request 'docs(auth): Spec für Anmelde-Einstieg und App Links (Issue #49 )' ( #55 ) from docs/49-mobil-login-spec into main
...
CI / flutter (push) Waiting to run
CI / web-build (push) Waiting to run
CI / supabase (push) Waiting to run
CI / supabase-tests (push) Waiting to run
CI / e2e (push) Blocked by required conditions
Reviewed-on: #55
2026-11-04 00:29:41 +00:00
cschlaefke
9a63985d74
Merge origin/feature/2b-katalog-zusammenfuehren into feature/2c-katalog-meldungen
CI / flutter (pull_request) Successful in 1m22s
CI / web-build (pull_request) Successful in 58s
CI / supabase (pull_request) Successful in 8s
CI / supabase-tests (pull_request) Successful in 32s
CI / e2e (pull_request) Successful in 2m54s
2026-11-04 00:25:32 +01:00
cschlaefke
500763d5ca
docs(db): late references to merged source as known limitation, with test (KAT-05, 2b)
...
CI / flutter (pull_request) Successful in 1m34s
CI / web-build (pull_request) Successful in 58s
CI / supabase (pull_request) Successful in 9s
CI / supabase-tests (pull_request) Successful in 36s
CI / e2e (pull_request) Successful in 2m55s
Refs #2
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-04 00:24:49 +01:00
cschlaefke
de830a7148
feat(db): store cleared editions count in game_reports.editions_cleared (KAT-05 2c, Spec-F6) Refs #2
...
CI / flutter (pull_request) Successful in 1m16s
CI / web-build (pull_request) Successful in 57s
CI / supabase (pull_request) Successful in 8s
CI / supabase-tests (pull_request) Successful in 31s
CI / e2e (pull_request) Successful in 2m50s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-04 00:15:46 +01:00
2513ed8ef2
docs(catalog): Hinweise aus dem Konsistenz-Review in die KAT-01-Spec
...
CI / flutter (pull_request) Successful in 1m17s
CI / web-build (pull_request) Successful in 57s
CI / supabase (pull_request) Successful in 8s
CI / supabase-tests (pull_request) Successful in 30s
CI / e2e (pull_request) Successful in 2m52s
Stand von 2c (PR #57 ) und Fremdschlüssel-Wächter in 07 und 08,
normalize_game_title ausgeschrieben, Release-Checkliste als offener
PR #54 gekennzeichnet, Änderungsprotokoll nur ergänzt.
Refs #3
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 20:32:09 +00:00
a4c7b47073
docs(catalog): Spec KAT-04 an Spec #3 und PR 2c angeglichen
...
CI / flutter (pull_request) Successful in 1m23s
CI / web-build (pull_request) Successful in 57s
CI / supabase (pull_request) Successful in 8s
CI / supabase-tests (pull_request) Successful in 31s
CI / e2e (pull_request) Successful in 2m48s
Kandidatenschlüssel über title_search, gemeinsame Normalisierung
wörtlich aus Spec #3 , pg_trgm aus 3a, Abhängigkeiten 3a/3b,
Spec-F6 korrigiert (nur 2c-Nachtrag, vor Merge von PR #57 ).
Refs #13
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 20:30:15 +00:00
cschlaefke
119267bb26
fix(db): check owner of provisional game in admin_resolve_report, harden report tests (KAT-05 2c review) Refs #2
...
CI / flutter (pull_request) Successful in 1m18s
CI / web-build (pull_request) Successful in 57s
CI / supabase (pull_request) Successful in 9s
CI / supabase-tests (pull_request) Successful in 33s
CI / e2e (pull_request) Successful in 2m52s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 21:23:13 +01:00
b65ec0efe7
docs(catalog): Review-Befunde in die KAT-01-Spec einarbeiten
...
search_normalize für alle API-Rollen ausführbar, Symbole vor unaccent
entfernen, eine Basisfunktion gemeinsam mit #13 , Reihenfolge 3a nach 2b,
Spec-F4 mit vorläufiger Messung ohne Staging, Indizes nicht als
Begründung, Grenzen und Hinweise aus dem Review.
Refs #3
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 20:16:26 +00:00
f7a7c1e54c
docs(catalog): Review-Befunde zur Spec KAT-04 eingearbeitet
...
Tageslimit-Rechte (report_day), Normalisierung als Wrapper um
search_normalize aus Spec #3 , Sperrreihenfolge und Rechte von
adopt_report_target, Indizes aus 2c, Testdatei 10, Edition-Hinweis
mit editions_cleared als Empfehlung.
Refs #13
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 20:07:44 +00:00
cschlaefke
e665a71f13
feat(db): reports tests, runbook section 6 and docs for KAT-05 2c Refs #2
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 21:07:19 +01:00
cschlaefke
127f765d85
test(db): close surviving mutants in merge tests, extend runbook (KAT-05, 2b)
...
CI / flutter (pull_request) Successful in 1m20s
CI / web-build (pull_request) Successful in 1m2s
CI / supabase (pull_request) Successful in 8s
CI / supabase-tests (pull_request) Successful in 31s
CI / e2e (pull_request) Successful in 3m1s
Refs #2
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 21:04:12 +01:00
cschlaefke
e3532210ea
docs(auth): mark E4 and mail-link rows superseded by spec 49
...
CI / flutter (pull_request) Successful in 1m24s
CI / web-build (pull_request) Successful in 1m2s
CI / supabase (pull_request) Successful in 8s
CI / supabase-tests (pull_request) Successful in 33s
CI / e2e (pull_request) Successful in 3m3s
Refs #49
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 21:01:55 +01:00
34bba3439b
docs(auth): address review findings on spec 49
...
Existing team KSX6GJY9C5 (C1), defer CODE_SIGN_ENTITLEMENTS until
the team is confirmed, local mobile builds mandatory, email_change
needs KTO-11, verified facts separated from spike assumptions,
QUE-06 keyboard criterion, T2 depends on PR A, limited interception
protection on Android < 12 (R13, F11), login CSRF accepted (R14),
supersession of spec 1 E4 recorded as task W2.
Refs #49
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 20:00:45 +00:00
a1895f4c5f
docs(catalog): Korrekturen an der KAT-01-Spec (Tests, Reihenfolge 2b/2c)
...
Idempotenz der alternativen Titel in pgTAP statt Deno, Auswirkung auf
06/00_schema, alternative Titel an Testspiel B, Merge-Reihenfolge
2b -> 2c -> 3a und Erweiterung des Fremdschlüssel-Wächters in 07.
Refs #3
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 19:59:02 +00:00
ece8e3eef2
docs(catalog): Spec KAT-04 präzisiert
...
Normalisierung mit Akzent-Faltung, Trigramm-Index gestrichen,
Abweichung von Spec #2 3.4 vermerkt, testbare Tagesgrenze.
Refs #13
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 19:55:11 +00:00
8b52a41062
docs(catalog): Spec für KAT-01 Spiele suchen
...
Refs #3
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 19:50:56 +00:00
cschlaefke
2c2546ab47
docs(db): runbook section merging, data model and spec notes (KAT-05, 2b)
...
Refs #2
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 20:49:42 +01:00
ab438aca38
docs(catalog): Spec KAT-04 fehlendes Spiel melden
...
Refs #13
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 19:48:13 +00:00
ef1fddfb72
docs(auth): add spec for mobile sign-in entry and app links
...
Spec for issue #49 : sign-in prompt on the public home screen and
Universal Links / App Links for /auth/confirm on iOS and Android,
web fallback unchanged. Includes options, test strategy, task split
and tasks only Chris can do (Apple/Google accounts, domain files,
SITE_URL on prod).
Refs #49
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 19:46:25 +00:00
cschlaefke
a9a7990636
chore: merge main into feature/2a-game-cover
...
CI / flutter (pull_request) Successful in 1m20s
CI / web-build (pull_request) Successful in 55s
CI / supabase (pull_request) Successful in 9s
CI / supabase-tests (pull_request) Successful in 34s
CI / e2e (pull_request) Successful in 2m54s
Refs #2
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 20:07:46 +01:00
cschlaefke
9952efa2fe
test(catalog): address review findings on PR 2a
...
CI / flutter (pull_request) Successful in 1m28s
CI / web-build (pull_request) Successful in 59s
CI / supabase (pull_request) Successful in 9s
CI / supabase-tests (pull_request) Successful in 34s
CI / e2e (pull_request) Successful in 3m2s
Replace tests that could not fail (manual_fields stability, no-op update), select runbook games by id, add grant matrix and forged-admin tests, assert vocabulary seeding and Deno checksum in CI, clarify the set local convention and API notes.
Refs #2
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 18:18:32 +01:00
cschlaefke
52cbd79fb4
feat(catalog): run checks.sql in CI and document seed loader result
...
Adds the checks.sql smoke step, the verified CLI result for generated seed content and the created_at/updated_at note for the API.
Refs #2
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 16:40:55 +01:00
cschlaefke
24b27c3776
docs(catalog): add catalog runbook, data model and README updates
...
Includes the checked CLI assumptions (sql_paths, begin/commit) and implementation notes in the spec.
Refs #2
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 15:38:28 +01:00
cschlaefke
f99c82b1e0
feat(catalog): address review of GameCover (labels, tests, spec notes)
...
CI / flutter (pull_request) Failing after 51s
CI / web-build (pull_request) Successful in 1m1s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 31s
CI / e2e (pull_request) Successful in 2m50s
Refs #2
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 15:26:38 +01:00
b77146eabf
docs(catalog): mark design choices W1, W4, W6, W7, H1, H2, H7 as confirmed
...
CI / flutter (pull_request) Successful in 1m16s
CI / web-build (pull_request) Successful in 56s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 30s
CI / e2e (pull_request) Successful in 2m45s
Refs #2
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 14:07:21 +00:00
6dd5854eab
docs(catalog): address re-review of KAT-05 spec and record clarification N15
...
CI / flutter (pull_request) Successful in 1m14s
CI / web-build (pull_request) Successful in 55s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 31s
CI / e2e (pull_request) Successful in 2m51s
Visibility is immutable, variant copying is derived from visibility,
startbestand idempotency and vocabulary handling are defined, and the
edition deviation from KAT-04 criterion 4 is recorded as N15.
Refs #2
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 14:02:17 +00:00
8c57e05458
docs(catalog): address review findings on KAT-05 spec
...
CI / flutter (pull_request) Successful in 1m18s
CI / web-build (pull_request) Successful in 56s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 30s
CI / e2e (pull_request) Successful in 2m51s
Variants are no longer copied when repointing provisional entries,
all PRs only reference #2 , grants, idempotency, checks and merge
rules are spelled out.
Refs #2
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 13:35:40 +00:00
c0f832fd1d
docs(catalog): record approval and decisions F1-F9 in KAT-05 spec
...
CI / flutter (pull_request) Successful in 1m18s
CI / web-build (pull_request) Successful in 56s
CI / supabase (pull_request) Successful in 4s
CI / supabase-tests (pull_request) Successful in 33s
CI / e2e (pull_request) Successful in 2m51s
Refs #2
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 13:15:52 +00:00
074118db69
docs(catalog): note default privileges, studio role and schema test count
...
Refs #2
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 13:08:49 +00:00
34eaab12e1
docs(catalog): add technical spec for KAT-05 catalog data
...
Refs #2
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 13:02:24 +00:00
cschlaefke
ffc30db2e5
fix(auth): address review findings for semantics split
...
CI / flutter (pull_request) Successful in 1m14s
CI / web-build (pull_request) Successful in 53s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 30s
CI / e2e (pull_request) Successful in 2m56s
Refs #41
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 13:17:09 +01:00
cschlaefke
3805c71225
fix(auth): address review findings for smtp-neutral handling
...
CI / flutter (pull_request) Failing after 44s
CI / web-build (pull_request) Successful in 51s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 29s
CI / e2e (pull_request) Successful in 2m44s
Refs #37
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 12:24:25 +01:00
cschlaefke
de093b68ed
docs(auth): renumber SMTP risk to R17 (R16 was taken)
...
Refs #37
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 12:03:11 +01:00
cschlaefke
7d094a6732
fix(auth): treat SMTP failures like success on enumeration-sensitive calls
...
Refs #37
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 12:03:04 +01:00
cschlaefke
aa421b12b0
test(auth): address review findings for e2e
...
CI / flutter (pull_request) Successful in 1m15s
CI / web-build (pull_request) Successful in 53s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 30s
CI / e2e (pull_request) Failing after 3m56s
Refs #38
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 10:55:27 +01:00
cschlaefke
7c2f684098
fix(auth): address review findings for password reset
...
CI / flutter (pull_request) Successful in 1m13s
CI / web-build (pull_request) Successful in 55s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 30s
Finish the recovery guard only after the password change, mark the change
in the repository so a late userUpdated event is harmless, keep the form
locked after success, carry from through the reset check-email page,
share the password error texts and focus the continue button.
Refs #1
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 09:58:31 +01:00
cschlaefke
3b2995463e
docs(auth): document 01c deviations, reset mode route and AppBanner actionEnabled
...
Refs #1
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 09:50:42 +01:00
cschlaefke
87c0d7d1ec
feat(auth): add password reset (forgot password, recovery link, new password)
...
ForgotPasswordScreen with neutral reaction (F12), CheckEmail reset mode on
its own path, recovery link handling and ResetPasswordScreen with the
recovery guard held until the user confirms the success message. Carries
the from parameter between login, register and forgot password. Removes
the route placeholders.
Refs #1
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 09:47:03 +01:00
cschlaefke
239d0e1ac2
fix(auth): address review findings for registration
...
CI / flutter (pull_request) Successful in 1m16s
CI / web-build (pull_request) Successful in 53s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 32s
- expose legal links to screen readers on web
- allow only http(s) legal URLs, prevent double submit
- detect transport errors without runtimeType, keep extra in memory
- ship third-party license text, document decisions
Refs #1
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 00:47:42 +01:00
cschlaefke
3158abc344
docs(auth): use trim_ws in spec
...
Refs #1
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 23:58:11 +01:00
cschlaefke
9f36cd0c33
feat(db): reject U+200B in display names
...
CI / flutter (pull_request) Successful in 1m3s
CI / web-build (pull_request) Successful in 54s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 34s
Refs #1
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 23:51:56 +01:00
cschlaefke
fb0f4b9d3f
fix(db): trim all Unicode whitespace in display name, harden templates
...
CI / flutter (pull_request) Successful in 1m3s
CI / web-build (pull_request) Successful in 58s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 34s
- add public.trim_ws mirroring Dart String.trim
- require JSON string metadata, tolerate non-string locale in templates
- add tests, align docs with review
Refs #1
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 23:48:01 +01:00
cschlaefke
47721a48e8
docs(auth): align spec with spike results and add AUTH-CFG-25
...
Refs #1
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 23:26:03 +01:00
cschlaefke
395816609f
feat(db): enforce registration rules and add terms_version
...
Adds display name validation, terms_version, locale sync trigger and
pgTAP tests (KTO-01 criteria 1, 2, 10, 11). Includes GoTrue spike results.
Refs #1
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 22:36:21 +01:00
cschlaefke
e56f75a5e1
docs(auth): add spec for KTO-01 registration, login and password reset
...
Refs #1
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 20:10:07 +01:00