Skip to content

Tiny UCI loop: reuse the hoisted Searcher (packed build lost its killer table every move) - #142

Closed
thomasahle wants to merge 1 commit into
masterfrom
tiny-loop-searcher
Closed

Tiny UCI loop: reuse the hoisted Searcher (packed build lost its killer table every move)#142
thomasahle wants to merge 1 commit into
masterfrom
tiny-loop-searcher

Conversation

@thomasahle

Copy link
Copy Markdown
Owner

One-token fix; see commit message. Affects only the packed/tiny-loop build (the lichess bot path was already correct). Smoke-tested: two-go session answers both bestmoves.

🤖 Generated with Claude Code

The module-level loop creates 'searcher = Searcher()' and then never
uses it - each go constructed Searcher().search(hist), discarding
tp_move (the killer/ordering table) between every move of a game. The
full tools/uci.py interface reuses its Searcher correctly, so this
only affected the packed build - which is exactly the TCEC 4k artifact,
against opponents (pygone) that persist their tables all game.
Found by literature-mining pygone's source for structural differences.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@thomasahle

Copy link
Copy Markdown
Owner Author

Good find!

@thomasahle thomasahle closed this Aug 6, 2026
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