A middlegame position is strategic if the best move is at most 100 cp better than the 8th best move, and none of the exclusions below apply.

Passes the gate:

Qualifying count out of 65 for every (x, y) combination, over the positions the exclusions above leave in — darker = more positions qualify. The shipped gate is the cell at x=100, y=8. Click a cell to set the sliders.

Strategic — passes the gate
top-y candidate moves (the "cloud")
opposite-side castling (kings on abc vs fgh)
material gap over 1 pawn
eval position outside ±200cp
Ladder too wide

65 curated positional middlegame positions selected by ChessMood coaches (GM Avetik / David Shahinyan) from classic master games. Each card is the position reached after the coach's setup move (the last is a study position with no move). Ladders: koga /candidates top-10 at 1000000 nodes, mover POV, dumped 2026-07-07.

The thresholds and the eval, material and opposite-castling exclusions are imported from src/lib/positional/strategyGate.ts — the same module the live Strategy tile and the peer baseline call — so this page cannot drift from the shipped metric (revision 3). Opening and endgame need no toggle here: every position in this set is already a middlegame, which is how the metric excludes them.

Two honest limits. The tactic exclusion is applied by the live metric but is not re-derived here — this dump carries no koga classification, and inventing one would misstate the calibration; the counts above are therefore an upper bound on what the full gate admits. And these ladders were measured at 1000000 nodes / 10 PVs, while the shipped gate runs at 100k / 8. This page therefore locks the definition, not the engine's behaviour at the cheaper live budget. Rendered by scripts/tacticXc/positionalExamplesRenderPage.ts.