Skip to content

feat: add opponent seats with atomic replies and fork overrides - #35

Merged
nosam1998 merged 4 commits into
mainfrom
feat/opponent-seat-replies
Sep 30, 2026
Merged

nosam1998 merged 4 commits into
mainfrom
feat/opponent-seat-replies

Conversation

@nosam1998

Copy link
Copy Markdown
Member

Interactive matches can assign self, human, open, or opponent seats. Bot openings complete before creation returns, and a caller's move includes automatic replies plus the resulting caller-scoped state. A single compare-and-append commits the human move, bot actions, and complete idempotency receipt; failed searches or concurrent writes leave the batch unapplied.

Assignments and independent planning seeds are recorded for restart and replay. Forks may replace seats. Hidden-information replies omit private actions and diagnostics. Existing records retain external seats by default; all-opponent matches remain rejected until the background runner is installed.

Validation covers hidden-view isolation, rollback on provider failure, validation before persistence, concurrent duplicate requests, complete human/bot games, restart, bot openings, and fork overrides. No new dependencies.

@nosam1998
nosam1998 marked this pull request as ready for review September 30, 2026 21:56
@nosam1998
nosam1998 merged commit cc8bb3c into main Sep 30, 2026
9 checks passed
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