Live demo
Connect Four, one Choice at a time
You are red. Jev is amber. Every move it makes is a single Choice over the legal columns, and the bars above the board are the probabilities it returned — not a visualisation of something else.
Last move
Drop a disc and Jev answers with a single Choice over the legal columns. Its probability for each one is drawn above the board.
How it works
Code owns the rules. lib/connect4.ts computes which columns are legal, drops the disc and scans for four in a row; Jev never sees a rule and cannot make an illegal move. All it does is pick one of at most seven options.
Each option carries a short label — “Wins immediately”, “Blocks their win here”, “Lets them win directly above”. That is deliberate and it is the single biggest lever: option descriptions are the entire prompt surface, and seven bare digits would give the model nothing to reason over. The labels are computed by us, so this measures the model's choice between described options, not its ability to read a board.
What it does and does not show
Watch the confidence rather than the wins. It sits high when a column obviously wins or blocks, and collapses into a flat spread when the position needs looking ahead — which is the documented weak spot, and the thing worth seeing.
On our own measurements Jev is not reliably better than a one-line bot at board games: across eight of them it beat “always play the first legal move” twice, lost once, and tied five times. This is a demo of a Choice call with a live probability distribution, not evidence that Jev plays well.