← Blog

We Shipped All 9.

From research paper to production code — a multi-model review pipeline retrospective.

2026-03-1812 min

The theory post ended with a table. Nine research-backed improvements, each citing the same literature across four independent LLMs. Estimated effort: five under 100 lines, two config changes, one new module. The closing line: “The same problem Sweep was built to solve.”

Four days later, all nine are shipped. Plus fourteen more things the research didn't predict we'd need.

Nine for nine. Then we kept going.

The scorecard

Every item from “What the research says to build next.” Estimated effort vs. actual delivery.

ImprovementSourceEst. effortShipped in
Capture-recapture coverageBriand et al., 2006~30 LOCv2.0
flock() lockingPOSIX, kernel-managed~30 minv2.0
TypeAdapter boundary validationKing, 2019~3 hrsv2.0
P1 precision threshold 0.8Alarm fatigue researchconfig changev2.0
Per-finding normalization fallthroughViola-Jones cascade~2 hrsv2.0
Per-reviewer weighted triageDawid & Skene, 1979~100 LOCv2.0
Style normalization before triageWataoka et al., 2025mediumv2.0
PR comment integrationSadowski et al., 2018new modulev2.5
Severity-weighted convergenceGreen Fuzzing, 2023~15 LOCv2.0

Eight shipped in v2.0. The ninth — PR comment integration — required a new module and landed in v2.5. Every estimate was in the right ballpark. The research did its job.

What we shipped beyond the list

The nine items were the research-backed minimum. What actually shipped across ten versions:

VersionWhat shipped
v2.023 research-backed improvements · 856 tests
v2.1Non-interactive mode for CI and scripting
v2.2Auto-patch generation via lead model
v2.3Artifact chunking for large codebases
v2.51-hop dependency context · rich-click CLI · circuit breaker
v2.6Checkpoint-resume for interrupted auto sessions
v2.8Bayesian convergence gate — Chapman estimator with cap/decay
v2.9Tree-sitter scope detection — 10 languages, optional
v2.1014 bug fixes from 5-round adversarial multi-LLM audit

The research told us what to build. Production told us what else we needed.

The calibration arc

The first blog post documented a P1 precision of 0%. The verification gate brought it to 70%. But the real story is the calibration shift across the eval baseline — from v13 (early pipeline) to v20 (current).

Metricv13 (early)v20 (current)
P0+P1 rate62%30%
P1 findings adopted162
P1 precisionunmeasured100%
P2 share (center of gravity)33%56%
Eval QWK—1.000

P0+P1 collapsed from 62% to 30%. Not because the pipeline finds fewer bugs — because it stopped over-promoting. P2 became the center of gravity. The two remaining P1s are real, both with code-path evidence.

The alarm fatigue research was right. Every false P1 that reaches a developer is a withdrawal from a finite trust account. The verification gate, the 0.8 precision threshold, the severity-weighted convergence — they exist to protect that account.

The adversarial audit

Tree-sitter scope detection (v2.9) was the last major feature. Before shipping, it went through five rounds of adversarial multi-LLM code review. Eight independent models. Each round: generate intake document, feed to web LLMs that have never seen the code, synthesize findings, fix, repeat.

Rounds5
Independent models8+
Bugs found and fixed14
Regression tests added20
Final round verdict4/4 PASS

The pipeline reviewing its own code. Mode 3 behavior validating Mode 3 enforcement. The bugs were real — Rust generic type extraction, C++ qualified identifiers, Python decorator handling, TSX grammar mapping. None were found by the original author or the original review session.

What we killed

Four proposals, each researched and unanimously rejected. Saying no is a feature.

ProposalWhy it's wrong
Selective capability contextDestroys Mode 3. Any context injection is a bias vector that anchors reviewers on a capability map.
Adversarial debate modeSelects for articulateness, not correctness. MAD research (ICLR 2025): majority voting accounts for most gains attributed to debate.
Batch API transportAt $0.014/pass, batch saves ~$0.003. Prompt caching already delivers 52%. Engineering complexity exceeds savings.
Per-provider prompt templatesResearch consensus: maintainability > marginal quality gain. Descoped to a single thinking_budget config per reviewer.

Every killed proposal was plausible. Some were requested. All would have made the system worse. The hardest engineering decisions are the ones where you already have working code and someone asks you to add more.

The numbers

Source lines~14,000
Tests1,121
Test lines~13,700
Research sessions48
Modules15
Design invariants10
Documented bug fixes27+
Eval baselinev21 · 100% pass · QWK 1.000
Cost per pass$0.014
Cost to convergence~$0.10
Cost per adopted finding$0.0021
Remaining roadmap items1 (parked)

Nearly 1:1 ratio of test code to source code. Every design invariant has structural enforcement, not just documentation. The eval harness runs against golden fixtures created from production triage data.

What's left

One item: Sentence-BERT for the dedup module. It's parked. The lead model handles dedup better than the dedup module ever did — zero catches across four production runs, while the lead correctly identified all 75 duplicates during triage. The module stays wired in as cheap insurance. If it ever fires, something interesting happened.

The roadmap is empty because the pipeline is feature-complete. Not because we ran out of ideas — because we killed the ones that didn't earn their complexity.

Theory, then execution

The theory post asked what the literature says about what we already built. This post answers: we built what the literature recommended. Every item. Then kept going until production stopped asking for more.

The thesis — Mode 3 behavior enforced structurally, not instructionally — is implemented, tested, and validated by the same adversarial multi-model process it was designed to enable. Ten design invariants, each preventing a validated failure mode. Forty-eight research sessions confirming the architecture was sound before we wrote a line of v2.0.

Persist the state, not the conversation.