Yeah, I don't understand why the metric isn't "complete chess engine that achieves X ELO" in yyy bytes or something.
Instead it seems to have been "minimal thing that kinda looks like chess in yyy bytes"
> X ELO in yyy bytes
Because then you're measuring on two axes. Which is better, 1500 elo in 300 bytes or 1550 elo in 310 bytes?
For a byte count comparison to make much sense, the program really ought to have a static target criteria.
I'd suggest just ensuring that the entire rules of chess are first evaluated or supported in a chess program, before worrying about ELO rating, etc.