AIT vs Git worktrees · game-development benchmark

Same coding agent. Same game tasks. Two repository workflows.

We gave fresh GPT-5.6 Sol agents the same maintenance and feature tasks on the same browser game. One side worked through an AIT Task and isolated worktree; the other used a conventional Git linked worktree. We then asked: how many provider tokens does each workflow require to reach an independently accepted result?

Measured results

Both complete campaigns found about one-third lower token use for AIT.

Scope: five game tasks with one model pin. These are separate campaigns with disclosed failures and replacements; effective acceptance includes the admitted replacements. Token use is not a dollar-cost estimate. The campaigns did not measure high-concurrency throughput.

Released baseline34.95%27.85–39.77% bootstrap 95% CI
Sprint-on replication36.28%28.26–41.83% bootstrap 95% CI
Elapsed-time saving21.04% / 15.22%baseline / replication workload medians
Effective acceptance100/100AIT and Git in each campaign

The primary figure gives every workload equal weight. Raw provider totals are shown as a descriptive cross-check, not substituted for that workload-balanced result.

Separately analyzed campaign aggregates
CampaignWorkflowToken saving95% CIRaw provider totalsElapsed savingEvidence history
Released baselineSprint off34.95%27.85–39.77%46,300,272 AIT / 70,140,925 Git
33.99% lower
21.04%201 executed / 200 effective
Natural-inspection replicationSprint on36.28%28.26–41.83%45,432,262 AIT / 71,238,660 Git
36.23% lower
15.22%203 executed / 200 effective

Try the compatible parallel exercise →

The actual Starline Defender benchmark game running in a browser, with a player ship, enemies, projectiles, score, lives, benchmark telemetry, and keyboard and touch controls.
A real accepted GD-05 output from run …b004-gd-05-ait—not generated artwork or a separate mockup.

What the agents actually changed

An existing deterministic browser shooter.

The fixture is a dependency-free JavaScript game called Starline Defender. It already had movement, enemies, scoring, pause, replay, settings, keyboard controls, and a regression test surface. The benchmark is therefore repository maintenance and feature work—not a contest to generate a game from scratch.

The playable page is the exact public web output of one accepted AIT session. It scored 100/100 and lets you inspect the kind of artifact the evaluator tested. It is illustrative only: the aggregate result below is calculated from every admitted session, not from this example.

The five workloads

From a one-line regression to a beta hardening pass.

Every session received one of these frozen task specifications and the same acceptance contract. The tasks deliberately increase in scope.

GD-01 · cooldown repair

Stop rapid-fire projectiles

Repair the firing regression so the existing 180 ms firing cooldown is enforced without breaking normal play.

GD-02 · enemy feature

Add a two-hit armored enemy

Make it visually distinct, require two hits to destroy it, and award exactly 250 points.

GD-03 · determinism repair

Fix pause/resume replay divergence

Freeze paused time and input so a recorded replay converges to the same final state after resuming.

GD-04 · refactor

Split the monolithic game safely

Extract model, renderer, and input modules while preserving the game’s behavior and public API.

GD-05 · beta hardening

Prepare a release-ready artifact

Add versioned replay, settings normalization, mobile input, focus recovery, a benchmark panel, release checks, and documentation—without dependencies or external network access.

What one paired attempt means

The same task was run twice; only the repository workflow changed.

  1. Start from identical bytes.The AIT and Git lanes received the same frozen fixture, task text, model revision, reasoning effort, and validation commands.
  2. Open fresh agent sessions.Each lane used a new GPT-5.6 Sol max session in its own isolated workspace; no conversation history carried across attempts.
  3. Apply one workflow treatment.The AIT lane used AIT’s Task lifecycle. The Git lane used a temporary branch and linked worktree.
  4. Let the agent work naturally.The agent could inspect files, edit, test, and use meaningful status or diff inspection on either side. Those actions were neither required nor banned.
  5. Evaluate the result independently.The harness ran frozen functional checks and scored the resulting game. Workflow completion alone could not make a broken game pass.
  6. Count the complete provider usage.The admitted session’s machine-readable provider token total and elapsed time entered the paired analysis.

AIT treatment

Task + isolated worktree

The agent started an AIT Task, worked in its bound worktree, could create an intermediate Snapshot, and finished through the Task closeout. The baseline ran with sprint mode off; the replication bound an exact sprint card.

Git treatment

Linked worktree + temporary branch

The agent worked in a Git linked worktree on a temporary branch, committed the result, integrated it into the clean target branch, and removed the temporary worktree and branch.

How 200 sessions are constructed

Enough repeated pairs to estimate variation, not just compare two anecdotes.

5 workloads×20 pairs×2 workflows=200 sessions

Each workload contributes 20 admitted AIT/Git pairs: 100 AIT and 100 Git effective sessions per campaign. We ran this complete design twice and analyze the campaigns separately. The released baseline executed 201 raw sessions to form its 200-session effective view; the replication executed 203 raw sessions to form its own 200-session effective view. Every excluded or replacement execution is disclosed below.

What the numbers mean

Function first, provider cost second, uncertainty included.

Accepted outcome

A frozen evaluator checked startup, required behavior, determinism, score thresholds, workflow closeout, and the absence of external dependencies or network access. Both workflows reached 100/100 effective acceptance in each campaign.

Provider tokens

The cost measure is the provider’s machine-readable total-token usage for each admitted agent session. It is not inferred from command count or the size of the final patch.

Workload-balanced saving

We calculate AIT’s relative token saving inside each workload, then take the median across all five. This prevents the largest task from dominating the headline.

How to read the 95% confidence interval

The analysis resamples the 20 observed pairs within each workload 2,000 times, recalculates the workload-balanced saving, and reports the middle 95% of those bootstrap results. An interval crossing zero would leave the direction uncertain. Both campaign intervals—and every workload interval—remain above zero. The interval describes uncertainty for this measured test design; it does not prove the same saving for every repository or task.

Results by task

Every workload favored AIT in both campaigns.

20 admitted pairs per workload

Released 1.1.0 sprint-off baseline

Baseline effective provider tokens and paired-bootstrap confidence intervals
WorkloadAIT effective tokensGit effective tokensToken saving95% CIPairs
GD-01213,481.0317,517.832.77%22.07–41.92%20/20
GD-02266,652.6428,522.237.77%27.59–45.66%20/20
GD-03376,821.3496,364.824.08%12.41–34.32%20/20
GD-04580,373.9915,416.836.60%25.68–45.84%20/20
GD-05877,684.71,349,224.834.95%22.36–44.82%20/20

Sprint-on natural-inspection replication

Replication effective provider tokens and paired-bootstrap confidence intervals
WorkloadAIT effective tokensGit effective tokensToken saving95% CIPairs
GD-01254,455.2363,422.429.98%15.11–41.62%20/20
GD-02286,894.6454,931.136.94%26.82–46.31%20/20
GD-03355,256.8557,551.136.28%22.92–47.19%20/20
GD-04636,606.8904,065.029.58%21.19–37.73%20/20
GD-05738,399.71,281,963.442.40%34.53–49.32%20/20

Every workload interval remained above zero in each campaign’s frozen analysis.

Execution history

Failures and interrupted runs remain visible.

Baseline: 201 sessions were executed for 200 effective sessions

The original AIT GD-05 attempt failed the frozen functional check because its change did not preserve soundEnabled: 0. That result remains in the ledger and was replaced exactly once under the disclosed same-pinned policy. Only the accepted replacement entered the effective view.

Replication: 203 sessions were executed for 200 effective sessions

Three source executions are excluded and disclosed: one GD-02 Git lane contaminated by an executor-infrastructure failure, one GD-05 Git lane interrupted by host shutdown before a terminal summary existed, and one valid GD-05 AIT functional failure admitted to one exact replacement. The infrastructure and shutdown cases used whole-pair recovery. A separate recovered-spawn classification was corrected through digest-linked adjudication without re-executing that session.

The Source-protocol flag remains false in the public record. Current policy revision game-development-2026-08-29.36 separately records that its criteria were met and sets effective claim_eligible=true; the earlier flag is not erased.

Interpretation boundary

Strong evidence for this test set, not a universal law.

What both campaigns support

For these five fixtures and this model pin, each separately analyzed campaign found about one-third lower provider-token use for AIT while preserving the same effective functional acceptance.

What this comparison does not establish

The campaigns differ in workflow mode, prompts, AIT binary, seed, date, and recovery history. They are not pooled and are not a causal sprint-on/off A/B test. The result is not a promise for every codebase, model, or task, and the linear sessions did not measure high-concurrency throughput.

Audit the evidence

Each campaign has its own immutable summary, JSON, ledger, and checksums.

Released 1.1.0 baseline

Sprint-on natural-inspection replication

Conclusion

On these five game-development tasks, AIT used about one-third fewer provider tokens than Git worktrees—and reached the same accepted outcomes.

The separately analyzed campaigns measured 34.95% saving (95% CI 27.85–39.77%) and 36.28% saving (95% CI 28.26–41.83%). Every workload favored AIT, both workflows reached 100/100 effective acceptance, and both intervals stayed above zero.