test(offline): real-dictionary move-generator conformance in CI #190
Reference in New Issue
Block a user
Delete Branch "feature/offline-realdict-conformance"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Phase A (A4), on top of #188/#189. Proves the ported move generator against the FULL shipped dictionaries (SOWPODS + Russian + Erudit) — the deep graphs and complete 26/33-letter alphabets the tiny samples cannot reach.
backend/cmd/movegen: a-dawg-dirmode emitting per-variant golden move-gen vectors from the real dawgs (bounded first-move + blank + a deep 7-tile mid-game). Regenerated in CI to/tmp, never committed (like dictgen/validategen) — no dict version pinned into the repo.ui/src/lib/dict/generate.realparity.test.ts: env-gated (DICT_DAWG_DIR+DICT_MOVEGEN_DIR) parity — 9 positions across the three variants match the Go solver exactly; skips cleanly when unset..gitea/workflows/ci.yaml: the conformance job now generates the movegen golden and points the gated vitest at it. This PR self-exercises the new wiring.Local verify green: backend build/vet/gofmt/test; UI check + test:unit (432 passed, real-parity skips) + build; real-parity 9/9 with the env set.
d81d117b54toa9c8f1ecfe