Skip to content

Author the competition area a spent entry opens - #391

Merged
PatrikBak merged 2 commits into
mainfrom
patrik/competition-area
Aug 24, 2026
Merged

Author the competition area a spent entry opens#391
PatrikBak merged 2 commits into
mainfrom
patrik/competition-area

Conversation

@PatrikBak

Copy link
Copy Markdown
Owner

A student who spends an entry now lands inside the competition rather than on a dead link: the whole problem set on one page, their own clock in the header, and the examiner reachable from every problem.

The entry response carries the problems, so one round trip both spends the entry and delivers what it bought, and the clock never starts before the statements arrive. A defense turn is stamped when it reaches the backend, never after the reply is generated, so a turn sent with time left on the clock counts towards the entry. The transcript draws a line where the entry stopped counting, and the conversation carries on beneath it unranked.

Practice is the one competition a student may take twice, and a retake starts from nothing: the transcripts, the cached conversation lists and the unsent composer drafts all go with the run before it.

The backend has no tables for any of this yet, so the surface is served by mock services reached with ?scenario=<name>.

Merged main in along the way. The group panel's phone layout and the area links it now offers landed separately and touched the same rows: the layout stands as main authored it, with the links, the row's competition id and the AreaLink they share applied on top.

🤖 Generated with Claude Code

PatrikBak and others added 2 commits August 24, 2026 11:43
A student who spends an entry now lands inside the competition rather than on
a dead link: the whole problem set on one page, their own clock in the header,
and the examiner reachable from every problem.

The entry response carries the problems, so one round trip both spends the
entry and delivers what it bought, and the clock never starts before the
statements arrive. A defense turn is stamped when it reaches the backend,
never after the reply is generated, so a turn sent with time left on the clock
counts towards the entry. The transcript draws a line where the entry stopped
counting, and the conversation carries on beneath it unranked.

Practice is the one competition a student may take twice, and a retake starts
from nothing: the transcripts, the cached conversation lists and the unsent
composer drafts all go with the run before it.

The backend has no tables for any of this yet, so the surface is served by
mock services reached with ?scenario=<name>.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The group panel's phone layout and the area links it now offers landed
separately and touched the same rows. The layout stands as main authored it,
with the links, the row's competition id and the AreaLink they share applied
on top of it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 24, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
math-comps Ready Ready Preview Aug 24, 2026 9:51am

@PatrikBak
PatrikBak enabled auto-merge August 24, 2026 09:50
@PatrikBak
PatrikBak merged commit 2008c42 into main Aug 24, 2026
5 checks passed
@PatrikBak
PatrikBak deleted the patrik/competition-area branch August 24, 2026 09:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant