Make board generation fast and recoverable; simplify Jeopardy controls - #7
Draft
milwrite wants to merge 3 commits into
Draft
Make board generation fast and recoverable; simplify Jeopardy controls#7milwrite wants to merge 3 commits into
milwrite wants to merge 3 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Jeopardy could keep reading after a provider finished, retry complete generations repeatedly, and turn malformed output into placeholder boards. Completed streams now stop promptly; generation is cancellable, bounded by one deadline, and retries transient failures at most once. Incomplete output leaves the current board intact. Final Jeopardy retains wagers and offers a real retry after failure.
Mistral Small 4 is the default for new sessions following live timing comparisons. Browsers on the previous DeepSeek default move to Mistral once; other selections and later explicit DeepSeek choices are retained. A shorter prompt asks for clues and answers; the app assigns prices and Daily Doubles. MiniMax short-request budgets include the verified 2048-token minimum from 945fceb, including personal-key connection tests.
The main toolbar now has New board, Board, and Game, with secondary actions grouped inside menus. Display and interface type use the Barlow family consistently. Controls have 44px touch targets and visible keyboard focus, generation dialogs trap and restore focus, and narrow screens retain readable board cells in a horizontally scrollable region.
Validation: 30 tests, TypeScript, production build, and Wrangler dry run passed. Live signed-in Firefox generated a complete 6-category/30-clue board in 8.466s and autosaved in 8.871s. Revealing and completing a clue persisted; a fresh tab restored its answered state. Shared D1 readback confirmed revision 3, model attribution, six categories, and the answered clue. Chromium desktop (1280px) and mobile (390px) UI checks passed without page overflow or console errors. Timings describe this measured run, not a provider latency guarantee.
Deployed Worker release 913d1a8, version 2c8f69af-f2a8-4045-a097-5da564779a64. Production health readback confirmed. Railway legacy installations were not changed.