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.
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.
| Failure class | Objective signal | Repair |
|---|---|---|
| File doesn’t compile | compile check on every written file | deterministic re-indent, then a full regeneration of just that file |
| Statement dedented out of its function | IndentationError, or a return at module level | snap the statement back into its enclosing function — proven AST-identical on valid code |
| Method indented into the previous method | tests 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 name | cannot import name at test collection | alias the import to the single strong candidate — only in the safe direction, never guessing between two |
| Module genuinely missing a function | same signal, but no rename candidate exists | generate 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 runtime | sandboxed import probe of each generated module | reconcile 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.
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.
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.
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 macOSRequires 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