Skip to content

21.1.0

Choose a tag to compare

@dlbbld dlbbld released this 02 Jul 23:10
· 88 commits to main since this release
339a778

Oracle housekeeping

A documentation-and-test housekeeping release around the unwinnability analyzers and their oracles: the legal-position contract is now stated on the API, the 21.0.0 notes are corrected, and the known retro-illegal theorem counterexamples are locked down as tests. No behavioral change to any analyzer or parser.

Documentation

  • Legal-position contract for the unwinnability analyzers. The unwinnability package-info, the manual, and the three public analyzers (UnwinnableFullAnalyzer, UnwinnableQuickAnalyzer, DeadPositionAnalyzer) now state the contract explicitly: the analysis is guaranteed only on legal positions (reachable from the initial position); on illegal input the result is undefined and the full and quick analyzers may visibly disagree. Legality beyond strict-FEN checks is not enforced - it is decidable only by retrograde analysis - so submitting legal positions is the caller's responsibility.
  • ashlar ports the C++ cha, not the Rust chasolver. The README and package-info now say precisely which of Miguel Ambrona's implementations ashlar ports: the earlier C++ cha (D3-Chess) and the CHA paper - the github.com/miguel-ambrona/D3-Chess URL now redirects to the newer Rust chasolver, which ashlar does not port.
  • 21.0.0 release-notes correction. The 21.0.0 notes overclaimed the KNNvK/KRRvK/KQQvK theorem as a completeness improvement ("positions that could previously land at UNDETERMINED are now proven WINNABLE"). The search already proved these classes WINNABLE; the theorem is a performance and proof-provenance improvement. The [21.0.0] CHANGELOG entry and the published 21.0.0 GitHub Release notes are corrected in place.

Internal

  • Retro-illegal theorem-counterexample lock-down (test-only). The 19 known retro-illegal representatives from basic-helpmate-existence ("Illegal positions not satisfying the conclusion") are asserted as documented out-of-domain cases: strict FEN accepts them, the full analyzer answers theorem-certified WINNABLE, the quick analyzer UNWINNABLE - the exact divergence the legal-position contract documents.
  • Oracle housekeeping (test-only): CHA oracle fixtures reorganized, stale accepted-differences rows pruned, the chasolver node-limit exception PGN fixed, and an Eclipse null-analysis / auto-format pass over the source tree.