Naoru — generic autonomous code-repair engine (drive → judge → fix → red-first oracle gate).
Project description
Naoru
Naoru (Japanese 治る/直る, "to be healed / to be fixed") is a generic, host-agnostic autonomous code-repair engine: it drives a system-under-test, judges the result, has an LLM worker propose a fix in an isolated worktree, and gates any autonomous commit behind a deterministic red-first oracle (RED→GREEN, N-of-M, fixer-blind).
The import package is fix_engine, the distribution is naoru. Research preview —
free for personal, non-commercial U.S. technical evaluation only, provided AS IS with no
warranty, not for redistribution, business use, or commercial use.
© Unpossible Creations, Inc. (see https://naoru.dev/license/ — Naoru Research Preview
License, and https://naoru.dev/privacy/).
Naoru can execute commands, call third-party LLM providers, write code, alter Git state, leak secrets, incur provider charges, and commit autonomously. Use it only on version-controlled personal test code you can revert. First functional use requires exact acceptance:
naoru config --accept-license "I ACCEPT"
Naoru stores a local acceptance receipt on your machine and does not send that receipt to Unpossible Creations.
The three seams
The engine core imports zero host code. A host binds it to an environment via
fix_engine.host.configure_host(...):
- Executor (
fix_engine.executor) — launch the system-under-test, stream, detect terminal. Ships with a genericadapters.command_executor(run any build/test command). - OutcomePlugin (
fix_engine.outcome) — judge a run RED/GREEN via machine-checkable predicates (exit code, traceback signature, contract violation, output substring, non-crash). - HostServices (
fix_engine.host) — LLM dispatch, runtime paths, tooling discovery, provider classification, and config UI, supplied by the host.
Plus fix_engine.oracle (the mandatory commit gate), fix_engine.safety (sandboxed-by-default
profile), fix_engine.worker (the bounded fix worker), fix_engine.gates (public validation
outcome contract), and fix_engine.worktree.
What's new — the autonomous test-and-improve product
Beyond the engine primitives, naoru now ships a runnable local surface so an eligible individual can install it, declare checks, and run autonomous missions against personal test software:
- Declarative leaves (
fix_engine.leaves) — author checks in.toml/.json(a command + a pass-predicate);naoru leaves generateproposes a starter set from your personal test repo's tooling. - Leaf authoring guidance —
naoru help leaf-authoringand the leaf authoring guide explain how to turn repo-local checks into high-signal autonomous repair leaves. - Starter leaf rendering preserves invocation metadata such as working directory, timeout, tags, enabled state, and per-leaf fix-loop caps when writing TOML.
- Mission-driven loop —
naoru run --mission <…>:test-and-fix-bugs(red-first oracle, auto-commit),improve-performance(metric gate, auto-commit),improve-ux/general-improvement(propose-a-patch for review, never auto-commit). The LLM is inherited from Naoru role policy plus your host config (no provider hardcoded); flags override subject to the configured reasoning floor. naoru config— open the host's provider/model picker. Conservative defaults (sandboxed, gate-required commits);--show-resolvedprints the effective Naoru role policy as JSON;--unsafeis explicit opt-in. Usenaoru --helpand subcommand--helpfor flag reference.
Start at https://naoru.dev/docs/onboarding/; architecture at
https://naoru.dev/docs/architecture/harness/; leaf authoring at
https://naoru.dev/docs/guides/leaf-authoring/; a runnable demo is at
https://naoru.dev/examples/. For turnkey local use, install naoru[obra-host].
Standalone invariant
fix_engine must never import a host product directly. Enforced by
tests/test_fix_engine_boundary.py; a fresh interpreter importing the full core pulls zero host
modules (tests/test_fix_engine_portability.py).
Develop
uv venv && uv pip install -e . && python -m pytest tests/ -q
Releasing
Wheel-only (never an sdist) — the public artifact is the wheel, and the license does not grant
redistribution or modification rights. Internal maintainers use the guarded release pipeline, which
builds the wheel and runs the hard verifier before any publish step. The verifier alone is
python scripts/verify_wheel.py [wheel].
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file naoru-0.1.3-py3-none-any.whl.
File metadata
- Download URL: naoru-0.1.3-py3-none-any.whl
- Upload date:
- Size: 71.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8716e485cead10ebbe22b3fe6a7c3060be0045baf9adfb7b0528a7d057df1ac0
|
|
| MD5 |
1d71083e948877a0380c1d07c655a915
|
|
| BLAKE2b-256 |
8a90062fa1227831747e0f6b6184146e3c11044bab0f9b569c07b72e0b5029ab
|