RL lab

This is the handoff to the reinforcement-learning bot. Positions are legal FEN from chess.js. Ranking today is material swing and length — not ACPL. Wire Stockfish later; do not pretend the rules engine is an evaluator.

Export JSON

{
  "schema": "positions[i] is the board before positions[i].moveUci",
  "engine": "none — Stockfish ACPL is the next pipe",
  "games": [{ "coachColor": "w", "result": "1-0", "positions": [...] }]
}

Training-value ranking

Instructive first, then largest material imbalance, then longer games. Use this list to pick what the bot should see next.