Concept

How Outlier self-heals multi-file builds (and never fakes a green check)

Last updated 2026-07-05 · Outlier v1.11.642

Quick answer

Small local models occasionally make mechanical slips a big cloud model wouldn’t: a method indented into the wrong place, an import of a slightly-misnamed helper, a function a test expects that the module forgot to define. Outlier detects each class from the objective failure signal (a compile error, a collection ImportError, an AttributeError), repairs it deterministically or with a tightly-guarded generation, re-runs the full test suite, and only reports success the tests actually prove. A repair that doesn’t earn a real green is rolled back.

Why multi-file builds fail differently on-device

A 10-file app has 10 chances for one mechanical slip to break the whole build. On our 64 GB test Mac Studio, the on-device Code tier writes a 13-module application whose files all compile and whose tests pass in about 8 minutes — but roughly one file in six, on a first attempt, used to carry a slip like an indentation drift. Cloud assistants hide this class with raw model strength; a local assistant has to engineer around it. Outlier’s answer is a repair ladder: catch each mechanical class with an objective detector, fix it with the narrowest possible transformation, and let the test suite be the judge.

The repair ladder

Failure classObjective signalRepair
File doesn’t compilecompile check on every written filedeterministic re-indent, then a full regeneration of just that file
Statement dedented out of its functionIndentationError, or a return at module levelsnap the statement back into its enclosing function — proven AST-identical on valid code
Method indented into the previous methodtests fail with 'X' object has no attribute 'Y'lift the nested method to class level; the surrounding method must be byte-for-byte unchanged, else reject
Import of a near-miss namecannot import name at test collectionalias the import to the single strong candidate — only in the safe direction, never guessing between two
Module genuinely missing a functionsame signal, but no rename candidate existsgenerate exactly that one function, show the added code in the build log, and require the suite to pass for real
Cross-file import breaks at runtimesandboxed import probe of each generated modulereconcile or honestly flag — a build with an unverified import never claims a clean success

Every repair follows the same contract: verify before commit (the transformed file must compile and be structurally exactly the intended change), re-run the full suite through the same sandbox as the original test run, and flip the verdict only on a real pass. When a repair doesn’t earn green, the file is rolled back to its original contents so the next repair stage diagnoses the true state.

Honest verdicts: three states, no wishful thinking

Every agent build ends in one of three states, derived only from objective signals — never from the model’s own narration:

Two guards keep the green check meaningful. A repair may never weaken tests: attempts to loosen or delete an assertion to make a suite pass are rejected outright. And across a multi-turn session, Outlier tracks the passing-test count: a turn that stays green while materially fewer tests pass — because a test file was rewritten and coverage quietly shrank — is downgraded and labeled with exactly how many previously-passing tests disappeared.

What the numbers look like

Measured on the shipping build (v1.11.642, M1 Ultra, all processing on-device): a 13-module restaurant-management app with cross-module dependency chains builds fully green — 13 files, all compiling, 13 tests passing — in 494 seconds. A 13-turn autonomous session grew the same app from 13 to 25 files and 13 to 49 passing tests with zero crashes, and every turn’s verdict matched reality: honest greens, an honest “unverified” where a turn couldn’t be confirmed, and honest failures on the two turns the model genuinely broke.

Why this matters more than a benchmark score

An assistant that reports success it cannot prove poisons everything downstream — your trust, your git history, and any system that learns from its own results. Outlier’s build verdicts are engineered adversarially: each repair and each verdict rule ships only after a review process that actively tries to construct false greens and false reds. The result is an on-device agent whose “succeeded” means something you can act on without re-checking by hand.

Download Outlier for macOS

Requires Apple Silicon (M1, M2, M3, or M4) — Intel Macs are not supported.

Outlier runs entirely on your Mac. No prompts leave the device. macOS 12+ on Apple Silicon (arm64). Apache 2.0 model weights. outlier.host