181f244f62
v0.2.25 - move minigames under /minigames, hide locked UGC entries, fix return url and unlock readout
2026-09-09 00:03:54 -04:00
1d4dee0433
chore: ignore playwright report artifacts
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-09 00:03:45 -04:00
167ac22990
fix(radio): floor unlock-progress readout so it never overstates the threshold
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-09 00:03:36 -04:00
911fc31354
feat(minigames): hide UGC entry buttons until custom content unlocks
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-09 00:03:29 -04:00
135a7fd5ae
docs: update minigame paths in AGENTS.md
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-09 00:03:18 -04:00
14c9f0b4ec
feat(minigames): redirect legacy minigame URLs to /minigames/*
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-09 00:03:18 -04:00
285de3ac14
fix(flappy): stop deriving returnTo from x-invoke-path
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-09 00:03:18 -04:00
25975db23f
refactor(minigames): move routes, components, and libs under minigames parents
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-09 00:02:59 -04:00
76fbaba293
refactor(minigames): derive custom-page unlock state from shared lib predicates
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 22:38:38 -04:00
455d705eb9
feat(minigames): add UnlockNotice and wire into EOD and radio arenas
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 22:38:38 -04:00
f76966ebc3
v0.2.24 - add custom minefield XP payouts, exposure toggle, and loss fog
2026-09-08 15:57:13 -04:00
226cd9b2b8
test(eod): cover custom payout math, loss reveal, and exposure rule
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 15:57:01 -04:00
bf491fc9cd
feat(eod): add author exposure toggle and reduced-XP copy to custom play
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 15:57:01 -04:00
6d4b5ad297
feat(eod): restrict custom loss reveal and add question-mark fog to hidden cells
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 15:57:01 -04:00
efda519569
feat(eod): pay reduced XP with creator banking on custom minefield runs
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 15:57:01 -04:00
243bb8ae0d
feat(minigames): add creator bank and exposure toggle schema with migrations
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 15:57:01 -04:00
987e78babd
feat(minigames): add custom payout math and loss-reveal helpers to shared libs
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 15:57:01 -04:00
eeab85ad35
v0.2.23 - add custom EOD minefields and custom radio tests minigames
2026-09-08 14:45:29 -04:00
4fde0fe91c
fix(ui): use h-dvh for sheet side variants so panels fill mobile viewports
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 14:45:29 -04:00
1cf11745fe
feat(radio): add custom radio test authoring, play, and leaderboard
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 14:41:18 -04:00
52328da8f9
feat(eod): add custom minefield authoring, play, and leaderboard
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 14:41:18 -04:00
5b4842943e
feat(minigames): extract shared custom-minigame validation and unlock libs
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 14:41:18 -04:00
1f99e34c0d
feat(minigames): add custom minefield and radio test collections with permissions, events, and migration
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 14:41:18 -04:00
0143c235bc
docs: add conventional commit prefix rules to AGENTS.md
2026-09-08 13:16:16 -04:00
2c8e305ff5
v0.2.22 - add OPORD Recall briefing-recall minigame, add Chronicle story beats
2026-09-08 13:09:02 -04:00
251bb0506f
docs(opord): rename veteran tier detail to extended order
2026-09-08 13:06:00 -04:00
8439dd7e17
docs(opord): drop the linking-question examples from the protocol card
2026-09-08 13:04:43 -04:00
baa1863c2f
docs(opord): reframe protocol card copy around game mechanics
2026-09-08 13:03:43 -04:00
840bc27646
feat(opord): add draining timer bar to the 2s unlock countdown
2026-09-08 13:02:28 -04:00
246a5796f8
feat(opord): lock answering behind a 2s countdown per question
2026-09-08 13:00:43 -04:00
50b9b7e46c
feat(opord): add garrison, ROE, intel, and secondary objectives with tier scaling
2026-09-08 12:53:36 -04:00
d8ee14ee8d
feat(opord): dynamic abort contingency with six options
2026-09-08 12:39:57 -04:00
53dec0b127
fix(opord): wrap quiz option button text instead of overflowing
2026-09-08 12:35:25 -04:00
0996b9b7c2
feat(opord): scale tiers to 10/15/20 questions with expanded briefings
2026-09-08 12:34:37 -04:00
987250b60a
docs: restrict release version bumps and tags to main deploys
2026-09-08 12:18:43 -04:00
c8c0267d54
feat(opord): soften fairness copy to a polite ask
2026-09-08 12:18:43 -04:00
8206ee2303
v0.2.21 - Esc/R reset keybind for OPORD Recall
2026-09-08 12:13:49 -04:00
e52a637f96
feat(minigames): Esc/R reset keybind with hint text for OPORD Recall
2026-09-08 12:13:45 -04:00
494b60db3b
v0.2.20 - fairness note on OPORD briefing
2026-09-08 12:09:15 -04:00
5bde9707a3
feat(minigames): fairness note between briefing banner and OPORD canvas
2026-09-08 12:09:11 -04:00
bf5468e461
v0.2.19 - Arma-style grid format for OPORD Recall
2026-09-08 12:04:59 -04:00
4594912325
feat(minigames): format OPORD Recall grids Arma style as 034-672
2026-09-08 12:04:51 -04:00
3daa7a3601
v0.2.18 - tier-scaled OPORD briefings with relational questions
2026-09-08 11:58:38 -04:00
3fefb8b4a3
feat(minigames): tier-scaled briefings with relational questions for OPORD Recall
2026-09-08 11:58:15 -04:00
b2bdbb9ea6
v0.2.17 - OPORD Recall anti-cheat
2026-09-08 11:46:58 -04:00
95663924ea
feat(minigames): anti-cheat pass for OPORD Recall
...
- briefing is now self-paced (player clicks Begin recall; no memo countdown)
- recall quiz has a hard server-validated time band per tier (45/60/75s limits, minimum plausible human time, 2.5s grace); scripted instant or over-limit submissions are rejected
- briefing is rendered on canvas: no selectable text in the DOM, copy/cut/context-menu/ctrl-a-c-x-s-p blocked; screenshots remain possible but burn quiz time
- ?seed=<n> URL param pins a deterministic scenario (no server meaning; used by the e2e spec to know the grid)
- e2e spec updated for the new flow and asserts no grid text leaks into the DOM
2026-09-08 11:46:53 -04:00
225434d8fc
v0.2.16 - add OPORD Recall minigame
2026-09-08 11:26:44 -04:00
eaa0325b6d
feat(minigames): add OPORD Recall briefing-recall minigame
...
- seeded OPORD generator (grid, azimuth, H-HOUR, phase lines, codewords, callsign, frequency) in pure lib src/lib/opord-recall.ts with per-tier memo windows (25/18/12s) and quiz sizes (4/6/8)
- server action submitOpordRecallResult validates input, recomputes score server-side, persists to Profiles progression.minigames.opordRecall, broadcasts XP, emits minigame:opord-recall event
- UI at /opord: briefing countdown, one-at-a-time quiz, debrief metres, tier radio group, SSE presence, REST leaderboard per tier
- profiles migration 20260908_152021 (7 additive columns) + XP hook wiring
- nav entries in command palette and NavUser Exercises submenu
- e2e spec plays a full round and asserts debrief + leaderboard row
2026-09-08 11:26:18 -04:00
caca11a60b
feat(story): add Chronicle story beats system with reader states and reactions
2026-09-08 01:32:59 -04:00
bf5c53249a
v0.2.9 - mobile mission detail fixes, friday ops overflow and host credit
2026-09-08 01:31:12 -04:00