Skip to content
SageCraft

Open-source harness / Apache 2.0Recorded October 5–6, 2026

We put a dwarf in a harness
and gave it a decision model.

Recorded frame from session 32: the dwarf priest stands in a golden level-up glow, XP: 20 floats above him, his player frame shows level 5, and the chat reads “Congratulations, you have reached Level 5!”. Other players’ chat and a HUD panel are covered by navy blocks.
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.

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.

The composed image Sage received: a live World of Warcraft frame of the dwarf priest in snow with a Rockjaw Trogg selected, magnified crops of the target frame (level 1) and of the player frame (level 4), and an earlier frame labelled as taken before target selection.

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”
Full image

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
5h 29m
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.

Read the campaign report
The record
32 sessions over 16h 31mHours since the first session · Oct 5–6, 2026

Session 3218 min active11 kills278 decisionslast seen at level 5goal reached; the harness stopped the run

SessionBetween sessions: fixes, recoveries, maintenance, restarts5Level first seen†Session ended in death (the third death came during a manual recovery)

All 32 sessions
SessionActiveKills in logDecisionsLevelHow it ended
114 min22111ended in death
220 min132462ended in death
36 min0952stopped by us: no progress
419 min82612stopped by a safety check
53 min1432stopped by a safety check
68 min1903stopped by us: no progress
74 min0683stopped by a safety check
831 min173153stopped by us: no progress
99 min21023stopped by us: no progress
1037 min165193stopped by us: no progress
111 min0233stopped by a safety check
126 min0493stopped by us: no progress
133 min2474stopped by a safety check
1411 min01764stopped by us: no progress
151 min0284stopped by a safety check
169 min01414stopped by us: no progress
172 min1304stopped by a safety check
184 min11174stopped by us: no progress
197 min3964stopped by a safety check
207 min2934stopped by us: no progress
2117 min32544stopped by us: no progress
224 min0714stopped to fix the hunting area
232 min0214stopped by us: no progress
242 min0314stopped by a safety check
2559 s0164stopped by a safety check
2625 min113654stopped by us: no progress
272 min1344stopped by us: no progress
2828 min204174hit the evidence-storage cap
293 min1414stopped by us: no progress
3014 min81884stopped by us: no progress
3110 min41074stopped by us: no progress
3218 min112785goal 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
Clips
Silent excerpts at original speed with the recorded Sage HUD, each matched to its session by the event log and, to within about a minute, the in-game clock. Other players’ chat, one player name and a meme panel in the HUD are hidden. On the heal and level-five clips, an optional close-up enlarges the recorded player frame; the Close-up switch turns it off.
Art
The dwarf and valley images are AI-generated illustrations in an engraving style, not gameplay. The hero image is a recorded frame; its close-up card is ours.

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.

Replay loads the recorded events into a local SQLite database and prints a summary. It doesn’t run WoW, call Sage or send any input to your computer.

Open on GitHub

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.

Automated play may break the game’s terms of use and can get an account suspended. Only use an account you’re prepared to lose.

Live setup guide

Build with Sage.

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

The harness is free. Sage calls count against your Levanto plan.

Start building
SageCraft is a free research demo built on Sage, the model we sell.PricingRead the Sage docs

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.
Build with Sage
Illustration: a dwarf setting out toward a wolf across the snowy mountains and pines of Coldridge Valley.