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. Proprietary — © Unpossible Creations, Inc. (see LICENSE).

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 product surface so a third party can install it, declare checks, and run autonomous missions against their own 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 project's tooling.
  • 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 your host config (no provider hardcoded); flags override.
  • naoru config — open the host's provider/model picker. Safe by default (sandboxed, gate-required commits); --unsafe is explicit opt-in.

Start at NAORU_ONBOARDING.md; architecture in docs/architecture/harness.md; a runnable demo in 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

Proprietary, wheel-only (never an sdist). 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.1-py3-none-any.whl (50.8 kB view details)

Uploaded Python 3

File details

Details for the file naoru-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: naoru-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 50.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 59d9700cacdf3f7021cbea34e23a32021d0cada4262e51b74c651296121e5721
MD5 c7d1ac4ad6f307c6618cc21a22a31d77
BLAKE2b-256 dbf3ce2d833a18ea3c6597957eb9fda48176a953d3700dd1bfad0baa95e9e7ed

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