Skip to content

Go: a lone seat adds GNU Go at a level - #466

Merged
aaylward merged 2 commits into
mainfrom
claude/hopeful-ramanujan-uwueor
Oct 20, 2026
Merged

aaylward merged 2 commits into
mainfrom
claude/hopeful-ramanujan-uwueor

Conversation

@aaylward

@aaylward aaylward commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

UI for muchq/MoonBase#1681 and muchq/MoonBase#1682 (muchq/MoonBase#1668 phase 4).

  • A lone seat at an ordinary go table picks a bot strength and adds GNU Go: Beginner 1, Casual 4, Club 7 or Strongest 10. This mirrors chess's Stockfish picker. Not offered at a round robin pairing, to watchers, or with both seats taken.
  • useGoTable.addBot(level) sends addBot {level}, held as seating until the next view or a refusal.
  • A bot's seat (gnugo@4) reads "GNU Go 4" in the waiting list, on its clock, in the turn and acceptance lines, and in the result. GoPlayer.bot and addBot are in the wire types.
  • After that the table plays as a two-seat one: pick a board and clock, then Start. The bot marks the dead and accepts in the scoring.

Deploy order: merge after muchq/MoonBase#1682 deploys with GO_ENGINE_URL set. Until then the hub refuses addBot with "no go engine".

Tests (written first, watched red): naming, the hook's seating hold, the picker's gating and disabled states, and bot names in the waiting list, clocks, turn line, acceptance line and result. The UI's new conditions are mutation-checked. 1676/1676; tsc and eslint clean.

The review panel ran (React, UX/a11y, wire, altitude). Its fixes are the second commit.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Xae1QBa2qHX32DPVGSq19F

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
muchq 79ff785 Commit Preview URL

Branch Preview URL
Oct 20 2026, 01:05 PM

@cursor

cursor Bot commented Oct 20, 2026

Copy link
Copy Markdown

Review

Altitude looks right for MoonBase#1681/#1682 phase 4: lone-seat addBot{level}, GNU Go naming via gnugo@N, seating hold until view/refusal, gated off pairings/watchers/full tables, then ordinary two-seat Start. Mirrors chess’s Stockfish picker without inventing a shared bot abstraction. CI green.

Low — clock seat names aren’t pinned

PR text and the “wherever a seat is named” test claim clocks; the playing assertion only checks the status line (GNU Go 4 to move.). Clock does use seatName via the color nameOf, but nothing reads go-seat-white (chess pins Stockfish 1500 · black). A regression that left the seat label as gnugo@4 would still pass.

Copy link
Copy Markdown
Contributor Author

Clock seat label: agreed, it's unpinned. It will ride this PR's next code push, if one comes, as an assertion on the bot's clock reading "GNU Go 4". It doesn't start a push on its own; the label goes through the same seatName the status-line test pins.


Generated by Claude Code

@aaylward
aaylward merged commit c31465a into main Oct 20, 2026
2 checks passed
@aaylward
aaylward deleted the claude/hopeful-ramanujan-uwueor branch October 20, 2026 13:55
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.

2 participants