How Koga decides
- When a pawn reaches the last rank it normally becomes a queen, the strongest piece. Choosing a rook, bishop, or knight instead is an under-promotion.
- Koga only calls this a tactic when the lesser piece is genuinely better than a queen would have been — not merely a cosmetic choice in a position that is already winning every which way.
- In a crushing position any promotion wins, so a lesser piece is often picked for no real reason. Those are reported as a plain promotion, not an under-promotion.
- When an engine score is available, Koga compares the played piece against a queen on the very same square. The under-promotion is accepted only if the lesser piece scores clearly better (by a comfortable margin); otherwise it is treated as cosmetic.
- Knight for mate or check — promoting to a knight delivers checkmate (or a decisive check) that a queen on the same square cannot.
- Avoiding stalemate — a queen would leave the opponent with no legal move, throwing away the win; a rook or bishop keeps the position alive and winning.
- Avoiding a queen blunder — promoting to a queen would walk into a forced mate against us, so a lesser piece is the only winning choice.
- Koga reads the promotion piece straight from the move played, and also scans the player's moves deeper in the engine's main line.
- A minor promotion that appears later inside a forced line is taken at face value as an under-promotion; the cosmetic check above applies only to the immediate move being classified.
Test positions (the examples that guard against regressions)
Knight promotion that mates (queen would only stalemate)
A constructed endgame. Black plays g1=N#, delivering checkmate. Promoting to a queen instead would leave White with no legal move — stalemate and a thrown-away win. The mating knight is the genuine under-promotion; Koga scores the finished positions directly, no engine needed.
Real game: knight promotion that mates, alongside the mate label
Lichess QAnl6. The knight promotion g8=N# delivers checkmate that a queen on g8 cannot, so it is a genuine under-promotion. Because the promotion is *how* mate is delivered, Koga keeps under-promotion as a co-headline alongside checkmate rather than hiding it behind the mate.
Saavedra: rook promotion to dodge stalemate
The Saavedra study. White plays c8=R rather than c8=Q. After c8=Q Black answers Rc4+, and capturing the rook with Qxc4 stalemates Black — a draw. The rook keeps the win, so it is a real under-promotion.
Rook promotion because a queen stalemates at once
A real endgame position. Promoting to a queen on d8 would immediately stalemate the black king — an instant draw. The rook leaves Black a legal move while keeping the position winning, so d8=R is a true under-promotion.
Knight promotion because a queen loses by force
A real position where promoting to a queen on c8 walks into a forced mate against White (…Qxd6+ Kxd6 and Black's heavy pieces finish). The played c8=N+ sidesteps that line and keeps White winning, making the knight a genuine under-promotion.
Cosmetic rook promotion (NOT flagged)
A constructed, already-won position. The pawn promotes on e8 to a rook, but a queen would win just as easily — there is no concrete reason for the lesser piece. Koga reports a plain promotion, not an under-promotion.
Cosmetic knight promotion (NOT flagged)
A constructed, already-won position. The pawn promotes on e8 to a knight that gives no check and serves no concrete purpose a queen would not serve better. It is reported as a plain promotion, not an under-promotion.
Cosmetic mating promotion (NOT flagged)
Lichess n5QUx. Black plays …b1=R#, but …b1=Q# mates just as well, so the minor piece is not required. The cosmetic rule applies even when the promotion delivers mate: Koga reports a plain promotion, not an under-promotion. Only a mating minor promotion the queen cannot replicate (e.g. QAnl6 g8=N#) is a genuine under-promotion.
Cosmetic mating promotion in the line (NOT flagged)
Lichess 0rESt. The forced line ends 1…Qxc2+ 2.Ka2 b1=R#, but …b1=Q# mates equally, so the rook is not required. The cosmetic rule applies even when the mating promotion sits deeper in the line, not just on the move being judged: Koga reports a plain promotion. Only a mating minor promotion the queen cannot replicate (e.g. QAnl6 g8=N#) is a genuine under-promotion.
Golden puzzles — every real Lichess puzzle Koga is tested against for this tactic (10)
Lichess 88YNz
Lichess 88YNz (rating 908). Solution: e8=N+ Kf8 Nxf6. Koga intentionally does not flag Under Promotion here — this minor-promotion fork needs engine evidence; the broad rule caused false positives.
Lichess 6AByk
Lichess 6AByk (rating 1950). Solution: Qxb6 Qxb6 c8=N+ Kd7 Nxb6+.
Lichess 0D1rh
Lichess 0D1rh (rating 818). Solution: g1=N+ Kf2 Nxf3. Koga intentionally does not flag Under Promotion here — this minor-promotion fork needs engine evidence; the broad rule caused false positives.
Lichess 6VZpZ
Lichess 6VZpZ (rating 1645). Solution: b8=N+ Kb6 Rxf1.
Lichess 0Fh2r
Lichess 0Fh2r (rating 1095). Solution: f2 Nd5 f1=N+.
Lichess 8NGrX
Lichess 8NGrX (rating 1075). Solution: dxe1=N+ Kh1 Rf1#.
Lichess 9bjTk
Lichess 9bjTk (rating 2155). Solution: d1=N+ Kf4 Qf5#. Koga intentionally does not flag Under Promotion here — this minor-promotion mate case needs engine evidence; the broad rule caused false positives.
Lichess 65kp7
Lichess 65kp7 (rating 1339). Solution: b8=N+ Ke6 Nxc6.
Lichess 9wOXd
Lichess 9wOXd (rating 2039). Solution: d6+ Kd8 e7+ Kd7 exf8=N+ Kd8 Bxc4.
Lichess 10q1p
Lichess 10q1p (rating 2057). Solution: fxg7+ Kg8 Qxh7+ Kxh7 gxf8=N+ Kg8 Nxe6.