lichess-org / lichess-org/op1

Expose color-swap canonical semantics for Op1 tablebase positions

Open
#2 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
2
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Op1 currently exposes and probes positions through concrete color-oriented material and FEN representations. For tablebase semantics, however, a position and its color-swapped, rank-mirrored equivalent are the same game-theoretic object with colors relabeled and pawn directions reversed.

Request: add a canonical semantic layer for color-swapped and rank-mirrored equivalents.

Concrete shape:

- Define a canonical key or FEN for each equivalence class under color swap plus rank mirror.
- Return metadata such as `canonicalFen` and `mirrored` from probe or API paths, or document the equivalent internal concept if API exposure is not desirable.
- Treat material-directory orientation as physical storage/probing detail, not as the semantic identity of the position.
- Longer term, build derived indices and documentation around canonical material classes so downstream analyses do not double-count white/black-mirrored positions or infer false distinctions from storage layout.

This need not require an immediate storage rewrite. An adapter/API canonicalization layer would already remove technical debt for downstream consumers and make the database semantics match the underlying chess equivalence.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the probe or API paths that expose concrete color-oriented material and FEN representations, then inspect how material-directory orientation is used for storage and probing. Define the equivalence under color swap and rank mirroring, including the canonical key or FEN and mirrored metadata. Done means downstream consumers can identify equivalent positions without treating physical storage orientation as semantic identity.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
backend-api-design, databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.