Skip to main content

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 generic adapters.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 generate proposes a starter set from your personal test repo's tooling.
  • Leaf authoring guidancenaoru help leaf-authoring and 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 loopnaoru 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-resolved prints the effective Naoru role policy as JSON; --unsafe is explicit opt-in. Use naoru --help and subcommand --help for 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

naoru-0.1.3-py3-none-any.whl (71.7 kB view details)

Uploaded Python 3

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

Hashes for naoru-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8716e485cead10ebbe22b3fe6a7c3060be0045baf9adfb7b0528a7d057df1ac0
MD5 1d71083e948877a0380c1d07c655a915
BLAKE2b-256 8a90062fa1227831747e0f6b6184146e3c11044bab0f9b569c07b72e0b5029ab

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page