TERRAIN

Report viewer

terrain-demo-shop

ac9ffc2390 · 1,466 LOC · model claude-opus-5 · adapter claude-cli

Showing the bundled sample run. Drop a file anywhere on this page to load your own — it is read in your browser and never uploaded.

Projected cost to fix 1000 issues

$230.84

90% interval $168.97–$292.92 · 2.5 agent-hours · 85.3M tokens

B
efficiency4740%
reliability10030%
safety10020%
navigability5210%
$0.168 → $0.324 per attemptx: file · y: rule · elevation: costpeak: no-else-return · format.js

Measured sample

issues in repo

21

sampled

5

fix rate

100%

regressions

0

cost per fix

$0.231

tokens per fix

85.3K

Where the money goes

issue classattemptsfix ratecost / attempttotal
eslint:error:autofix4100%$0.246$0.985
eslint:error:manual1100%$0.169$0.169

Static friction signals

signalmeasuredscoreevidence
Median source file size22 LOC100Median 22 LOC across 5 source files; p90 is 25 LOC.
Files over 1000 LOC0 files100No source file exceeds 1000 LOC.
Type safety and escape hatches0 per KLOC40Strict type checking is off; 0 escape hatch(es) (any, ts-ignore, eslint-disable, noqa) — 0.0 per KLOC.
Test-to-source ratio0.2 ratio401 test file(s) against 5 source file(s).
Agent brief (AGENTS.md / CLAUDE.md)00No AGENTS.md or CLAUDE.md — every agent rediscovers the build, the test command and the conventions from scratch, on every task.
Lint and format configuration00Missing lint or format configuration — style is decided per-file, so agents guess and reviewers argue.
Dependency lockfile1100Dependencies are pinned by a lockfile.
Continuous integration00No CI configuration found — nothing mechanically checks a change before a human does.
Documentation50 %50README, no CONTRIBUTING, no docs/
Directory structure2 levels100Median path depth 2.0; largest directory holds 3 source files.
TODO / FIXME density0 per KLOC1000 TODO/FIXME/HACK marker(s) — 0.0 per KLOC.

Agent brief (AGENTS.md / CLAUDE.md) 0/100

Add an AGENTS.md with the build command, the test command, the directory map and three project-specific conventions. It is the cheapest point on this entire report and usually the largest single win.

Lint and format configuration 0/100

Commit an ESLint (or Biome/ruff) config and a formatter config. A mechanical style answer removes an entire category of judgement from every change.

Continuous integration 0/100

Add a CI workflow that runs lint, types and tests. It doubles as the specification an agent can run locally.

Documentation 50/100

Document how to run and change the project. An agent that cannot find the entry point reads the whole repo to guess it.

Every attempt

taskrulefileoutcomecosttimediff
t001-10da818ddot-notationsrc/cart.js:17fixed$0.3238s+1/-1
t002-19beea3bno-else-returnsrc/util/format.js:13fixed$0.32410s+1/-2
t003-50ee64abno-useless-returnsrc/user.js:27fixed$0.1699s+0/-1
t004-4fe66b56no-varsrc/util/format.js:2fixed$0.1688s+1/-1
t005-66be4569eqeqeqsrc/util/format.js:3fixed$0.1699s+1/-1