Én reell driftsfeil funnet før den nådde produksjon: generateMetadata() kjører server-side ved forespørselstid — går derfor ikke gjennom next.config.mjs sin rewrites() (som bare gjelder nettleser-trafikk). Den trengte TEECUP_API_ORIGIN direkte, men den variabelen fantes kun i Dockerfile sitt build-steg — ENV fra ett steg arves ikke til det neste i en multi-stage build. Rettet ved å sette den på nytt i runner-steget.
Verifisert presist, ikke bare at det kompilerte: bygget det ekte produksjonsimaget (ikke dev-server), pekte det mot en scratch-backend med ekte data, og hentet den faktiske server-rendrede HTML-en — bekreftet ekte og:title/og:description, og en trygg fallback-tittel for en ukjent turnering.
teeoff.no upåvirket gjennom hele runden.
Kun én genuint ny fil denne gangen — public-tournament.tsx, resten av re-eksporten var kjent V0-revert. V0 bygde komponenten men ingen rute; jeg la selv til en bevisst flat /t/[id]-sti (ikke nøstet under org, siden det offentlige API-et kun trenger turnering-id).
To reelle navnekollisjoner løst under wiring, ikke bare et rett-frem uttrekk: API-ets "waitlisted" → komponentens "waitlist", og skjemaets norske kjønnsvalg → API-ets ^[mfx]$-mønster.
En driftsfeil funnet i selve testverktøyet, ikke i produktet: corepack hadde hentet en ny pnpm-versjon som gjorde et tidligere ufarlig varsel til en hard feil i dev-server-oppsettet mitt — rettet med samme flagg Dockerfile allerede bruker. Bekreftet at selve prod-bygget var upåvirket.
Verifisert med en ekte kjørende frontend-dev-server, ikke bare next build: ekte turnering med beskrivelse/kapasitet/sponsor/økt hentet gjennom frontend-proxyen, og en ekte POST-registrering som økte påmeldingstallet fra 0 til 1.