Skip to content

Call a game stopped by the time limit on the square count - #138

Merged
adri0 merged 1 commit into
mainfrom
time-limit
Oct 17, 2026
Merged

adri0 merged 1 commit into
mainfrom
time-limit

Conversation

@adri0

@adri0 adri0 commented Oct 17, 2026

Copy link
Copy Markdown
Owner

Season 4 games have a two-hour limit. Video 100 (Adef vs Vswed, 2024-10-12-Adef-vs-Vswed on the site) is stopped by it at 12–11 with no line, and bingobrawlers.com records it as Adef's majority win. Today match validate rejects it with winner_board_mismatch, because 12–11 isn't an unbeatable majority.

  • winner.time_up(events): true when the game's last event (in video order) is a game_end. The transcriber adds that event where the clock stops.
  • determine_winner(board, time_up=True): if no line was made, the color with more squares wins by MAJORITY, and level counts are a TIE. A line still wins as before.
  • validation passes time_up for each game, so recorded results are checked against this rule.
  • Docs: EventType docstring and CLAUDE.md.

None of the site's 143 games changes result under the new rule (137 of them end on a game_end, and all of those are already settled). 527 tests pass, Ruff is clean.

The site PR for video 100 needs this released before its validate check passes.

🤖 Generated with Claude Code

Season 4 games have a two-hour limit. When a game ends on time before a
line or an unbeatable majority settles it, the color holding more squares
wins by majority, and level counts are a tie. A game counts as stopped on
time when its last event is a game_end, which the transcriber adds where
the clock stops.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@adri0
adri0 merged commit 7425b18 into main Oct 17, 2026
1 check passed
@adri0
adri0 deleted the time-limit branch October 17, 2026 14:58
adri0 added a commit that referenced this pull request Oct 22, 2026
A game stopped by Season 4's two-hour limit needed its game_end added by
hand (#138). Extraction now finds the first sample where the clock has
ticked up to 2:00:00 (a jump there from far below is a misread and doesn't
count), keeps only the claims seen by then, plus the mark debounce, and,
when no line or unbeatable majority settled the game first, adds a
game_end at that point so the square count decides it.
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