We run research the way Andrej Karpathy's autoresearch loop does. A human writes the goal and the constraints in one markdown file. An agent proposes one change. A frozen eval scores it. The result becomes one commit, failures included.
Four steps, and only one of them is ours
Program. A human writes program.md, the goal and the constraints. That file is the only steering the agent gets.
Experiment. The agent gets a fixed wall-clock budget, a narrow set of files it may edit, and tools to go find things out.
Eval. A frozen scorer, restored from git before every run, reports how many invariants hold. The agent cannot reach it.
Commit. Whatever happened becomes one commit. The git history is the experiment database.
The git history is the experiment database.
Why the grader sits out of reach
An agent that can edit its own scorer will eventually improve the score instead of the work. So the eval is restored from a frozen reference before every run, and nothing the agent can touch names that reference. Whatever the agent does, it is graded by the same test.
What it is running on
The first run raises the number of physical and internal-consistency invariants that hold in an asset-level climate risk engine, a catastrophe loss model. The loop, the eval contract and the page that reads the history are open source.
Read the live log