teecup/frontend
Erol Haagenrud 52e0cfaaf9 Update Todos
Diagnostisere HCP-bug mot ekte data (gjort)

Fiks 1: filtrer valgte spillere bort fra listen (blind draw)

Fiks 3: tallvelger for slagregistrering (scorekort)

Fiks 4: hardkode full_18-scope i handicap-utregning (bekreftet bug)

Punkt 2: migrasjon 014 + kode (courses.py, handicap.py, matches.py, tournaments.py, frontend)

Scratch-verifisere punkt 2 (fletting, import, validering, remap)

Skrive ADR-029 + oppdatere FEATURE_BACKLOG.md

Presentere full plan og be om bekreftelse (ekte migrasjon + deploy)
Alle fire punkter er nå bygget og grundig scratch-verifisert. Oppsummering før jeg ber om bekreftelse på å rulle ut mot ekte systemer:

1 — Spillerliste: Fikset. Valgte spillere filtreres nå bort i stedet for å bare vises gråtonet.

3 — Tallvelger: Fikset. Ny StrokePicker (1–9, med utvidbar "10+"→10–19).

4 — HCP-bug: Bekreftet ekte kodebug (ikke bare synlighet). Jeg leste ekte produksjonsdata for testøkten din: front_9 + foursome, og alle fire deltakerne hadde NULL i handicap-feltene. Årsak: handicap-utregningen lette etter en tee-rating scopet til øktens hole_config, men slike rader lages i praksis kun med full_18-omfang — så den fant aldri noe for en front_9-økt. Din beskrevne formel (kombinert hcp/2, laveste side til 0 mottatte slag, resten fordelt fra stroke index 1) var allerede riktig implementert — bugen var at den aldri kjørte. Fikset og verifisert: identisk bruttoscore på begge sider ga nå et ikke-delt resultat, som beviser at hcp faktisk brukes.

2 — Tee/kjønn: Du hadde helt rett i presiseringen din — dette var større enn jeg først trodde. Kjønn er nå flyttet fra selve utslaget til ratingen (ny migrasjon 014_tee_gender_to_rating.sql), tee-valget i blind draw er blitt helt automatisk (ingen kjønnsvelger lenger), og manglende kjønn/rating avvises tydelig i stedet for å gjettes. Fikk egen ADR-029. Verifisert i fem separate runder, inkludert mot ekte teeoff-data (Borregaard) og en gjenskaping av akkurat Tjøme-mønsteret.

Bifunn, ikke fikset: en liten, urelatert 500-krasj (stroke-registrering på en bane uten registrerte hull) — vil du at jeg tar den også, eller lar den ligge som egen sak?

Utrullingsplan — dette er første gang i denne runden noe rører ekte data:

Migrasjon 014_tee_gender_to_rating.sql mot ekte teecup_db — slår sammen Tjømes 8 tee-rader til 4 (bevarer alle ratinger, reparerer alle referanser; mekanisk identisk med det jeg nettopp verifiserte i scratch)
2026-07-20 08:53:53 +02:00
..
app PWA er bygget og scratch/build-verifisert. Status: 2026-07-19 23:51:08 +02:00
components Update Todos 2026-07-20 08:53:53 +02:00
lib PWA er bygget og scratch/build-verifisert. Status: 2026-07-19 23:51:08 +02:00
public PWA er bygget og scratch/build-verifisert. Status: 2026-07-19 23:51:08 +02:00
.dockerignore Alt rent, ingen byggeartefakter liggende igjen, dokumentasjonen oppdatert. Oppsummering: 2026-07-17 22:28:43 +02:00
.gitignore Før grafikk 2026-07-17 21:57:44 +02:00
components.json Før kommunikasjon med V0 2026-07-17 21:40:42 +02:00
Dockerfile ADR-018 er nå helt ferdig — backend, begge frontend-skjermer, og nå Open Graph-metadata, alt live samme dag. Oppsummert: 2026-07-18 10:58:36 +02:00
next.config.mjs Update Todos 2026-07-19 10:36:50 +02:00
package.json Alt rent, ingen byggeartefakter liggende igjen, dokumentasjonen oppdatert. Oppsummering: 2026-07-17 22:28:43 +02:00
pnpm-lock.yaml Før grafikk 2026-07-17 21:57:44 +02:00
postcss.config.mjs Før kommunikasjon med V0 2026-07-17 21:40:42 +02:00
tsconfig.json Før kommunikasjon med V0 2026-07-17 21:40:42 +02:00