An experiment in seven exhibits

Can Jev pass
AI 101?

We put a modern decision model through seven classic artificial-intelligence problems: reflexes, decision support, uncertainty, planning, a game you can play against it, and heuristic search.

Every exhibit runs the same loop
  1. World logic
    rules, physics, win and loss
    code
  2. Structured state
    what the agent can know
    code
  3. Jev decision
    one of the legal actions
    model
  4. Action
    validated, then applied
    code
  5. New world state
    and around again
    code

Ordinary code generates the legal moves, applies them and decides who won. Jev is only asked to choose an option or to judge a state.

The syllabus

A progression through kinds of intelligence
  1. 01
    Vacuum World
    Reflex Agent
  2. 02
    Restaurant Wait
    Decision Support
  3. 03
    Wumpus World
    Decision Under Uncertainty
  4. 04
    Missionaries & Cannibals
    Search & Planning
  5. 05
    Tic-Tac-Toe
    Adversarial Search
  6. 06
    8-Puzzle
    Heuristic Search
  7. 07
    Part-of-Speech Tagging
    Classification

What we found

from the benchmark run of 19 September 2026 · jev-1.13.0 · full benchmark →

Each problem is labelled by how it relates to what TypeSafe says Jev is for. “In scope” tests the fast, code-framed judgments it is built for; “partly in scope” problems include conditions TypeSafe itself says suit reasoning models better, and failures there confirm its guidance rather than contradict it.

Reflex
In scope: A snap judgment inside a loop that code controls.
Natural fit

Behaves like a sensible reflex agent: cleans dirt and waits when both rooms are clean. It sees both rooms while the textbook rule sees one, and a three-line rule with the same view behaves the same way.

88% clean with 3.7 moves, vs 87% and 15.7 moves for the rule (mean of 10 seeded runs).

Luna, reasoning off · 88% clean, 9.1 moves

Decision support
In scope: A common-sense judgment from many soft signals.
Natural fit

Weighs many soft signals into one probability you can probe: single-change tests show what moves each call. It leans slightly towards leaving compared with the 1995 tree.

Agrees with the AIMA tree on 30 of 40 random scenarios (3 of 5 presets); waits in 22 vs the tree's 24. Neither is ground truth.

Luna, reasoning off · agrees with the tree on 31 of 40 random scenarios

Uncertainty
Partly in scope: Code does the inference, but Jev must weigh numeric risk estimates, a documented weakness.
Workable, but riskier

Code computes the exact risks; Jev picks the move. It dies more often than the hand-written agent: comparing numeric risks is a documented weak spot, and routine moves are often near coin-flips. The hand-written agent also plans across the whole known map; Jev sees its neighbours.

Escaped with gold in 23 of 50 worlds vs 29 for the hand-written agent; 10 deaths vs 3. Mean score 245.5 vs 512.1.

Luna, reasoning off · gold in 16 of 50 worlds, 1 deaths

Planning
Partly in scope: Planning from the current state alone is out of scope; memory and engine modes follow the recommended code + Jev pattern.
Alone: out of scope. With memory: solves

With the current state alone it locks into a two-state loop. With a record of visited states it solves the puzzle. With lookahead features it is optimal, but so is a no-model rule given the same features, so at that level the features do the planning.

State only 0/10 · + memory 10/10 · + lookahead 10/10 optimal. Random mover with memory: 98% solved, 33% optimal.

Luna, reasoning off · state only: solved 0/10; with memory 10/10

Adversarial
Partly in scope: Board-only play is the chess-like planning TypeSafe says suits reasoning models; with tactics from code it is a snap choice.
Alone: out of scope. With tactics: draws

With the board alone it beats a random player 12 times in 20 but also loses 5, and a perfect opponent beats it. One-move tactics from code make it mostly draw; with the perfect-play result per square it never blunders.

vs perfect play · board only: 4 draws, 16 losses in 20 · + tactics: 14 draws, 6 losses in 20 · oracle: 20 draws, 0 losses in 20.

Luna, reasoning off · board only vs perfect play: 7 of 20 not lost

Heuristics
Partly in scope: Estimating a distance is counting, a documented weakness; ranking boards with search in code is in scope.
Weaker than Manhattan

Two designs. Counting (A* with Jev's distance estimates) is a documented weakness; ranking boards with search in code is TypeSafe's recommended pattern. Jev's rankings carry real information (far above a ranker with none) but neither design beat the one-line Manhattan heuristic.

A*, depth 16: 408 nodes with Jev + features vs 226 with Manhattan; 19% of estimates too high. Ranking with search in code: solved 16/30 vs 29/30 for the Manhattan ranker (a perfect ranker 30, a ranker with no information 1).

Luna, reasoning off · ranking with search in code: solved 12 of 30

Classification
In scope: Many narrow classification judgments, each choosing from dozens of labels: Jev's headline use case.
On par with the textbook tagger

Its headline use case: many narrow judgments, each a choice among 49 labels, checked against human annotation. With no training on the corpus it matches an HMM trained on it.

92.9% on 2,593 words vs 92.3% for an HMM tagger and 88.4% for most-frequent-tag (Jev − HMM -0.7 to +1.9 points, 95%).

Classic AI asks

How do we construct intelligent behaviour from rules, trees, search and inference?

Jev asks

What if deciding itself is a model primitive?

These exhibits show where that idea works, and where classical algorithms remain the better tool.