Coda is a rewrite of GoChess in Rust, 100% vibe-coded with Claude Code. The initial implememntation - board representation, search, NNUE evaluation, SIMD, and UCI protocol — was written from scratch in a single session - building on top of the work done in gochess.
Author: Adam Twiss
Features
NNUE evaluation — HalfKA network, with threats, with lazy accumulator and Finny table caching
AVX2 / NEON / AVX-512 SIMD — runtime auto-detected for NNUE inference
Full search — alpha-beta with 20+ pruning features (NMP, LMR, RFP, singular extensions, etc.)
Lazy SMP — multi-threaded search with shared transposition table
Syzygy tablebases — endgame tablebase probing
Polyglot opening book — weighted random selection from .bin book files
Magic bitboards — with PEXT runtime detection on BMI2 hardware
Training data generation — multi-threaded self-play datagen in SF binpack format
Coda 0.9.2 what's new?
A small ergonomics patch on top of 0.9.1 — same network, no change to playing strength or behaviour.
Stock builds now advertise only the 10 standard UCI options. Coda carries ~130 internal SPSA tuning parameters plus a few developer/debug knobs (HiddenActivation, LoadAnyway, TMDebug, PonderhitCreditPct) that were previously visible to every UCI GUI, cluttering the options dialog. They're now hidden by default, and only exposed in tuning builds (make openbench / --features tune).
Thanks to the CCRL testers for flagging the option-list clutter.
Comments
Post a Comment