The Light Semantic Harness

The five guarded tools every Blame agent works through, what they guarantee, and how they were measured.

Most coding agents grep, rewrite whole files, and tell you it should work now. Blame gives every agent five guarded tools instead. Every read, edit, and check is recorded, and checks run again before the agent hands the work back.

The five tools

ToolWhat the agent doesWhat the harness guarantees
search_codeFinds code by its structureDeclarations come from the syntax tree and the TypeScript project, not from text matches.
read_codeReads before it writesEvery read is recorded with the file version it saw. Unread code cannot be edited.
edit_codeEdits declarations and filesAn edit must match the exact text the agent read. Stale or ambiguous targets are refused, and batches are atomic.
run_taskRuns commands and testsResults are bound to the run and the source revision. A failing test stays failed, even behind a script that exits 0.
finish_taskHands the work backRequired checks run again on the final source. Missing or stale checks are reported as unverified, with the reason.

Preview and other configured tools can extend an agent's session.

Measured in the open

On fresh cross-module TypeScript tasks audited by hand, the harness matched Cline's 6/6 with 54% fewer tokens and a 39% lower estimated cost, with the same model. That is panel F61 of the study, which also reports where the harness fell short: in that panel, agents took 27% longer than with Cline.

The study's LaTeX source is in the repository. These are small panels: the study details the conditions, the other panels, and the limits of each result.

Limits

  • Reference search currently falls back to text matches: it is not a compiler-level reference graph.
  • A "verified" hand-off means the required checks passed under the current validation policy. It does not prove arbitrary functional requirements, and free-text acceptance criteria are not checked mechanically.
  • The edit lock protects against cooperating writers. It does not isolate files from programs that ignore it.

The architecture summary describes how the harness is built.

Edit this page on GitHub

On this page