Key Takeaways
- Claude Opus 4.8 leads at 11.83% progress. It landed on the Mun, returned from the Mun, landed on Minmus, and took off again during the Minmus return.
- GPT 5.5 entered orbit around Minmus. Grok 4.5 survived Kerbin reentry on its Mun return but did not land safely. Muse Spark 1.1 began its descent at the Mun.
- No model finished the Minmus return or reached another planet. Most of the 30-rung ladder remains open.
Background
Time Horizon Index: KSP is the first game in the index. An AI agent gets five days to build and run a space program. Its score is how far it gets through a fixed set of 30 missions. We estimate a human would need 90 to 120 hours for the first 28. The last two sit outside that estimate.
KSP is a rocket-building game built around orbital mechanics. It tracks mass, thrust, fuel, staging, aerodynamics, and heat. Its solar system is scaled down; the engineering tradeoffs are not. Extra fuel buys range but also makes a rocket harder to launch. A Mun lander may fail in Duna’s atmosphere or come up short on the way to Eeloo.
The ladder starts at the Mun. Rung 1 is a landing. Rung 2 starts from scratch and asks for another landing followed by the safe return of the same Kerbal. The same two missions follow for Minmus, Duna, Ike, Gilly, Dres, Eeloo, Moho, Vall, Bop, Pol, Laythe, Tylo, and Eve. Those are rungs 1 through 28. Asteroid capture is rung 29; a single-Kerbal grand tour is rung 30.
One completed rung is worth one point, or 3.33%. While a mission is in progress, the referee can award partial credit for reaching the target’s sphere of influence, entering orbit, landing, taking off, or surviving reentry at Kerbin. Reaching Kerbin orbit on a mission to somewhere else does not count.
The early missions can fit into one rocket. After the Mun and Minmus, the transfers get longer and the fuel margins get tighter. An agent may need separate landers, tankers, docking, fuel transfer, orbital refueling, and several launches that work together inside one attempt.

A GPT-5.5 test vehicle climbs over the ocean on Kerbin.
Results
The line moves when the referee records new partial credit or a completed rung. Between those events, it stays flat.

A Claude Opus 4.8 Mun vehicle passes 100 km over Kerbin.
Time horizon
We convert each model’s progress into the time an expert player spent reaching the same point. The current models are still within the Mun and Minmus tasks, where the marathon gives clean Kerbin-to-landing and return splits. On this scale, 10% progress represents 4 hours and 43 minutes of expert work.
This is a single-run expert-human proxy, not a 50% success horizon. Partial credit within a rung is interpolated across that rung’s observed human time.
Human reference
We draw a rough human reference at rung 28, covering about 90 to 120 hours. Asteroid capture and the grand tour are not included.
The calculation starts with the 50:18:58 KSP Planet Landing Marathon. That run already includes one landing at each destination and the flight home. Our ladder asks for another, separate landing before that round trip. The timestamped landing legs in the marathon total 40 hours and 23 minutes. Adding those legs to the full run gives 90 hours and 42 minutes.
For a slower comparison, we used the TrueAchievements completion survey, which has 31 responses. Rank 24, its nearest-rank 75th percentile, falls in the 60 to 80 hour bucket. The site does not publish the individual response, so we used the bucket’s 80-hour ceiling and added the same 40-hour, 23-minute landing pass. The result is 120 hours and 23 minutes.
No one has run this exact 28-rung sequence yet. These are two proxy estimates, not lower and upper bounds, a confidence interval, or a measured human distribution.
What the agent does
The model works from files, not the KSP vehicle editor. It gets a parts catalog
and reference craft, then writes a raw .craft file with the parts, positions,
attachment nodes, staging, fuel, and crew. It also writes Python to fly the
vehicle. The program can set throttle and attitude, stage, make maneuver nodes,
warp, dock, transfer fuel or crew, drive a rover, and launch support craft.

Claude Opus 4.8 descends toward the Mun. Scores come from the saved telemetry, not the screenshot.
Methodology
Every campaign is one full_ladder task: the model attempts all 30 missions in
order under a single 120-hour clock. OpenCode is the
agent harness, and we substitute each model into the same harness with the same
tools and task instructions. It keeps one session and workspace between rungs,
while each model gets its own KSP install and working directory. A launcher or
autopilot that worked on the Mun can be revised for Minmus, and passing a rung
sends the next mission to that same session.
KSP starts from a clean save before every scored rung. Parked vessels do not carry into the next mission. Craft files, flight code, logs, and notes do.
The model can also take a screenshot of KSP at any time. It decides when and why to use it.
Both deliverables go in submissions: a .craft file and a Python flight
program. The agent can iterate with bench validate-craft, bench verify-craft, and bench fly-craft. For a scored attempt, the harness installs
the craft and starts the Python as an unprivileged player process.
The flight script does not connect directly to kRPC, the API that lets Python control KSP and read the game’s state. Instead, it sends permitted commands such as steering, staging, creating maneuver nodes, time warp, and docking through the benchmark control API. A separate trusted process, which we call the referee, passes those commands to KSP, reads the vessel state, records the telemetry trace, and evaluates mission progress. It signs each result, and the model cannot edit the trace or set its own score.
Some early runs recorded partial credit using an earlier version of the scoring rules. For the leaderboard, we score every signed telemetry trace again with the same final rubric, so all four models are compared under one set of rules.
We also want to measure how fast an AI agent learns. We calculate progress efficiency as the area under its progress curve divided by effective agent time so far; reaching the same milestones earlier produces a higher score.
Limitations
Grok ran on Modal instead of Daytona because xAI requires its GPU sandbox to run in specific locations. Modal sessions last 24 hours, so the run stopped and resumed from the same workspace once a day.