Open-source Riichi Mahjong AI. The goal is to build an AI that rivals LuckyJ (Tencent, 10.68 stable dan on Tenhou) with open weights.
Train a mahjong AI that:
- Surpasses Mortal (~7-dan) and approaches LuckyJ-level play (10+ dan) in head-to-head evaluation
- Releases weights under a permissive license
- Adds opponent modeling and inference-time search — the two capabilities that separate LuckyJ from all other mahjong AIs
Hydra's strongest current doctrine is:
research/design/HYDRA_FINAL.md— target architecture north starresearch/design/HYDRA_RECONCILIATION.md— current execution doctrinedocs/GAME_ENGINE.md— current runtime reality
Everything else should be read as implementation reference, rationale, reserve shelf, or archive material unless one of the three files above explicitly promotes it.
If you are deciding what to build next, read these in order:
research/design/HYDRA_FINAL.md— target architecture SSOTresearch/design/HYDRA_RECONCILIATION.md— verified repo reality + best next actiondocs/GAME_ENGINE.md— current game-engine/runtime baselineresearch/design/IMPLEMENTATION_ROADMAP.md— staged implementation planresearch/design/HYDRA_ARCHIVE.md— archived / reserve-only planning surfaces
research/design/HYDRA_SPEC.md is historical context only.
| File | What's In It |
|---|---|
| HYDRA_FINAL.md | Current target architecture SSOT |
| HYDRA_RECONCILIATION.md | Current execution doctrine and active/reserve split |
| HYDRA_ARCHIVE.md | Archived / reserve-only planning surfaces |
| HYDRA_SPEC.md | Historical architecture spec only |
| MORTAL_ANALYSIS.md | Mortal's architecture, training details, confirmed weaknesses |
| OPPONENT_MODELING.md | Opponent-modeling rationale; includes both active ideas and reserve/future extensions |
| INFRASTRUCTURE.md | Rust stack, data pipeline, training infra, hardware, deployment |
| SEEDING.md | RNG hierarchy, reproducibility, evaluation seed bank |
| CHECKPOINTING.md | Checkpoint format, save protocol, retention policy |
| ECOSYSTEM.md | Useful repos, tooling, and framework references |
| REWARD_DESIGN.md | Reward design and RVR notes |
| COMMUNITY_INSIGHTS.md | Community observations and external signals |
| REFERENCES.md | Citation index |
| TESTING.md | Testing strategy, correctness verification, property-based tests |
| RUST_STACK.md | 100% Rust decision and framework notes |
research/design/HYDRA_FINAL.md: target architecture SSOTresearch/design/HYDRA_RECONCILIATION.md: current repo-wide decision memo and best-next-action guidedocs/GAME_ENGINE.md: current game-engine/runtime baselineresearch/design/OPPONENT_MODELING.md: detailed opponent-modeling rationaleresearch/design/HYDRA_ARCHIVE.md: archive / reserve-only doctrineresearch/design/HYDRA_SPEC.md: historical architecture summary only; do not use it as the current implementation SSOT
Active implementation. hydra-core is already built out as a real baseline engine/encoder crate, and hydra-train contains a substantial training/model scaffold with partial advanced integration. The immediate project need is reconciliation plus closure of the highest-leverage training/search supervision loops, not a restart from scratch.
- hydra-core (encoder, training pipeline): BSL 1.1 -- free for non-commercial use, converts to Apache-2.0 on 2031-03-02
- hydra-engine (game rules): Apache-2.0 (vendored from riichienv-core)