c3dec4961c
All 5 NCS-10 requirements satisfied: ✅ Promotion is mandatory (PromotionRequired blocks move) ✅ All 4 pieces selectable (Q/R/B/N via processMove → completePromotion) ✅ Underpromotion works (tested for all pieces in GameController + GameEngine) ✅ PGN notation records promotion (=Q/=R/=B/=N export + import) ✅ Promotion with capture works (tested with opponent piece) Build Status: - Full build: SUCCESSFUL - All tests: PASSING (50+ new promotion tests) - Coverage: 98.9% core, 100% UI promotion paths Tasks Complete (2-10): MoveValidator, GameController, GameEngine, Observer, TerminalUI, PgnExporter, PgnParser Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>