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 Rulle ut mot ekte teecup_db + containere, oppdatere .md-status Notere PDF-ressursene i CLAUDE.md/FEATURE_BACKLOG.md + minne Alt er rullet ut og verifisert: Migrasjon 014 kjørt mot ekte teecup_db: Tjømes 8 tee-rader slått sammen til 4 fysiske utslag, alle ratinger og match_participant-referanser intakte (bekreftet med en direkte spørring — 0 brutte referanser). Begge containere redeployet (teecup_api, teecup_frontend), boot-et rent, /health/dashboard → 200, teeoff.no upåvirket. Alle fire tilbakemeldingene dine er dermed løst og live. PDF-ene er notert i CLAUDE.md sin "Autoritative kilder"-seksjon (leses nå ved starten av hver økt) og i FEATURE_BACKLOG.md sitt punkt om de fire nye turneringsformatene, siden det er der de trolig blir mest relevante først. Jeg la også inn en tilsvarende referanse i min egen tvers-av-økt-hukommelse, slik at jeg husker å lese dem selv i en fremstidig, separat samtale om dette prosjektet.
This commit is contained in:
parent
52e0cfaaf9
commit
a5de225afe
4 changed files with 51 additions and 23 deletions
|
|
@ -325,7 +325,8 @@
|
|||
"Bash(python3 -c \"import httpx\")",
|
||||
"Bash(curl -s http://localhost:18800/health)",
|
||||
"Bash(python3 /tmp/claude-1000/-opt-teecup/a8bd2fc3-4b9c-4682-a2be-cf36e143de78/scratchpad/test_hcp_fix.py)",
|
||||
"Bash(python3 /tmp/claude-1000/-opt-teecup/a8bd2fc3-4b9c-4682-a2be-cf36e143de78/scratchpad/test_tee_gender.py)"
|
||||
"Bash(python3 /tmp/claude-1000/-opt-teecup/a8bd2fc3-4b9c-4682-a2be-cf36e143de78/scratchpad/test_tee_gender.py)",
|
||||
"Bash(curl -s -o /dev/null -w \"%{http_code}\\\\n\" https://teeoff.no)"
|
||||
],
|
||||
"additionalDirectories": [
|
||||
"/opt/teeoff/deploy",
|
||||
|
|
|
|||
|
|
@ -1396,12 +1396,13 @@ rader. (6) `_remap_course`: bane-bytte til en bane UTEN matchende
|
|||
kjønnsrating avvist tydelig, bane-bytte til en bane MED matchende
|
||||
rating lykket.
|
||||
|
||||
**Status: ✅ BYGGET OG SCRATCH-VERIFISERT 2026-07-19, IKKE ENNÅ RULLET UT**
|
||||
mot ekte `teecup_db` -- migrasjon 014 endrer ekte produksjonsdata
|
||||
(Tjøme-utslagene slås faktisk sammen), venter derfor på eksplisitt
|
||||
brukerbekreftelse før den kjøres mot den ekte databasen, i tråd med
|
||||
CLAUDE.md sin regel om å alltid vise planen og vente på bekreftelse før
|
||||
noe som migrerer ekte data kjøres.
|
||||
**Status: ✅ BYGGET OG LIVE 2026-07-19.** Migrasjon 014 kjørt mot ekte
|
||||
`teecup_db`, bruker bekreftet eksplisitt: Tjømes 8 tee-rader slått sammen
|
||||
til 4 fysiske utslag, alle 8 `tee_rating`-rader fikk riktig `gender`,
|
||||
`match_participant`-referansene forble gyldige (0 brutte fremmednøkler
|
||||
etter migrasjonen, bekreftet med en direkte spørring). Begge containere
|
||||
(`teecup_api`, `teecup_frontend`) bygget og redeployet, `/health`/
|
||||
`/dashboard` → 200, `teeoff.no` upåvirket.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
36
CLAUDE.md
36
CLAUDE.md
|
|
@ -3,10 +3,22 @@
|
|||
Les dette først i hver økt. Det koder hva vi har bestemt og hvordan vi jobber.
|
||||
|
||||
## Autoritative kilder (les før du gjør noe)
|
||||
- `ARCHITECTURE_DECISIONS.md` — hva som er bestemt og hvorfor (ADR-001…018). Fasit.
|
||||
- `ARCHITECTURE_DECISIONS.md` — hva som er bestemt og hvorfor (ADR-001…029). Fasit.
|
||||
- `FEATURE_BACKLOG.md` — hva som gjenstår, hva som er utsatt, hva som mangler.
|
||||
- Endres en beslutning: legg til en ny ADR, ikke slett historikk. Hold begge
|
||||
filene oppdatert når noe avgjøres.
|
||||
- **Regelverk for HCP/slagfordeling — tre PDF-er lastet opp av brukeren til
|
||||
prosjektroten 2026-07-19** (ikke innsjekket i git, kun lokale filer på
|
||||
serveren): `spilletyper-og-spilleformer-2023.pdf`,
|
||||
`Live Tourney _ A Guide to Handicap Scoring in Golf for Tournaments.pdf`,
|
||||
`SCGA Club Digest.pdf`. Brukeren: disse tre gir til sammen en tydelig
|
||||
beskrivelse av hvordan HCP og mottatte/tildelte slag skal beregnes/
|
||||
fordeles. Les disse FØR videre arbeid med `handicap_engine.py`,
|
||||
`app/handicap.py`, allowance-strategier (ADR-005/014) eller
|
||||
slagfordeling (ADR-008) — spesielt relevant for de fire
|
||||
turneringsformatene som ennå ikke er designet (Københavner/High-low-high/
|
||||
Robbins/Try all, se FEATURE_BACKLOG.md), siden disse dokumentene trolig
|
||||
dekker akkurat de reglene som trengs der.
|
||||
|
||||
## Sikkerhetsregler (ufravikelige)
|
||||
- Rør ALDRI `teeoff`-databasen eller den ekte `teecup_db` uten at brukeren
|
||||
|
|
@ -1832,8 +1844,9 @@ Ferdig og verifisert:
|
|||
container (`python:3.12-slim`, `app/` og `handicap_engine.py` montert
|
||||
read-only), alt ryddet opp etter verifisering. Typesjekket
|
||||
produksjonsbuild kjørt for frontend-fiksene (1+3), alle 16 ruter listet.
|
||||
**Ikke rullet ut ennå** — venter på utrullingsbekreftelse. Punkt 2
|
||||
(tee/kjønn-modellen) venter på designavklaring med bruker før noe bygges.
|
||||
**Rullet ut live 2026-07-19**, bruker bekreftet eksplisitt, se eget
|
||||
punkt lenger ned for punkt 2 (som ble bygget og rullet ut sammen med
|
||||
disse tre i én utrulling).
|
||||
|
||||
- **Punkt 2 (tee/kjønn) BYGGET OG SCRATCH-VERIFISERT (2026-07-19, ADR-029),
|
||||
samme dag, rett etter designavklaringen:** bruker bekreftet begge
|
||||
|
|
@ -1886,10 +1899,13 @@ Ferdig og verifisert:
|
|||
avvist tydelig, bane-bytte til en bane MED matchende rating lykket.
|
||||
Ekte typesjekket produksjonsbuild av frontend kjørt på nytt og
|
||||
bekreftet etter blind draw-forenklingen.
|
||||
**Ikke rullet ut ennå** — migrasjon 014 endrer EKTE produksjonsdata
|
||||
(slår sammen Tjømes 8 tee-rader til 4), venter derfor på eksplisitt
|
||||
brukerbekreftelse før den kjøres mot ekte `teecup_db`, sammen med de
|
||||
tre andre fiksene (1/3/4) i samme utrulling.
|
||||
**Rullet ut live 2026-07-19**, bruker bekreftet eksplisitt: migrasjon
|
||||
014 kjørt mot ekte `teecup_db` FØRST (Tjømes 8 tee-rader slått sammen
|
||||
til 4 — bekreftet 0 brutte `match_participant.tee_id`-referanser
|
||||
etterpå med en direkte spørring), deretter `docker compose up -d
|
||||
--build teecup_api teecup_frontend` sammen med punkt 1/3/4 i samme
|
||||
utrulling. Begge containere boot-et rent, `/health`/`dashboard` → 200,
|
||||
`teeoff.no` upåvirket.
|
||||
|
||||
Neste steg:
|
||||
1. **Oppfølgingspunkt fra PWA-runden, eksplisitt notert på brukerens
|
||||
|
|
@ -1902,10 +1918,8 @@ Neste steg:
|
|||
Rewrite/medlemsside-bugen (#2) er den mest presserende siden siden er
|
||||
helt utilgjengelig i dag.
|
||||
3. **Alle fire nye hull (spillerliste, tee/kjønn-modell ADR-029,
|
||||
tallvelger, hcp-scope-bug) er FIKSET OG SCRATCH-VERIFISERT** (se over)
|
||||
— venter på utrullingsbekreftelse. Punkt 2 KREVER en ekte migrasjon
|
||||
(`014_tee_gender_to_rating.sql`, endrer Tjømes tee-data) i tillegg til
|
||||
kode-redeploy av begge containere. En liten, urelatert 500-krasj
|
||||
tallvelger, hcp-scope-bug) er FIKSET OG LIVE** (se over, 2026-07-19,
|
||||
migrasjon 014 kjørt mot ekte data). En liten, urelatert 500-krasj
|
||||
(stroke-innsending på bane uten hull) ble også funnet under
|
||||
verifiseringen, ikke fikset — egen, liten sak.
|
||||
4. Fortsatt åpne beslutninger fra FEATURE_BACKLOG.md: kode-regenerering for
|
||||
|
|
|
|||
|
|
@ -551,6 +551,13 @@
|
|||
(lavest kostnad) hvis en rask seier er ønskelig, eller med «Københavner»
|
||||
hvis en bredere individuell/felt-basert turneringstype uansett skal bygges
|
||||
først som fundament for de andre.
|
||||
- **Ressurs, lagt til 2026-07-19:** brukeren har lastet opp tre PDF-er til
|
||||
prosjektroten (`spilletyper-og-spilleformer-2023.pdf`, `Live Tourney _ A
|
||||
Guide to Handicap Scoring in Golf for Tournaments.pdf`, `SCGA Club
|
||||
Digest.pdf`) som til sammen skal gi en tydelig beskrivelse av hvordan HCP
|
||||
og mottatte/tildelte slag beregnes/fordeles — les disse FØR design av
|
||||
handicap-/slagfordelingslogikken for disse fire formatene, se CLAUDE.md
|
||||
sin "Autoritative kilder"-seksjon.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -824,8 +831,7 @@ en reell skjemamigrasjon (`014_tee_gender_to_rating.sql`).
|
|||
Fikset: `roster`-listen FILTRERES nå ned til kun ledige spillere før
|
||||
den rendres, i stedet for å deaktivere valget.
|
||||
|
||||
2. **✅ FIKSET OG SCRATCH-VERIFISERT 2026-07-19 (ADR-029), IKKE ENNÅ RULLET
|
||||
UT mot ekte data.** Brukeren presiserte at min opprinnelige forståelse
|
||||
2. **✅ FIKSET OG LIVE 2026-07-19 (ADR-029).** Brukeren presiserte at min opprinnelige forståelse
|
||||
var feil: en golfbane har IKKE fysisk kjønnsdelte utslag — begge kjønn
|
||||
kan som regel spille fra ethvert utslag. Det eneste som faktisk
|
||||
varierer per kjønn er om klubben har VALGT å slope (rate) et gitt
|
||||
|
|
@ -895,9 +901,15 @@ en reell skjemamigrasjon (`014_tee_gender_to_rating.sql`).
|
|||
**Designspørsmålene for punkt 2 er avklart** (bruker valgte det anbefalte
|
||||
alternativet på begge, se ADR-029 Beslutning B/C): helautomatisk tee-valg
|
||||
(ingen manuell kjønnsvelger), og "feil høyt" ved manglende kjønn/rating
|
||||
(ingen stille fallback). Migrasjon 014 er skrevet og scratch-verifisert,
|
||||
men IKKE kjørt mot ekte `teecup_db` ennå — venter på eksplisitt
|
||||
brukerbekreftelse (endrer ekte Tjøme-data: slår sammen 8 tee-rader til 4).
|
||||
(ingen stille fallback). Migrasjon 014 kjørt mot ekte `teecup_db`
|
||||
2026-07-19, bruker bekreftet eksplisitt — Tjømes 8 tee-rader slått sammen
|
||||
til 4, alle referanser intakte.
|
||||
|
||||
**Alle fire punkter rullet ut live 2026-07-19**, bruker bekreftet
|
||||
eksplisitt: migrasjon 014 + `docker compose up -d --build teecup_api
|
||||
teecup_frontend`. Verifisert: `/health`/`dashboard` → 200, `teeoff.no`
|
||||
upåvirket, 0 brutte `match_participant.tee_id`-referanser etter
|
||||
sammenslåingen.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue