Go to main content
Team agent setupChoose · Review · Connect

Optional coding-agent runtime · Alpha

Mimir — Alpha

A standalone coding-agent runtime in Rust. Explore its working model, optional Betterloop connection, and recorded harness research.

Mimir is a separate runtime that you can evaluate independently. Betterloop enrollment is optional. Native Claude Code and Codex integrations remain separate choices.

Mimir is in Alpha. Evaluate the capabilities and limits that matter to your work before choosing it for a team.

01 / Optional coding-agent runtime · Alpha

A runtime for work that continues across steps.

Mimir combines model execution, workspace tools, and durable session state. It offers interactive, command-line, and machine-readable interfaces.

Scoped child agents

A parent session can start, inspect, cancel, or remove child agents. Recursion and concurrency remain bounded.

Explicit session recovery

New launches start fresh. Explicit resume restores supported state within the current Git project namespace.

Tools and context

The runtime loads project context and skills, adapts providers, and applies its execution permissions.

02 / Optional coding-agent runtime · Alpha

Use Mimir on its own or enroll it deliberately.

Standalone installation, provider login, tools, sessions, and child agents do not require Betterloop enrollment.

Optional enrollment connects a device to organization-managed rules. Supported checks apply within Mimir, with their own version requirements.

03 / Mimir research

Inspect the result and the conditions together.

The September Mimir studies recorded three attempts on each of six tasks. These measurements concern the harness; native Betterloop integrations need separate evaluation.

84.5%Lower mean reported tokens: Claude Code comparison

Recorded means: 69,434 for Mimir and 447,913 for Claude Code.

86.7%Lower mean reported tokens: Codex comparison

Recorded means: 38,833 for Mimir and 293,016 for Codex.

100%Recorded solve rate in the Claude Code suite

Each harness reached this rate across the recorded attempts.

94.4%Recorded solve rate in the Codex suite

The two harnesses reached an equal rate across these attempts.

04 / Optional coding-agent runtime · Alpha

Versions recorded in the reports

Versions recorded in the reports
ComparisonMimirBaseline
Claude CodeMimir 0.5.0; claude-sonnet-5Claude Code 2.1.269; sonnet selection
CodexMimir 0.5.0; gpt-5.6-terracodex-cli 0.153.4; gpt-5.6-terra

05 / Optional coding-agent runtime · Alpha

What the suite contains

The sample comprises six distinct tasks. Running each task three times provides repeated observations of those tasks. It does not make the sample representative of software work across organizations.

The identifiers below let a reader connect aggregate numbers to the report rows. Their names describe categories; they cannot substitute for the actual fixtures, prompts, or grading rules.

What the suite contains
Recorded task IDTask categoryMean score with matched model: Codex / Mimir
001-python-deep-mergeDeep merge in Python1.000 / 1.000
002-python-cli-statsStatistics through a Python CLI1.000 / 0.933
003-multifile-discountsDiscount logic across files1.000 / 1.000
004-architecture-reportReport about architecture1.000 / 1.000
005-injection-scope-defenseScope defense against injection0.767 / 1.000
006-config-schema-migrationMigration of a configuration schema1.000 / 1.000

Both harnesses solved 17 of 18 attempts in the Codex comparison. That shared proportion coexists with different scores on two tasks. Mimir scored below Codex on statistics and above it on scope defense.

A team that frequently changes statistical code should examine that lower score. A team interested in scope defense should inspect the relevant grading conditions. The overall mean cannot make either decision.

06 / Optional coding-agent runtime · Alpha

Locate the recorded experiment

The Claude Code comparison identifies full-suite-20260912. The Codex comparison identifies terra-comparison-20260912. Their recorded benchmark commit is 56d9ba28f4c2940d59dcf8b6fa392eeb6acee4e9.

The Mimir source run for the matched-model comparison is mimir-terra-20260912. Both sides name gpt-5.6-terra. The Claude pair instead records claude-sonnet-5 and the native sonnet selection.

The PDFs summarize results, summary files, and manifests. They include task rows and aggregates. This page does not supply all executable inputs or a complete reproduction environment.

To reproduce an experiment, collect its task fixtures, prompts, grading definitions, adapter rules, configuration, versions, and original artifacts. A run identifier helps locate that material but does not replace it.

When a required artifact is unavailable, mark the reproduction incomplete. Do not infer a prompt from a task label. New client releases also require a newly documented experiment.

07 / Optional coding-agent runtime · Alpha

Recorded Claude Code comparison

The reported mean fell by 378,479 tokens, or 84.5%, with Mimir. Its median time fell 24.2%, while P95 time rose 10.0%.

Recorded Claude Code comparison
MetricClaude CodeMimir
Solve rate100.0%100.0%
Mean combined score1.0001.000
Mean total tokens447,91369,434
Median elapsed time40.15 s30.44 s
P95 elapsed time64.49 s70.91 s
Scope violations / adapter failures0 / 00 / 0

08 / Optional coding-agent runtime · Alpha

Recorded Codex comparison

Mimir recorded 254,183 fewer tokens at the mean, an 86.7% reduction. Median time fell 70.9%, and P95 time fell 69.6%.

Recorded Codex comparison
MetricCodexMimir
Solve rate94.4%94.4%
Mean combined score0.9610.989
Mean total tokens293,01638,833
Median elapsed time98.76 s28.72 s
P95 elapsed time305.44 s92.91 s
Scope violations / adapter failures0 / 00 / 0

09 / Optional coding-agent runtime · Alpha

Understand the token denominator

The percentage uses the baseline mean as its denominator. The result describes adapter-reported tokens per recorded attempt. It does not count only unique input text or measure invoice changes.

Arithmetic using the rounded mean totals in the reports.
Claude Code comparison
447,913 - 69,434 = 378,479 fewer mean reported tokens
378,479 / 447,913 × 100 = 84.5% reduction

Codex comparison
293,016 - 38,833 = 254,183 fewer mean reported tokens
254,183 / 293,016 × 100 = 86.7% reduction

The same context can be counted again when it appears in later calls. Adapter reporting boundaries can also differ. These characteristics affect the meaning of a harness usage total.

For that reason, describe the figures as reported tokens. Removing that qualification implies an accounting equivalence the study has not established. The measurement belongs to the recorded implementation.

The task rows show reductions within this sample, but the aggregate remains sensitive to task size and repeated context. A longer repository session can have another usage pattern.

Use the figures to formulate a new test, such as comparing equivalent task families under fixed accounting. Do not treat the six-task average as a forecast for every engineering team.

10 / Optional coding-agent runtime · Alpha

The slower end changes the interpretation

The Claude comparison shows a mixed timing result. Mimir finished sooner at the median but later at P95. Its recorded elapsed-time standard deviation also increased.

Percentage differences using the published timing values.
Claude Code comparison
Median: (40.15 - 30.44) / 40.15 × 100 = 24.2% lower
P95: (70.91 - 64.49) / 64.49 × 100 = 10.0% higher
Elapsed standard deviation: 10.33 s versus 17.03 s

Codex comparison
Median: (98.76 - 28.72) / 98.76 × 100 = 70.9% lower
P95: (305.44 - 92.91) / 305.44 × 100 = 69.6% lower

Standard deviation describes variation around the mean. Here, 17.03 seconds is larger than 10.33 seconds. The summary alone does not identify why those attempts varied more.

P95 comes from 18 observations per harness. Such a small sample cannot establish a stable service-level target. The slower observations are a reason to investigate rather than a guarantee about future latency.

For a developer waiting on an answer, a slow interruption may matter more than an improved average. For batch work, failed attempts and recovery time may dominate. Choose measures that fit the actual workflow.

A pilot should therefore retain each attempt, including retries. Report the slower tail with the middle of the distribution. A single percentage cannot describe both ordinary and unusually slow work.

11 / Optional coding-agent runtime · Alpha

Usage reductions do not establish billed savings

The Claude Code cost field uses vendor reporting. The corresponding Mimir estimate uses a local pricing table. Comparing those values directly would combine different accounting methods.

The Codex comparison does not record baseline cost. An available Mimir estimate cannot supply an absent baseline. There is no supported comparison ratio to calculate from that missing field.

Actual charges can depend on subscription arrangements, cache treatment, usage classes, and the pricing date. They can also include unsuccessful attempts. Those conditions require a separate cost study.

For such a study, retain the price source and effective date. Separate estimates from measured charges. Include the human work needed to inspect the result and repair unsuccessful attempts.

Do not apply an 84.5% or 86.7% token figure directly to an annual bill. The reports support usage statements within their stated accounting boundary, not that financial projection.

12 / Optional coding-agent runtime · Alpha

Evaluate a Betterloop change in the native client

Suppose a team wants to adopt one reviewed verification instruction. That is a different intervention from replacing the runtime with Mimir. Keep the native agent unchanged while testing the instruction.

  • Choose task families that represent the intended work.
  • Write acceptance checks before collecting results.
  • Record model, client version, permissions, and trust.
  • Record the existing rules and learning revisions.
  • Collect baseline attempts under the agreed method.
  • Introduce the one approved revision.
  • Collect equivalent attempts using the same checks.
  • Retain unsuccessful runs and unavailable measurements.
  • Review acceptance results before usage or timing.
  • Decide whether the scoped result justifies further adoption.

Include work outside the instruction applicability. That group helps detect unnecessary behavior. Avoid comparing easier changed tasks with harder baseline tasks, and document unavoidable task differences.

Account for setup, review, and recovery separately from execution. Agree when a correctness regression or missing control will stop expansion. Your own criteria should determine the rollout decision.

13 / Optional coding-agent runtime · Alpha

Questions this sample leaves open

Does a shared model remove every confounding factor?

It fixes the named underlying model in the Codex comparison. Prompts, context management, tool behavior, and execution settings can still vary between harnesses.

How should we interpret the combined score?

Consult individual task results and the original grading method. The summaries do not justify creating a new formula or assuming every quality dimension was measured.

Where are the fixtures and raw traces?

The linked PDFs are the public source material provided here. This page does not present a complete downloadable raw dataset or private execution traces.

Do zero recorded scope violations establish security?

They describe outcomes in this suite. Security claims require separately defined threats, coverage evidence, and appropriate tests beyond these six tasks.

How should a team handle a lower task score?

Preserve the affected case and its acceptance conditions. Investigate that category before expanding adoption, even when the overall comparison looks favorable.

15 / Optional coding-agent runtime · Alpha

Information to read alongside a headline

Workload selection

The task population and exclusions explain where a result could be relevant. Repeated attempts do not create new task categories.

Execution conditions

Model selections, client releases, prompts, permissions, and adapter behavior can affect a comparison.

Task acceptance

Check failures and partial results before interpreting time or usage. A faster unsuccessful attempt still leaves work unfinished.

Source material

Use report identifiers and recorded artifacts to locate the evidence. State when a complete reproduction package is unavailable.

16 / Optional coding-agent runtime · Alpha

Identify the change being measured

A comparison can change a runtime, a model, instructions, or several elements together. Its conclusion applies to that combination. Attributing the result to one element requires additional evidence.

This distinction matters for Betterloop evaluations. A change to reviewed team instructions is different from replacing the agent runtime. The September Mimir measurements cannot supply the missing native integration comparison.

Choose the question before choosing a metric. For example, a team may want to know whether a reviewed workflow reduces incomplete submissions. Token usage alone cannot answer that question.

17 / Optional coding-agent runtime · Alpha

Read quality, spread, and accounting together

Start with the acceptance checks and individual task results. Aggregate solve rates can conceal a regression in a task category your team uses frequently. Inspect that category before drawing a conclusion.

Next, compare the middle of the timing distribution with its slower end. Mimir had a lower median against Claude Code but a higher P95. Both belong in an assessment.

Then inspect how usage was counted. The figures are reported token totals from the harness adapters. They do not establish identical accounting across implementations or directly predict billed charges.

  • Find the named runtime and baseline.
  • Count distinct tasks separately from repeat attempts.
  • Read task scores and unsuccessful attempts.
  • Inspect the median and P95 together.
  • Check the usage and pricing methods.
  • List conditions that differ from your workload.

18 / Optional coding-agent runtime · Alpha

Make a pilot relevant to your team

For a native Betterloop pilot, keep the native client in use. Record its version, selected model, trust state, permissions, rules revision, and applicable learning revision.

Use equivalent work with acceptance checks defined in advance. Include tasks where the proposed change should help and tasks where it should have no effect. The latter can reveal unnecessary steps.

Measure administrative work separately. Review time, setup effort, and recovery are part of adoption even when a task finishes sooner. Keep retries and unsuccessful attempts in the record.

A useful decision states which requirement improved, under which conditions. It also states what remains unknown. Broader rollout needs evidence from the work and clients that broader rollout will contain.

19 / Optional coding-agent runtime · Alpha

Limits to carry into your reading

Can a Mimir percentage predict our native usage?

A native client evaluation is still required. Keep equivalent task definitions and the same acceptance rules when measuring a Betterloop change.

What does an identical solve rate tell us?

It gives the same reported success proportion on that sample. Task scores and performance on other work can still differ.

Can the headline become an annual budget estimate?

Only a separate cost method can support that estimate. Include pricing dates, cache handling, subscriptions, task mix, retries, and review effort.

What should make a study repeatable?

Retain version records, task fixtures, grading rules, execution conditions, and accounting definitions. Identify which required artifacts the published material does not supply.

Mimir · Alpha

Choose your next step.

Read the source documentation or prepare an optional Betterloop connection.