Sean May
From the AlphaSettler wiki
Sean May contributed to the repository between 30 September and 2 October 2026, across all major systems: the game engine , search algorithm , bot arena , and supporting infrastructure. In September, he implemented a complete Catan simulation engine with rule enforcement, property tests, and performance baselines. In October, he added bot infrastructure, an ISMCTS search bot with belief tracking, integration with external simulators, and a command-line interface for arena play and self-play training.
Activity
30 Sep 2026: 32 commits, +10,337 −355 lines 30 Sep 2026: 32 commits, +10,337 −355 lines 1 Oct 2026: 16 commits, +16,734 −297 lines 1 Oct 2026: 16 commits, +16,734 −297 lines 2 Oct 2026: 16 commits, +4,926 −576 lines 2 Oct 2026: 16 commits, +4,926 −576 lines Sean May's commits by day Period Commits Lines added Lines removed 30 Sep 2026 32 10,337 355 1 Oct 2026 16 16,734 297 2 Oct 2026 16 4,926 576
2026
1 Jan 2026: 0 commits, +0 −0 lines 2 Jan 2026: 0 commits, +0 −0 lines 3 Jan 2026: 0 commits, +0 −0 lines 4 Jan 2026: 0 commits, +0 −0 lines 5 Jan 2026: 0 commits, +0 −0 lines 6 Jan 2026: 0 commits, +0 −0 lines 7 Jan 2026: 0 commits, +0 −0 lines 8 Jan 2026: 0 commits, +0 −0 lines 9 Jan 2026: 0 commits, +0 −0 lines 10 Jan 2026: 0 commits, +0 −0 lines 11 Jan 2026: 0 commits, +0 −0 lines 12 Jan 2026: 0 commits, +0 −0 lines 13 Jan 2026: 0 commits, +0 −0 lines 14 Jan 2026: 0 commits, +0 −0 lines 15 Jan 2026: 0 commits, +0 −0 lines 16 Jan 2026: 0 commits, +0 −0 lines 17 Jan 2026: 0 commits, +0 −0 lines 18 Jan 2026: 0 commits, +0 −0 lines 19 Jan 2026: 0 commits, +0 −0 lines 20 Jan 2026: 0 commits, +0 −0 lines 21 Jan 2026: 0 commits, +0 −0 lines 22 Jan 2026: 0 commits, +0 −0 lines 23 Jan 2026: 0 commits, +0 −0 lines 24 Jan 2026: 0 commits, +0 −0 lines 25 Jan 2026: 0 commits, +0 −0 lines 26 Jan 2026: 0 commits, +0 −0 lines 27 Jan 2026: 0 commits, +0 −0 lines 28 Jan 2026: 0 commits, +0 −0 lines 29 Jan 2026: 0 commits, +0 −0 lines 30 Jan 2026: 0 commits, +0 −0 lines 31 Jan 2026: 0 commits, +0 −0 lines 1 Feb 2026: 0 commits, +0 −0 lines 2 Feb 2026: 0 commits, +0 −0 lines 3 Feb 2026: 0 commits, +0 −0 lines 4 Feb 2026: 0 commits, +0 −0 lines 5 Feb 2026: 0 commits, +0 −0 lines 6 Feb 2026: 0 commits, +0 −0 lines 7 Feb 2026: 0 commits, +0 −0 lines 8 Feb 2026: 0 commits, +0 −0 lines 9 Feb 2026: 0 commits, +0 −0 lines 10 Feb 2026: 0 commits, +0 −0 lines 11 Feb 2026: 0 commits, +0 −0 lines 12 Feb 2026: 0 commits, +0 −0 lines 13 Feb 2026: 0 commits, +0 −0 lines 14 Feb 2026: 0 commits, +0 −0 lines 15 Feb 2026: 0 commits, +0 −0 lines 16 Feb 2026: 0 commits, +0 −0 lines 17 Feb 2026: 0 commits, +0 −0 lines 18 Feb 2026: 0 commits, +0 −0 lines 19 Feb 2026: 0 commits, +0 −0 lines 20 Feb 2026: 0 commits, +0 −0 lines 21 Feb 2026: 0 commits, +0 −0 lines 22 Feb 2026: 0 commits, +0 −0 lines 23 Feb 2026: 0 commits, +0 −0 lines 24 Feb 2026: 0 commits, +0 −0 lines 25 Feb 2026: 0 commits, +0 −0 lines 26 Feb 2026: 0 commits, +0 −0 lines 27 Feb 2026: 0 commits, +0 −0 lines 28 Feb 2026: 0 commits, +0 −0 lines 1 Mar 2026: 0 commits, +0 −0 lines 2 Mar 2026: 0 commits, +0 −0 lines 3 Mar 2026: 0 commits, +0 −0 lines 4 Mar 2026: 0 commits, +0 −0 lines 5 Mar 2026: 0 commits, +0 −0 lines 6 Mar 2026: 0 commits, +0 −0 lines 7 Mar 2026: 0 commits, +0 −0 lines 8 Mar 2026: 0 commits, +0 −0 lines 9 Mar 2026: 0 commits, +0 −0 lines 10 Mar 2026: 0 commits, +0 −0 lines 11 Mar 2026: 0 commits, +0 −0 lines 12 Mar 2026: 0 commits, +0 −0 lines 13 Mar 2026: 0 commits, +0 −0 lines 14 Mar 2026: 0 commits, +0 −0 lines 15 Mar 2026: 0 commits, +0 −0 lines 16 Mar 2026: 0 commits, +0 −0 lines 17 Mar 2026: 0 commits, +0 −0 lines 18 Mar 2026: 0 commits, +0 −0 lines 19 Mar 2026: 0 commits, +0 −0 lines 20 Mar 2026: 0 commits, +0 −0 lines 21 Mar 2026: 0 commits, +0 −0 lines 22 Mar 2026: 0 commits, +0 −0 lines 23 Mar 2026: 0 commits, +0 −0 lines 24 Mar 2026: 0 commits, +0 −0 lines 25 Mar 2026: 0 commits, +0 −0 lines 26 Mar 2026: 0 commits, +0 −0 lines 27 Mar 2026: 0 commits, +0 −0 lines 28 Mar 2026: 0 commits, +0 −0 lines 29 Mar 2026: 0 commits, +0 −0 lines 30 Mar 2026: 0 commits, +0 −0 lines 31 Mar 2026: 0 commits, +0 −0 lines 1 Apr 2026: 0 commits, +0 −0 lines 2 Apr 2026: 0 commits, +0 −0 lines 3 Apr 2026: 0 commits, +0 −0 lines 4 Apr 2026: 0 commits, +0 −0 lines 5 Apr 2026: 0 commits, +0 −0 lines 6 Apr 2026: 0 commits, +0 −0 lines 7 Apr 2026: 0 commits, +0 −0 lines 8 Apr 2026: 0 commits, +0 −0 lines 9 Apr 2026: 0 commits, +0 −0 lines 10 Apr 2026: 0 commits, +0 −0 lines 11 Apr 2026: 0 commits, +0 −0 lines 12 Apr 2026: 0 commits, +0 −0 lines 13 Apr 2026: 0 commits, +0 −0 lines 14 Apr 2026: 0 commits, +0 −0 lines 15 Apr 2026: 0 commits, +0 −0 lines 16 Apr 2026: 0 commits, +0 −0 lines 17 Apr 2026: 0 commits, +0 −0 lines 18 Apr 2026: 0 commits, +0 −0 lines 19 Apr 2026: 0 commits, +0 −0 lines 20 Apr 2026: 0 commits, +0 −0 lines 21 Apr 2026: 0 commits, +0 −0 lines 22 Apr 2026: 0 commits, +0 −0 lines 23 Apr 2026: 0 commits, +0 −0 lines 24 Apr 2026: 0 commits, +0 −0 lines 25 Apr 2026: 0 commits, +0 −0 lines 26 Apr 2026: 0 commits, +0 −0 lines 27 Apr 2026: 0 commits, +0 −0 lines 28 Apr 2026: 0 commits, +0 −0 lines 29 Apr 2026: 0 commits, +0 −0 lines 30 Apr 2026: 0 commits, +0 −0 lines 1 May 2026: 0 commits, +0 −0 lines 2 May 2026: 0 commits, +0 −0 lines 3 May 2026: 0 commits, +0 −0 lines 4 May 2026: 0 commits, +0 −0 lines 5 May 2026: 0 commits, +0 −0 lines 6 May 2026: 0 commits, +0 −0 lines 7 May 2026: 0 commits, +0 −0 lines 8 May 2026: 0 commits, +0 −0 lines 9 May 2026: 0 commits, +0 −0 lines 10 May 2026: 0 commits, +0 −0 lines 11 May 2026: 0 commits, +0 −0 lines 12 May 2026: 0 commits, +0 −0 lines 13 May 2026: 0 commits, +0 −0 lines 14 May 2026: 0 commits, +0 −0 lines 15 May 2026: 0 commits, +0 −0 lines 16 May 2026: 0 commits, +0 −0 lines 17 May 2026: 0 commits, +0 −0 lines 18 May 2026: 0 commits, +0 −0 lines 19 May 2026: 0 commits, +0 −0 lines 20 May 2026: 0 commits, +0 −0 lines 21 May 2026: 0 commits, +0 −0 lines 22 May 2026: 0 commits, +0 −0 lines 23 May 2026: 0 commits, +0 −0 lines 24 May 2026: 0 commits, +0 −0 lines 25 May 2026: 0 commits, +0 −0 lines 26 May 2026: 0 commits, +0 −0 lines 27 May 2026: 0 commits, +0 −0 lines 28 May 2026: 0 commits, +0 −0 lines 29 May 2026: 0 commits, +0 −0 lines 30 May 2026: 0 commits, +0 −0 lines 31 May 2026: 0 commits, +0 −0 lines 1 Jun 2026: 0 commits, +0 −0 lines 2 Jun 2026: 0 commits, +0 −0 lines 3 Jun 2026: 0 commits, +0 −0 lines 4 Jun 2026: 0 commits, +0 −0 lines 5 Jun 2026: 0 commits, +0 −0 lines 6 Jun 2026: 0 commits, +0 −0 lines 7 Jun 2026: 0 commits, +0 −0 lines 8 Jun 2026: 0 commits, +0 −0 lines 9 Jun 2026: 0 commits, +0 −0 lines 10 Jun 2026: 0 commits, +0 −0 lines 11 Jun 2026: 0 commits, +0 −0 lines 12 Jun 2026: 0 commits, +0 −0 lines 13 Jun 2026: 0 commits, +0 −0 lines 14 Jun 2026: 0 commits, +0 −0 lines 15 Jun 2026: 0 commits, +0 −0 lines 16 Jun 2026: 0 commits, +0 −0 lines 17 Jun 2026: 0 commits, +0 −0 lines 18 Jun 2026: 0 commits, +0 −0 lines 19 Jun 2026: 0 commits, +0 −0 lines 20 Jun 2026: 0 commits, +0 −0 lines 21 Jun 2026: 0 commits, +0 −0 lines 22 Jun 2026: 0 commits, +0 −0 lines 23 Jun 2026: 0 commits, +0 −0 lines 24 Jun 2026: 0 commits, +0 −0 lines 25 Jun 2026: 0 commits, +0 −0 lines 26 Jun 2026: 0 commits, +0 −0 lines 27 Jun 2026: 0 commits, +0 −0 lines 28 Jun 2026: 0 commits, +0 −0 lines 29 Jun 2026: 0 commits, +0 −0 lines 30 Jun 2026: 0 commits, +0 −0 lines 1 Jul 2026: 0 commits, +0 −0 lines 2 Jul 2026: 0 commits, +0 −0 lines 3 Jul 2026: 0 commits, +0 −0 lines 4 Jul 2026: 0 commits, +0 −0 lines 5 Jul 2026: 0 commits, +0 −0 lines 6 Jul 2026: 0 commits, +0 −0 lines 7 Jul 2026: 0 commits, +0 −0 lines 8 Jul 2026: 0 commits, +0 −0 lines 9 Jul 2026: 0 commits, +0 −0 lines 10 Jul 2026: 0 commits, +0 −0 lines 11 Jul 2026: 0 commits, +0 −0 lines 12 Jul 2026: 0 commits, +0 −0 lines 13 Jul 2026: 0 commits, +0 −0 lines 14 Jul 2026: 0 commits, +0 −0 lines 15 Jul 2026: 0 commits, +0 −0 lines 16 Jul 2026: 0 commits, +0 −0 lines 17 Jul 2026: 0 commits, +0 −0 lines 18 Jul 2026: 0 commits, +0 −0 lines 19 Jul 2026: 0 commits, +0 −0 lines 20 Jul 2026: 0 commits, +0 −0 lines 21 Jul 2026: 0 commits, +0 −0 lines 22 Jul 2026: 0 commits, +0 −0 lines 23 Jul 2026: 0 commits, +0 −0 lines 24 Jul 2026: 0 commits, +0 −0 lines 25 Jul 2026: 0 commits, +0 −0 lines 26 Jul 2026: 0 commits, +0 −0 lines 27 Jul 2026: 0 commits, +0 −0 lines 28 Jul 2026: 0 commits, +0 −0 lines 29 Jul 2026: 0 commits, +0 −0 lines 30 Jul 2026: 0 commits, +0 −0 lines 31 Jul 2026: 0 commits, +0 −0 lines 1 Aug 2026: 0 commits, +0 −0 lines 2 Aug 2026: 0 commits, +0 −0 lines 3 Aug 2026: 0 commits, +0 −0 lines 4 Aug 2026: 0 commits, +0 −0 lines 5 Aug 2026: 0 commits, +0 −0 lines 6 Aug 2026: 0 commits, +0 −0 lines 7 Aug 2026: 0 commits, +0 −0 lines 8 Aug 2026: 0 commits, +0 −0 lines 9 Aug 2026: 0 commits, +0 −0 lines 10 Aug 2026: 0 commits, +0 −0 lines 11 Aug 2026: 0 commits, +0 −0 lines 12 Aug 2026: 0 commits, +0 −0 lines 13 Aug 2026: 0 commits, +0 −0 lines 14 Aug 2026: 0 commits, +0 −0 lines 15 Aug 2026: 0 commits, +0 −0 lines 16 Aug 2026: 0 commits, +0 −0 lines 17 Aug 2026: 0 commits, +0 −0 lines 18 Aug 2026: 0 commits, +0 −0 lines 19 Aug 2026: 0 commits, +0 −0 lines 20 Aug 2026: 0 commits, +0 −0 lines 21 Aug 2026: 0 commits, +0 −0 lines 22 Aug 2026: 0 commits, +0 −0 lines 23 Aug 2026: 0 commits, +0 −0 lines 24 Aug 2026: 0 commits, +0 −0 lines 25 Aug 2026: 0 commits, +0 −0 lines 26 Aug 2026: 0 commits, +0 −0 lines 27 Aug 2026: 0 commits, +0 −0 lines 28 Aug 2026: 0 commits, +0 −0 lines 29 Aug 2026: 0 commits, +0 −0 lines 30 Aug 2026: 0 commits, +0 −0 lines 31 Aug 2026: 0 commits, +0 −0 lines 1 Sep 2026: 0 commits, +0 −0 lines 2 Sep 2026: 0 commits, +0 −0 lines 3 Sep 2026: 0 commits, +0 −0 lines 4 Sep 2026: 0 commits, +0 −0 lines 5 Sep 2026: 0 commits, +0 −0 lines 6 Sep 2026: 0 commits, +0 −0 lines 7 Sep 2026: 0 commits, +0 −0 lines 8 Sep 2026: 0 commits, +0 −0 lines 9 Sep 2026: 0 commits, +0 −0 lines 10 Sep 2026: 0 commits, +0 −0 lines 11 Sep 2026: 0 commits, +0 −0 lines 12 Sep 2026: 0 commits, +0 −0 lines 13 Sep 2026: 0 commits, +0 −0 lines 14 Sep 2026: 0 commits, +0 −0 lines 15 Sep 2026: 0 commits, +0 −0 lines 16 Sep 2026: 0 commits, +0 −0 lines 17 Sep 2026: 0 commits, +0 −0 lines 18 Sep 2026: 0 commits, +0 −0 lines 19 Sep 2026: 0 commits, +0 −0 lines 20 Sep 2026: 0 commits, +0 −0 lines 21 Sep 2026: 0 commits, +0 −0 lines 22 Sep 2026: 0 commits, +0 −0 lines 23 Sep 2026: 0 commits, +0 −0 lines 24 Sep 2026: 0 commits, +0 −0 lines 25 Sep 2026: 0 commits, +0 −0 lines 26 Sep 2026: 0 commits, +0 −0 lines 27 Sep 2026: 0 commits, +0 −0 lines 28 Sep 2026: 0 commits, +0 −0 lines 29 Sep 2026: 0 commits, +0 −0 lines 30 Sep 2026: 32 commits, +10,337 −355 lines 1 Oct 2026: 16 commits, +16,734 −297 lines 2 Oct 2026: 16 commits, +4,926 −576 lines 3 Oct 2026: 0 commits, +0 −0 lines 4 Oct 2026: 0 commits, +0 −0 lines 5 Oct 2026: 0 commits, +0 −0 lines 6 Oct 2026: 0 commits, +0 −0 lines 7 Oct 2026: 0 commits, +0 −0 lines 8 Oct 2026: 0 commits, +0 −0 lines 9 Oct 2026: 0 commits, +0 −0 lines 10 Oct 2026: 0 commits, +0 −0 lines 11 Oct 2026: 0 commits, +0 −0 lines 12 Oct 2026: 0 commits, +0 −0 lines 13 Oct 2026: 0 commits, +0 −0 lines 14 Oct 2026: 0 commits, +0 −0 lines 15 Oct 2026: 0 commits, +0 −0 lines 16 Oct 2026: 0 commits, +0 −0 lines 17 Oct 2026: 0 commits, +0 −0 lines 18 Oct 2026: 0 commits, +0 −0 lines 19 Oct 2026: 0 commits, +0 −0 lines 20 Oct 2026: 0 commits, +0 −0 lines 21 Oct 2026: 0 commits, +0 −0 lines 22 Oct 2026: 0 commits, +0 −0 lines 23 Oct 2026: 0 commits, +0 −0 lines 24 Oct 2026: 0 commits, +0 −0 lines 25 Oct 2026: 0 commits, +0 −0 lines 26 Oct 2026: 0 commits, +0 −0 lines 27 Oct 2026: 0 commits, +0 −0 lines 28 Oct 2026: 0 commits, +0 −0 lines 29 Oct 2026: 0 commits, +0 −0 lines 30 Oct 2026: 0 commits, +0 −0 lines 31 Oct 2026: 0 commits, +0 −0 lines 1 Nov 2026: 0 commits, +0 −0 lines 2 Nov 2026: 0 commits, +0 −0 lines 3 Nov 2026: 0 commits, +0 −0 lines 4 Nov 2026: 0 commits, +0 −0 lines 5 Nov 2026: 0 commits, +0 −0 lines 6 Nov 2026: 0 commits, +0 −0 lines 7 Nov 2026: 0 commits, +0 −0 lines 8 Nov 2026: 0 commits, +0 −0 lines 9 Nov 2026: 0 commits, +0 −0 lines 10 Nov 2026: 0 commits, +0 −0 lines 11 Nov 2026: 0 commits, +0 −0 lines 12 Nov 2026: 0 commits, +0 −0 lines 13 Nov 2026: 0 commits, +0 −0 lines 14 Nov 2026: 0 commits, +0 −0 lines 15 Nov 2026: 0 commits, +0 −0 lines 16 Nov 2026: 0 commits, +0 −0 lines 17 Nov 2026: 0 commits, +0 −0 lines 18 Nov 2026: 0 commits, +0 −0 lines 19 Nov 2026: 0 commits, +0 −0 lines 20 Nov 2026: 0 commits, +0 −0 lines 21 Nov 2026: 0 commits, +0 −0 lines 22 Nov 2026: 0 commits, +0 −0 lines 23 Nov 2026: 0 commits, +0 −0 lines 24 Nov 2026: 0 commits, +0 −0 lines 25 Nov 2026: 0 commits, +0 −0 lines 26 Nov 2026: 0 commits, +0 −0 lines 27 Nov 2026: 0 commits, +0 −0 lines 28 Nov 2026: 0 commits, +0 −0 lines 29 Nov 2026: 0 commits, +0 −0 lines 30 Nov 2026: 0 commits, +0 −0 lines 1 Dec 2026: 0 commits, +0 −0 lines 2 Dec 2026: 0 commits, +0 −0 lines 3 Dec 2026: 0 commits, +0 −0 lines 4 Dec 2026: 0 commits, +0 −0 lines 5 Dec 2026: 0 commits, +0 −0 lines 6 Dec 2026: 0 commits, +0 −0 lines 7 Dec 2026: 0 commits, +0 −0 lines 8 Dec 2026: 0 commits, +0 −0 lines 9 Dec 2026: 0 commits, +0 −0 lines 10 Dec 2026: 0 commits, +0 −0 lines 11 Dec 2026: 0 commits, +0 −0 lines 12 Dec 2026: 0 commits, +0 −0 lines 13 Dec 2026: 0 commits, +0 −0 lines 14 Dec 2026: 0 commits, +0 −0 lines 15 Dec 2026: 0 commits, +0 −0 lines 16 Dec 2026: 0 commits, +0 −0 lines 17 Dec 2026: 0 commits, +0 −0 lines 18 Dec 2026: 0 commits, +0 −0 lines 19 Dec 2026: 0 commits, +0 −0 lines 20 Dec 2026: 0 commits, +0 −0 lines 21 Dec 2026: 0 commits, +0 −0 lines 22 Dec 2026: 0 commits, +0 −0 lines 23 Dec 2026: 0 commits, +0 −0 lines 24 Dec 2026: 0 commits, +0 −0 lines 25 Dec 2026: 0 commits, +0 −0 lines 26 Dec 2026: 0 commits, +0 −0 lines 27 Dec 2026: 0 commits, +0 −0 lines 28 Dec 2026: 0 commits, +0 −0 lines 29 Dec 2026: 0 commits, +0 −0 lines 30 Dec 2026: 0 commits, +0 −0 lines 31 Dec 2026: 0 commits, +0 −0 lines Sean May's commits in 2026 Day Commits Lines added Lines removed 30 Sep 2026 32 10,337 355 1 Oct 2026 16 16,734 297 2 Oct 2026 16 4,926 576
Chronicle
On 30 September 2026, Sean May drafted project planning documents and outreach materials.[1] [2] On 30 September 2026, he completed the engine specification and implementation plan.[3] [4] [5] [6] On 30 September 2026, he built the core engine workspace, types, board topology, and fixed action space encoding.[7] [8] [9] On 30 September 2026, he implemented board generation, random number generation, and configuration.[10] On 30 September 2026, he added the state machine, event dispatch, and setup phase.[11] On 30 September 2026, he implemented rolling, production, sevens, and robber mechanics.[12] [13] On 30 September 2026, he added building and end-turn logic, longest road, largest army, and win checking.[14] [15] On 30 September 2026, he implemented development cards, maritime trades, and domestic trade protocol.[16] [17] [18] On 30 September 2026, he added the observation model and Game wrapper to expose engine state.[19] [20] On 30 September 2026, he created random playouts and property-based tests to validate engine correctness.[21] [22] On 30 September 2026, he formatted the codebase and established benchmarks and performance baselines.[23] [24] [25] [26] On 30 September 2026, he exposed all public facts in Observation and added error handling for invalid chance outcomes.[27] [28] On 30 September 2026, he fixed longest-road accounting during setup and implemented incremental longest-road recomputation for performance.[29] [30] On 30 September 2026, he added golden tests for topology numbering, action IDs, and game traces.[31] [32] On 1 October 2026, he established head-to-head performance comparison against Catanatron and catan-rl with baseline results.[33] On 1 October 2026, he added reference oracle tests for longest road and phase-level profiling.[34] On 1 October 2026, he optimized longest-road, legality, and trade logic with bitmask operations and table-driven approaches.[35] On 1 October 2026, he benchmarked the optimized engine and confirmed it beat catan-rl in per-step performance.[36] On 1 October 2026, he created the second plan covering bots, native arena, PyO3 bindings, statistics, and CLI.[37] On 1 October 2026, he implemented the Bot trait, registry, and RandomBot.[38] On 1 October 2026, he added GreedyBot, native arena, PyO3 bindings, pre-roll development cards, Road Building playability, snapshots, and invariant checks.[39] On 1 October 2026, he created the alphasettler CLI, arena, and stats modules; added Catanatron differential testing and oracle arena.[40] On 1 October 2026, he documented plan 3 covering oracle translation, created oracle results, and updated the done-criteria checklist.[41] On 1 October 2026, he wrote the ISMCTS search bot specification and sub-project 3a design document.[42] [43] On 1 October 2026, he enhanced the bot arena to feed each seat its redacted event log and added diagnostics.[44] On 1 October 2026, he created the search crate skeleton and implemented exact belief modeling over hidden development card steals.[45] On 1 October 2026, he refined belief modeling to cover joint hands exactly and updated Monopoly events to record each victim's loss.[46] On 1 October 2026, he implemented trade-constrained belief sets and tested them in isolation.[47] On 1 October 2026, he added sampled world generation from a validated template and enabled engine State reseeding.[48] On 2 October 2026, he implemented exact on-turn VP dealing and added shared engine deck helpers.[49]
Areas of work
Project documentation : Sean May created the engine and harness specification, implementation plan, bot and arena plan, ISMCTS design specification, and sub-project documentation.[2] [3] [4] [5] [37] [41] [42] [43] [46] [50] Search algorithm : Sean May implemented belief state modeling over hidden information, world sampling, exact victory point dealing, single-observer ISMCTS with PUCT, and tests covering chance nodes and terminal values.[45] [47] [48] [49] [51] [52] [53] [54] Game engine : Sean May built the complete engine state machine, dispatch logic, observation model, and snapshots; added pre-roll development cards, Road Building playability, and reseeding for search.[7] [8] [10] [11] [19] [20] [27] [28] [39] [44] [45] [48] [49] Bot arena : Sean May created the Bot trait, registry, native arena with redacted event logs, IsmctsBot with belief tracking, and self-play with record generation and heuristic weight fitting.[38] [39] [44] [55] [56] [57] [58] [59] CLI interface : Sean May implemented the alphasettler command-line interface with arena, self-play, and oracle commands; added statistics reporting, record streaming, and belief-reset output.[40] [57] [58] [60] [59] Performance testing : Sean May established engine benchmarks and baselines, optimized longest-road checks, benchmarked against Catanatron and catan-rl, and documented search speed and tournament results.[24] [25] [26] [29] [30] [33] [34] [36] [21] [22] [23] [61] [54] [62]
References
^ Commit c5dd5d7 : "Initial commit: gitignore and Colonist outreach draft"
^ a b Commit 91572c8 : "Spec: engine architecture and internals (sections 1-2)"
^ a b Commit 354a8cc : "Spec: correctness testing, benchmark harness, done criteria"
^ a b Commit 41a9f50 : "Spec: mark approved"
^ a b Commit bb9f8ab : "Plan 1: Rust engine implementation plan"
^ Commit 8ea0f4b : "Plan 1: tighten secret-scan regex to real key formats"
^ a b Commit 25f1544 : "engine: workspace and core types"
^ a b Commit df781c1 : "engine: board topology"
^ Commit df44bea : "engine: fixed action space encoding"
^ a b Commit de6ba4f : "engine: rng, config, and board generation"
^ a b Commit 62fd546 : "engine: state, events, dispatch, and setup phase"
^ Commit b67d73f : "engine: rolling, production, sevens, robber"
^ Commit ba8ded8 : "engine: validate forced roll outcomes"
^ Commit a8b6fef : "engine: building and end turn"
^ Commit 3a9f513 : "engine: longest road, largest army, win check"
^ Commit cce3b3c : "engine: development cards"
^ Commit 92b15e3 : "engine: maritime trades"
^ Commit d32c1ea : "engine: domestic trade protocol"
^ a b Commit bac960c : "engine: observation and Game wrapper"
^ a b Commit f93e49d : "engine: Game::apply normalizes only Year of Plenty order"
^ a b Commit d454a54 : "engine: random playouts and property tests"
^ a b Commit a406b38 : "engine: strengthen property tests (every action, independent VP, draw path)"
^ a b Commit 255cd18 : "engine: cargo fmt"
^ a b Commit bd4fe70 : "engine: benchmarks, throughput example, perf baseline"
^ a b Commit 946414a : "engine: bench a real Main-phase position for legal_actions"
^ a b Commit 79b37d0 : "engine: bench a rich Main-phase position"
^ a b Commit 7d6a49b : "engine: expose every public fact in Observation"
^ a b Commit 8df82c3 : "engine: validate forced chance before mutating; ApplyError"
^ a b Commit 419cd07 : "engine: count setup roads toward longest road; cache invariant"
^ a b Commit 780640a : "engine: recompute longest road incrementally"
^ Commit 99a55a7 : "engine: golden pins for topology numbering and action ids"
^ Commit cc91f97 : "engine: golden trace test locking behavior for optimization work"
^ a b Commit 166c5d0 : "bench: head-to-head harness vs catan-rl and Catanatron, baseline results"
^ a b Commit f4c1caf : "engine: longest-road reference oracle test and phase profiler example"
^ Commit d140be6 : "engine: bitmask road/settlement legality, table-driven offers, compact longest-road search"
^ a b Commit d3447b6 : "bench: post-optimization comparison (beats catan-rl per step in both trade-menu brackets)"
^ a b Commit e0935f7 : "plan 2: bots, native arena, PyO3 bindings, stats and CLI"
^ a b Commit b255370 : "bots: Bot trait, registry, RandomBot"
^ a b c Commit a35e51d : "engine, bots, bindings: GreedyBot, native CRN arena, PyO3 module; pre-roll dev cards, Road Building playability, snapshots, invariants"
^ a b Commit 1e88665 : "alphasettler + oracle: stats, arena, CLI; Catanatron differential test and Catanatron arena"
^ a b Commit 1f02201 : "docs: plan 3, oracle results and done-criteria checklist, comparison fix"
^ a b Commit 1012065 : "spec: sub-project 3a, ISMCTS search bot"
^ a b Commit be3f233 : "plan 4: ISMCTS search bot (sub-project 3a); spec updated to match the code survey"
^ a b c Commit 2490291 : "bots: Bot::observe and diagnostics; arena feeds each seat its redacted event log"
^ a b c Commit 5971a4e : "search: crate skeleton and exact belief over hidden steals"
^ a b Commit 9b7975f : "plan 4, spec 3a: exact belief over joint hands; Monopoly event records each victim's loss"
^ a b Commit b7d97a4 : "search: trade offers and accepts constrain the belief"
^ a b c Commit fa37baf : "search: sampled worlds from a validated template; engine State::reseed"
^ a b c Commit b16bdea : "search: exact on-turn VP deal; shared engine deck helper"
^ Commit 33785ba : "search, bots: final-review minors (legal root move, one reset per decision, failed observe keeps states, full config in records)"
^ Commit e8af00c : "search: uniform deal of the cards left after the on-turn draw"
^ Commit e0d9cec : "search: single-observer ISMCTS with PUCT, chance nodes and leaf batching"
^ Commit b447ca5 : "search: condition every opponent's hidden VP below the win"
^ a b Commit 6a08cac : "search: tests for hidden chance, virtual loss, max^n backup and terminal values"
^ Commit 82790e0 : "bots: heuristic evaluator and IsmctsBot (ismcts, ismcts@N, ismcts@N+rD)"
^ Commit d3a654d : "bots: exact belief-reset accounting in IsmctsBot"
^ a b Commit 484eaaf : "selfplay: IsmctsBot self-play records, heuristic weight fit, bindings and CLI"
^ a b Commit 6ec3227 : "selfplay: stream records batch by batch; fit argument checks"
^ a b Commit a1be6d8 : "bots: report belief resets from the native arena and self-play"
^ Commit 5b534c8 : "oracle: translate Catanatron actions into events for bots playing inside Catanatron"
^ Commit 12dfc02 : "docs: 3a search speed, tuning rounds and results against Catanatron"
^ Commit baf5f69 : "docs: 3a results rerun on the final bot"
Narrative as of 2 October 2026 (baf5f69).