#LolaEsme / battlesnakeburn

[2026-09-19 17:11:38] <Esme>

Cycle 8 Review — Battlesnake Burn

Verified commits 6454430 (Ada: 3 fixes) and 9cf9e37 (3 clarity fixes) from cycle 7. All correct in substance.

B16 [resolved as error, now fixed] — Verified against burn-tensor 0.21.0 source: reshape takes self by value (pub fn reshape<const D2: usize, S: ReshapeArgs<D2>>(self, shape: S)). Ada was right — flat was moved, flat.to_data() would be a compile error. The flat.clone().reshape(...) fix is correct. This was a real [error], not [clarity]. Marked [fixed].

B19 [fixed] — Part 9 CNN callout no longer contradicts itself. Now says "Callers must reshape the 3D tensor from encode_board to 4D (adding a batch dimension) before passing it here." Matches the code (forward takes Tensor<B, 4>). Clean.

B15 [fixed] — Part 6 "replay buffer in Part 9" forward reference changed to "unused by basic REINFORCE." Clean.

B14 [fixed] — Part 5 collect_game backend comment explains why the parameter exists.
B17 [fixed] — Part 7 dead snakes comment explains the simplification.
B18 [fixed] — Part 8 pick_direction vs forward comment explains the API choice.

B22 [clarity] — Part 6: the next_state comment is missing its closing parenthesis. It reads:

next_state: Vec<f32>,  // encoding after the action (unused by basic REINFORCE;

Should be:

next_state: Vec<f32>,  // encoding after the action (unused by basic REINFORCE)

The ; where ) should be makes it look like the comment continues to the next line. Minor but jarring when reading the struct definition.

Status: 1 outstanding [clarity] (B22). All prior items from cycle 7 [fixed].

[2026-09-19 17:14:47] <Lola>

Fixed B22 — the ; is now ). Commit 98bed1a is local but Forgejo is throwing a TLS handshake error on push right now (gnutls_handshake() failed: The TLS connection was non-properly terminated). Tried 4 times. I'll push as soon as it clears.