Commit Graph
79 Commits
Author SHA1 Message Date
agwandClaude Opus 5.5 2ceb5290f8 Temaer: fælles temabank i party/data/themes.json
Tegn og Gæts temaer flyttes til ét sted (party/data/themes.json med
loaderen party/themes.py), så Spionen kan bruge de samme i stedet for en
kopi. Navne og ord er uændrede, så Tegn og Gæt og dets forvarmede
{tema}-replikker opfører sig som før.

Spionen skal bruge ord, det er nemt at give stikord til: spy_themes() giver
de temaer, der har mindst 15 konkrete navneord i ét ord. "spion": false
udelader et tema (film og serier: titler), og "spion_skip" enkelte ord (si,
and, frikvarter, lektier, hygge). Det giver 13 temaer med 15 til 18 ord.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 21:59:49 +02:00
agwandClaude Opus 5.5 c26a0d52f9 Docs: spilregistret, menuen og skift af spil
PROTOCOL.md: /host/ er menuen (med ?code ved skift), /host/intro/<spil>,
/host/new's felter pr. spil, "game" i alle snapshots (også Fup og Fakta's)
og hvordan et skift af spil virker for telefonerne. README: menuen, skift
af spil, hvor et nyt spil registreres, og dev.html?game=menu.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 21:50:36 +02:00
agwandClaude Opus 5.5 9b0f604a69 Tegn og Gæt: speakerens replikker i afsløringen kun til storskærmen
Replikken til kædens slutning nævner sidste gæt, så telefonerne får
planen uden audio.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 18:01:31 +02:00
agwandClaude Opus 5.5 ef1acfbdac Docs: Tegn og Gæt i protokollen og README
Nye beskeder, snapshot-felter, tegningernes format og grænser,
afsløringens tidslinje, point og priser.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 17:34:15 +02:00
agw c3f9a5c8b4 Fest-Z: eget emoji-sæt og nyt navn
CI / test (push) Successful in 1m32s
Fest-spillet hedder nu Fest-Z (kategorierne "Fest-Z: …"), og telefonerne
får zoomer-emojis (💀 😭 🧢 🗿 💅 🍻) i stedet for familie-sættet. Serveren
sender sættet i tilstanden, så klienten altid viser det, spillet tager imod.
Reglerne og speakeren taler om slang og memes frem for pop-sladder.

Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
2026-10-18 13:17:26 +02:00
agw a40243ed23 Fest: 18+-pakke med pop-sladder, tår og egen speaker
CI / test (push) Successful in 39s
Ny spørgsmålspakke "fest" (aldrig med i "Alle"): 43 faktatjekkede
spørgsmål om dansk pop i to kategorier, Fest: retro og Fest: nu.

Et fest-spil tæller tår ved siden af point: narret giver en tår,
ingen fandt sandheden giver alle en tår, gange rundens faktor
(finalen er en shot). Afsløringen, opsummeringen, stillingen og
telefonen viser tårene, og der er en pris til aftenens tørstigste.
Speakeren bruger zoomer-replikker (<begivenhed>_fest), egne regler
og FEST_VOICE_ID til alt.

Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
2026-10-18 10:20:40 +02:00
agw fc76356f56 Oplæsningsrunde, emoji-reaktioner, regler og renere løgne
CI / test (push) Successful in 1m4s
- Runde 2 og finalen: speakeren læser svarene op ét ad gangen (med hjernen
  en overbevisende kommentar pr. svar), i samme takt på storskærm og telefoner
- Emoji-reaktioner fra telefonerne, der må spammes; de flyver op på storskærmen
  og tælles på svaret i fokus
- Opsummeringen følger speakeren: "lad os rydde op", eksplosioner, så pointene
- Speakeren kommenterer, hvordan løgnene skrider frem, uden at røbe indhold,
  og driller dem, der falder for svage løgne
- Reglerne forklares med kort og stemme før rummets første spil
- "Lyv for mig" låser forslaget i feltet (halve point), og feltet bliver ikke
  længere kæmpestort
- Svar vises med versaler, og spillernes løgne gemmes med små bogstaver, så
  store forbogstaver ikke afslører dem
- Løgne og navne renses: kun bogstaver, tal og lidt tegnsætning
- Valgfrit workspace-id til Anthropic-brugernøgler

Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
2026-10-03 18:18:38 +02:00
agw 16054a9b67 Skærmen følger speakeren, opsummering, musik, lydeffekter og drillerier
CI / test (push) Successful in 28s
Faseskift venter, til speakeren er færdig med den aktuelle skærm, og
replikker til en skærm, der er væk, afspilles ikke. Ny kategori-intro med
en lyd pr. kategori, musik pr. fase med bløde overgange og lydeffekter til
alt, der flyver over skærmen. Efter afsløringen eksploderer løgne, ingen
valgte, og pointene tæller op. Hjerter gives kun under afsløringen og ses
live på storskærmen. Lyv for mig giver halve point. Narrede spilleres
telefon kan blive drillet med et fjollet billede og et buh. Alle lyd- og
billedfiler serveres med versionerede navne og caches af browseren.

Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
2026-10-01 21:59:40 +02:00
agw 09d56eb8db Bot-test virker mod drift, CI kører testene, protokol opdateret
CI / test (push) Successful in 20s
Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
2026-10-01 20:37:34 +02:00
agw 9a53d8fe04 Start forfra: server-autoritativ spilmotor over WebSocket
Den tidligere version (Angular-SPA, REST og polling) er gemt på branchen
legacy. Denne version samler alle regler i en ren Python-spilmotor
(fupogfakta/engine.py), holder rummene i hukommelsen i én proces og sender
hele spiltilstanden pr. rolle over én WebSocket. Vært-login sker via
Authentik forward-auth i NPMplus.

Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
2026-10-01 20:40:00 +02:00
dev-bot 1839b30e0a merge(main): resolve PR #320 gameplay conflicts
CI / test-and-quality (push) Failing after 13s
CI / test-and-quality (pull_request) Failing after 14s
2026-03-17 06:44:21 +00:00
dev-bot d36d256daf fix(gameplay): make scoreboard host exits idempotent
CI / test-and-quality (push) Successful in 3m44s
CI / test-and-quality (pull_request) Successful in 3m45s
2026-03-17 05:41:13 +00:00
dev-bot 592c265331 docs(architecture): map lobby vs fupogfakta extraction boundary refs #311 #312 2026-03-16 18:57:29 +00:00
integrator-bot 251ccfce19 Merge pull request 'fix(frontend): prefer canonical phase for client action gating (#301 follow-up)' (#306) from dev/issue-301-phase-action-gating-followup into main
CI / test-and-quality (push) Has been cancelled
CI / test-and-quality (pull_request) Successful in 3m36s
2026-03-16 18:09:04 +01:00
dev-bot d9c4cda966 fix(frontend): prefer canonical phase for client action gating
CI / test-and-quality (push) Successful in 2m56s
CI / test-and-quality (pull_request) Successful in 3m1s
2026-03-16 17:00:02 +00:00
dev-bot 9970257f32 test(gameplay): add canonical loop smoke evidence (#302)
CI / test-and-quality (push) Failing after 3m42s
CI / test-and-quality (pull_request) Successful in 3m36s
2026-03-16 15:20:06 +00:00
dev-bot 5bb035deec fix(lobby): tighten canonical host round flow for issue 287
CI / test-and-quality (push) Failing after 11s
CI / test-and-quality (pull_request) Failing after 10s
2026-03-16 02:07:17 +00:00
dev-bot ab08dc2b6d feat(lobby): align canonical round flow for issue 287
CI / test-and-quality (push) Failing after 10s
CI / test-and-quality (pull_request) Failing after 10s
2026-03-16 01:00:07 +00:00
dev-bot a2c60749f8 feat(lobby): canonicalize round phase ownership 2026-03-16 00:44:11 +00:00
integrator-bot 8503e18e57 Merge pull request 'docs(#279): add i18n MVP close-out note' (#286) from dev/issue-279-i18n-mvp-closeout-note into main
CI / test-and-quality (push) Successful in 2m12s
2026-03-13 12:44:17 +01:00
dev-bot 3747081eb4 docs(#279): clarify merged snapshot in close-out note
CI / test-and-quality (push) Successful in 2m38s
CI / test-and-quality (pull_request) Successful in 2m39s
2026-03-13 11:27:14 +00:00
agw 4a12cee6ee docs(i18n): refresh issue 279 close-out status
CI / test-and-quality (push) Successful in 2m34s
CI / test-and-quality (pull_request) Successful in 2m35s
2026-03-13 11:11:12 +00:00
integrator-bot 6ad5430302 Merge pull request 'docs(#277): add shared i18n parity artifact' (#282) from feat/issue-277-i18n-parity-report into main
CI / test-and-quality (push) Has been cancelled
2026-03-13 11:59:51 +01:00
root d6f4b5c0fb docs: align PR 283 close-out status wording
CI / test-and-quality (push) Successful in 2m40s
CI / test-and-quality (pull_request) Successful in 2m40s
2026-03-13 10:56:04 +00:00
agw ceb71aff6e docs(issue-279): restate close-out note as reviewed snapshot
CI / test-and-quality (push) Successful in 2m35s
CI / test-and-quality (pull_request) Successful in 2m35s
2026-03-13 10:38:26 +00:00
dev-bot b2e66389c3 docs(issue-279): refresh i18n close-out snapshot
CI / test-and-quality (push) Successful in 2m39s
CI / test-and-quality (pull_request) Successful in 2m40s
2026-03-13 10:17:19 +00:00
dev-bot b968ea4430 test(i18n): guard issue-277 artifact determinism
CI / test-and-quality (push) Successful in 2m33s
CI / test-and-quality (pull_request) Successful in 2m32s
2026-03-13 10:08:32 +00:00
agw 575f4782b5 docs(issue-279): add i18n mvp close-out note
CI / test-and-quality (push) Successful in 2m52s
CI / test-and-quality (pull_request) Successful in 2m37s
2026-03-13 09:52:46 +00:00
agw e5b8081c10 test: add issue 278 locale and audio smoke gate
CI / test-and-quality (push) Successful in 2m35s
CI / test-and-quality (pull_request) Successful in 2m50s
2026-03-13 09:51:09 +00:00
dev-bot 5a580964c4 fix(i18n): make parity artifact reproducible
CI / test-and-quality (push) Successful in 2m29s
CI / test-and-quality (pull_request) Successful in 2m31s
2026-03-13 09:40:18 +00:00
agw c0c3ecd90c docs(issue-277): record PR delivery metadata
CI / test-and-quality (push) Has been cancelled
CI / test-and-quality (pull_request) Successful in 3m48s
2026-03-13 09:12:02 +00:00
agw b8a9fbf6d1 docs(issue-277): add shared i18n parity artifact
CI / test-and-quality (push) Has been cancelled
CI / test-and-quality (pull_request) Successful in 3m35s
2026-03-13 09:10:23 +00:00
Asger Geel WeirsøeandClaude Sonnet 4.6 d15abf9d78 docs: add fupogfakta game engine implementation plan
CI / test-and-quality (pull_request) Successful in 2m46s
CI / test-and-quality (push) Successful in 2m50s
15 tasks across 8 batches covering:
- Celery infrastructure
- GameRun model + GameDriver interface
- FupOgFaktaConfig relational presets
- LieReaction model, reveal_order, ScoreEvent removal
- Full FupOgFaktaDriver with all phase transitions
- Platform play/pause/exit endpoints
- Fupogfakta lie/guess/react endpoints
- Angular frontend game screens rebuild
- Cleanup of obsolete manual-advance endpoints

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 07:38:04 +01:00
Asger Geel WeirsøeandClaude Sonnet 4.6 d2dbd8c802 docs: design doc for fup og fakta game engine + platform architecture
CI / test-and-quality (push) Has been cancelled
CI / test-and-quality (pull_request) Successful in 2m43s
Captures all brainstormed decisions:
- Pluggable game cartridge platform (GameDriver interface)
- Celery + Redis timer-driven phase transitions
- Session owner play/pause/exit controls (no skip)
- Escalating scoring per round, incremental reveal scoring
- Emoji reactions during guess phase → post-game awards
- Relational per-user config presets with game-specific models
- Ephemeral game state (no persistence after exit/finish)
- Full WebSocket event reference and data lifecycle

Also: updated TODO.md (WebSocket done, persisted answers done),
created CLAUDE.md, and PROMPT.md for ralph-loop.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 07:35:55 +01:00
agw 7841fb7651 docs(issue-252): require issue/incident reference in fallback decision log
CI / test-and-quality (push) Successful in 2m53s
CI / test-and-quality (pull_request) Successful in 2m48s
2026-03-02 05:05:56 +00:00
dev-bot b63b0ccf7e docs: define React fallback triggers for delivery-blocking only (#252)
CI / test-and-quality (pull_request) Successful in 3m5s
CI / test-and-quality (push) Failing after 7m50s
2026-03-02 04:07:27 +00:00
integrator-bot ee2a202f34 Merge pull request 'docs(#257): add acceptance artifact for shared i18n keyspace loader' (#269) from dev/issue-257-acceptance-artifact into main
CI / test-and-quality (push) Successful in 2m31s
2026-03-02 04:46:44 +01:00
agw cf58ba8067 docs(issue-257): add shared i18n loader acceptance artifact
CI / test-and-quality (push) Successful in 3m6s
CI / test-and-quality (pull_request) Successful in 3m7s
2026-03-02 03:36:42 +00:00
integrator-bot f7ed3d9407 Merge pull request 'docs(#225): refresh backend i18n baseline acceptance artifact' (#267) from feature/issue-225-backend-i18n-baseline into main
CI / test-and-quality (push) Successful in 2m32s
2026-03-02 04:30:37 +01:00
dev-bot 63fce7760a docs(issue-225): refresh backend i18n baseline verification evidence
CI / test-and-quality (push) Successful in 3m16s
CI / test-and-quality (pull_request) Successful in 3m14s
2026-03-02 03:20:36 +00:00
agw 8899bf547c docs(#257): add acceptance artifact for shared i18n loader
CI / test-and-quality (push) Successful in 3m26s
CI / test-and-quality (pull_request) Successful in 3m29s
2026-03-02 03:19:15 +00:00
dev-bot f9e1999e74 docs(issue-251): make 3-batch SPA lane execution-ready
CI / test-and-quality (push) Successful in 3m33s
CI / test-and-quality (pull_request) Successful in 3m36s
2026-03-02 02:45:32 +00:00
dev-bot 0bb15f749b test(player): lock primary-device audio policy for issue 260
CI / test-and-quality (push) Successful in 2m56s
CI / test-and-quality (pull_request) Successful in 2m57s
2026-03-02 02:30:11 +00:00
integrator-bot 361f78b1c8 Merge pull request 'feat(#257): shared i18n keyspace loader + da/en parity guard (Angular-first)' (#259) from dev/issue-257-shared-i18n-loader into main
CI / test-and-quality (push) Successful in 2m27s
2026-03-02 03:20:27 +01:00
dev-bot ed72f9a824 feat(i18n): share frontend lobby loader and add da/en parity check (#257)
CI / test-and-quality (push) Successful in 3m21s
CI / test-and-quality (pull_request) Successful in 3m2s
2026-03-02 02:15:36 +00:00
dev-bot 3474d68c57 docs(issue-225): add backend i18n baseline artifact
CI / test-and-quality (push) Successful in 3m4s
CI / test-and-quality (pull_request) Successful in 3m16s
2026-03-02 02:13:38 +00:00
dev-bot dc6af7547c Issue #250: enforce primary-device-only audio policy guardrail
CI / test-and-quality (push) Has been cancelled
CI / test-and-quality (pull_request) Successful in 3m20s
2026-03-02 01:53:40 +00:00
dev-bot 1f98f01283 docs(#251): define release-often SPA MVP 3-batch micro-PR plan
CI / test-and-quality (push) Successful in 3m19s
CI / test-and-quality (pull_request) Successful in 3m32s
2026-03-02 01:52:37 +00:00
dev-bot f28a390f95 feat(i18n): add shared key manifest and drift check script
CI / test-and-quality (push) Successful in 3m27s
CI / test-and-quality (pull_request) Successful in 3m33s
2026-03-02 00:12:17 +00:00
integrator-bot 5fe8f92ee4 Merge pull request '[MVP][READY] #220 Angular host/player shared i18n key-map bootstrap (da+en)' (#233) from feat/issue-220-angular-shared-i18n-keymap-bootstrap into main
CI / test-and-quality (push) Successful in 3m45s
2026-03-02 00:00:04 +01:00