Skip to content

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.

Demoprototype

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

TypeQuestionAnswers
ChoicePick the best move from this list (digit for a cell, or erase)—

How it works

  1. Python computes the board and offers all candidate moves
  2. Jev picks one move with a distribution
  3. The game applies it, showing mistakes without telling the model
  4. 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.

    ProjectbetaTypeScript
  • One-page web app where Jev plays chess against OpenRouter LLMs, Stockfish or you, showing the moves it weighed and their probabilities.

    AppbetaJavaScript
  • Pac-Man where Jev or other System One models choose each move at junctions, with live odds, fallbacks and a leaderboard.

    ProjectbetaTypeScript
  • Browser chess lab where Jev, LLMs and people play, each Jev turn being one Choice over the legal moves, with Stockfish analysis.

    ProjectbetaPython
  • NiceGUI desktop chess app for evaluating Jev's move choices against Stockfish, random players or itself, with PGN export.

    ProjectprototypePython
  • Browser 2D driving sim where Jev answers lane, speed, hazard and pedestrian-yield questions every 200 ms, with an LLM comparison mode.

    ProjectprototypeJavaScript