SageCraft — we put a dwarf in a harness and gave it a decision model | Levanto

We put a dwarfin a harness and gave it a decision model.

Ding.

Level 4 → 5

Recorded / session 32 / 15:17 UTC

Then it hit level five, and Sage cost under three cents per kill.

SageCraft is the open-source harness that lets Sage, Levanto’s decision model, play World of Warcraft.

How SageCraft works.

One real decision from the final session, at 15:17:21 UTC: from the screenshot Sage saw to the keys the harness pressed.

Five steps. Pick one, or use Next.

  1. Screenshot
  2. Image
  3. Question
  4. Choice
  5. Result

What Sage sees.

Each question comes with one image. This one holds the live game, plus close-ups of the selected target and of our own player frame.

1__2__3__4

1

1

1

1__2__What Sage read

Session 32 / sent 15:17:21.00 UTC

  1. Live frame
  2. Selected target, enlarged: Rockjaw Trogg, level 1
  3. Our frame, enlarged: level 4
  4. Earlier frame, labelled “before target selection — not an attack”

Step 1 of 5: Screenshot

Sources: options, choices and level readings in the public excerpt ↗. Frames, checks and hashes in the run record ↗.

Session 1, October 5. The level-one dwarf selects a Ragged Young Wolf, casts Smite, and gets its first kill. The recorded Sage HUD shows the chosen actions as they happen.

Session 1 / level 1

It started with a wolf.

One dwarf, one Ragged Young Wolf and a spell called Smite. Sage picked the action; SageCraft pressed the keys.

Session 26 / level 4

Heal. Please heal.

A Rockjaw Trogg took the dwarf down to about a quarter of its health. The harness offered two options, heal or “resources unclear”, and Sage took the heal. A few seconds later, health read 71%.

Session 26, October 6. A Rockjaw Trogg brings the dwarf down to roughly a quarter of its health. The Sage HUD shows SELF HEAL; health then reads 71%. The highlight edit adds an enlarged view of the recorded health bar.

Session 14, October 6. The dwarf is stuck in snowy branches while the HUD cycles through PROBE FORWARD, DETOUR BACKWARD LEFT and DETOUR FORWARD RIGHT. This clip does not show an escape.

Session 14 / level 4

The final boss was a tree.

Forward. Still a tree. Back and left. Still a tree. Knowing which way to go and actually getting there turned out to be different problems.

We stopped this session by hand.

And then… ding.

Level five.

A very long way from that first wolf.

Session 32, October 6, about 15:17 UTC. The dwarf finishes a fight in Coldridge Valley, the level badge changes to 5 and the chat records the level-up. The highlight edit enlarges the recorded badge. Off-clip, at 15:17:56 and 15:17:57, Sage reads the badge twice and the harness stops the run.

Level 1 to 5. Not exactly a speedrun.

One dwarf priest in a running WoW client, with Sage making the gameplay calls from screenshots.

Sage decisions: 4,573

Kills: 128+

Active play: 5h29m

Sage cost: $3.32

Between sessions we made 16 harness fixes and locked the hunting area to the trogg hills once. We also recovered the character at least 8 times with the runner stopped, mostly with a desktop-automation agent, three of them resurrections. The last session ran with no human gameplay input, code changes or restarts: late level 4 to 5 in 18 min 5 s, with 11+ kills. It was one zone and one class, with nothing to compare against.

The record +

32 sessions over 16h 31m

Hours since the first session · Oct 5–6, 2026

Session Active Kills in log Decisions Level How it ended
1 14 min 2 211 1 ended in death
2 20 min 13 246 2 ended in death
3 6 min 0 95 2 stopped by us: no progress
4 19 min 8 261 2 stopped by a safety check
5 3 min 1 43 2 stopped by a safety check
6 8 min 1 90 3 stopped by us: no progress
7 4 min 0 68 3 stopped by a safety check
8 31 min 17 315 3 stopped by us: no progress
9 9 min 2 102 3 stopped by us: no progress
10 37 min 16 519 3 stopped by us: no progress
11 1 min 0 23 3 stopped by a safety check
12 6 min 0 49 3 stopped by us: no progress
13 3 min 2 47 4 stopped by a safety check
14 11 min 0 176 4 stopped by us: no progress
15 1 min 0 28 4 stopped by a safety check
16 9 min 0 141 4 stopped by us: no progress
17 2 min 1 30 4 stopped by a safety check
18 4 min 1 117 4 stopped by us: no progress
19 7 min 3 96 4 stopped by a safety check
20 7 min 2 93 4 stopped by us: no progress
21 17 min 3 254 4 stopped by us: no progress
22 4 min 0 71 4 stopped to fix the hunting area
23 2 min 0 21 4 stopped by us: no progress
24 2 min 0 31 4 stopped by a safety check
25 59 s 0 16 4 stopped by a safety check
26 25 min 11 365 4 stopped by us: no progress
27 2 min 1 34 4 stopped by us: no progress
28 28 min 20 417 4 hit the evidence-storage cap
29 3 min 1 41 4 stopped by us: no progress
30 14 min 8 188 4 stopped by us: no progress
31 10 min 4 107 4 stopped by us: no progress
32 18 min 11 278 5 goal reached; the harness stopped the run

Cost: 4,853 Sage calls (the 4,573 decisions plus 280 target reads) used 4.83 million text input tokens, 8.53 million image tokens and 0.265 million output tokens. Images count as input. At Levanto’s public Free and Developer rates on October 8, 2026 (see pricing), that is about $3.32, or 2.6¢ for each of the 128 kills.

Model: levanto-sage-v1.3 on every returned decision · median request time 0.8 s

WoW is the demo. What will you build?

A game character picking its next move and a workflow picking its next step need the same thing: a decision model your software can ask.

Read the code.

SageCraft is open source under Apache 2.0. Run the tests, or replay the campaign’s last 42 seconds without a game or an API key.

Play it live.

You’ll need macOS, an English WoW client, a priest, a Sage API key and about an hour of calibration. A live run makes roughly 800–900 Sage calls per hour of active play.

Build with Sage.

Your world doesn’t need wolves. Put Sage inside an agent, a workflow or a game of your own.

Every world needs a little Sage.

Sage is the AI model for agents: frontier-model judgment in milliseconds, with a calibrated confidence score to branch on.

5 answer shapes: Yes/no, choice, scale, tags and sort, from one API.

0–1 confidence: Scored answers, and null when Sage is unsure, so your code knows when to hand off to a human.

93.9% on JevBench: Accuracy for Sage v1.1 on 213 public JevBench tasks.