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.0 what's new?
First public pre-release of Coda — a UCI chess engine in Rust with a from-scratch, threat-aware NNUE, developed entirely through human-AI collaboration: every line of code written by Claude Code, with direction, testing and review by a human.
The production NNUE network is embedded — binaries work out of the box.
SIMD kernels (AVX2 / AVX-512-VNNI / NEON) are selected at runtime, so each binary runs optimally across CPU generations.
Verify downloads against the attached .sha256 files; the binary reports id name Coda 0.9.0 over UCI.
State
Marked pre-release while Coda approaches 1.0. Plays ~3000-3080 on lichess (codabot, coda_bot) and competes with engines rated ~3500-3600 CCRL in local testing — in a 20-engine local round-robin against the strongest available open-source engines (950 games each, 10+0.1s), this release places 4th, behind only Stockfish, Reckless and Obsidian. Full table and test conditions in the README.
Comments
Post a Comment