sudoku-vs-jev
Terminal Sudoku where Python owns the rules and Jev picks one move per turn, solving easy boards but struggling once it must guess.
Overview
Sudoku vs Jev is a terminal Sudoku game built mainly to probe how Jev behaves when it must make one decision at a time against a state that code controls. You can play yourself, let Jev play, or run a benchmark. All arithmetic and rule checking stays in Python; each turn is a single Choice over every possible move (a digit for an empty cell or an erase for a filled one, up to 255 options), and Jev returns the move with a probability distribution. Jev may choose an out-of-rules digit, and the game shows the mistake without telling the model.
Because Jev is deterministic and remembers nothing, the bridge nudges it away from moves that would recreate a seen board and tells it to erase conflicting cells. The README's benchmark (five games per level, jev-1.13 via OpenRouter) shows 5/5 solved on Easy and Medium, where 97-98% of moves were forced, but only 1/5 on Hard, where confidence fell from about 80% to 67%, with costs of a few cents per level. The takeaway: strong at spotting forced cells, weak at guessing without search.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Pick the best move from this list (digit for a cell, or erase) | — |
How it works
- Python computes the board and offers all candidate moves
- Jev picks one move with a distribution
- The game applies it, showing mistakes without telling the model
- Nudge away from repeated boards; repeat until solved or stuck
Strengths
- Clean, gradeable testbed for one-step decisions
- Confidence tracks difficulty
- Offline self-test and payload printing
Caveats
- Solved only 1/5 Hard boards
- No search, by design
Getting started
pip install -r requirements.txt, put OPENROUTER_API_KEY in .env, then python sudoku.py and choose Jev mode.At a glance
- Type
- Demo
- Status
- prototype
- Language
- Python
- Runtime
- Terminal game
- Has code
- yes
- Has tests
- yes
Use cases and integrations
How curated lists describe it
Terminal Sudoku where Python owns the rules and Jev picks one move per turn, steady while forced moves exist and shaky once it has to guess.
AnotiaWang/awesome-decision-models
Frequently asked questions
What does Jev decide?
One Sudoku move per turn from a list of candidate moves.
How well does it play?
5/5 on Easy and Medium, 1/5 on Hard in the README's benchmark.
Do I need a TypeSafe key?
No; it uses an OpenRouter key, and human mode needs no key.
Related projects
Fifteen live arcade games where Jev and LLMs play each other, led by WikiRace in which Jev picks only real links.
ProjectbetaTypeScriptOne-page web app where Jev plays chess against OpenRouter LLMs, Stockfish or you, showing the moves it weighed and their probabilities.
AppbetaJavaScriptPac-Man where Jev or other System One models choose each move at junctions, with live odds, fallbacks and a leaderboard.
ProjectbetaTypeScriptBrowser chess lab where Jev, LLMs and people play, each Jev turn being one Choice over the legal moves, with Stockfish analysis.
ProjectbetaPythonNiceGUI desktop chess app for evaluating Jev's move choices against Stockfish, random players or itself, with PGN export.
ProjectprototypePythonBrowser 2D driving sim where Jev answers lane, speed, hazard and pedestrian-yield questions every 200 ms, with an LLM comparison mode.
ProjectprototypeJavaScript