Skip to main content

oneagentgraph

Compose agents into a graph over oneharness and onejudge, and merge their outputs into one NDJSON event stream.

One config file and one CLI call: the graph names an oneharness config per role and side, and oneagentgraph prepares each member's launch, supervises liveness, and emits every turn, tool call, fallback, and settle as an event you can pipe into anything.

Install

pip install oneagentgraph-cli      # prebuilt binary, no Rust toolchain
npm install -g oneagentgraph-cli   # the same binary, via npm
cargo install oneagentgraph        # from crates.io, compiled locally

To install a revision that has not been released yet, build it from the repository:

cargo install --git https://github.com/nickderobertis/oneagentgraph --locked

Prebuilt archives for Linux (x86-64, arm64), macOS (Intel, Apple silicon), and Windows (x86-64) are attached to every release, with sha256 checksums.

onejudge is a library dependency, linked into this binary — there is nothing to install for it. run, smoke, and interrupt drive the oneharness CLI, so that has to be on PATH; health, validate, history, persona, trigger, reset-timer, cancel, and sweep need nothing at all — health reads oneharness's own identity sweep through its library, in this process. ONEAGENTGRAPH_ONEHARNESS_BIN names a pinned install instead.

What it does

oneagentgraph run graph.yaml --task "add the retry" --output json

A graph is YAML — members, the oneharness config each side uses, personas, schedules, and dependencies:

version: 7
name: node-scope
members:
  worker:
    kind: onejudge
    base_config: ./onejudge.base.yaml
    agent: { oneharness_config: ./oneharness.toml }
    judge: { oneharness_config: ./oneharness.judge.toml }
    mode: bypass

run streams one envelope per line. Exit 0 means every member settled, 1 that one failed or died, 2 that the config is invalid.

A member may name a persona — the role delta it layers over its base config, by built-in name (persona: engineer), by a name in the graph's own catalog, or by path. A persona is a onejudge config fragment: it is written in onejudge's own field names, and onejudge's schema decides what it may say. The persona format documents it, including the agent: block earlier versions defined, which is now refused with no compatibility path.

A single-sided member may declare pre_turn commands — run immediately before each of its turns, with what they printed prepended to what that turn is asked. A supervisory member's first act becomes reading a prepared view rather than spending tool calls rediscovering state that already exists. A view that cannot be started, fails, prints nothing, or outruns its own bound leaves the turn happening without it and publishes a pre-turn-context saying which.

When a member's turn goes the wrong way, oneagentgraph interrupt RUN MEMBER --input "do this instead" redirects it in place instead of discarding it the way cancel does. Exit 3 means there was no controllable turn in flight, and says which — a fact, not an error.

Under disk pressure, oneagentgraph sweep --dry-run says what scratch exists, what is reclaimable, and what it could not examine; without --dry-run it reclaims what it proves is dead. What counts as proof is the liveness rules in the contract, which is where they are stated.

oneagentgraph owns no harness, model, or fallback logic. oneharness keeps owning identity chains, fallback, model pins, and quota classification; onejudge keeps owning the two-party conversation. This composes them.

Develop

just bootstrap   # from a clean clone; installs the oneharness CLI
just check       # the deterministic gate: format, clippy, tests, coverage, docs
just gate        # check + the LLM-judge tier; the pre-push bar

Licence

MIT. See LICENSE.

Release files for oneagentgraph-cli 0.3.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for oneagentgraph-cli 0.3.10
File
oneagentgraph_cli-0.3.10-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
oneagentgraph_cli-0.3.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
oneagentgraph_cli-0.3.10-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
oneagentgraph_cli-0.3.10-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
oneagentgraph_cli-0.3.10-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

Total release size: 22.4 MB

Release files / oneagentgraph_cli-0.3.10-py3-none-win_amd64.whl

Download URL oneagentgraph_cli-0.3.10-py3-none-win_amd64.whl
Size 4.7 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
e75c6d1d6f91bf0a17186b97c225683dc4f97c8227dacb078124fa1dc570defe
BLAKE2b-256 checksum
How to use checksums
04b4ce1778a53bd517ddd902d905bd58cad67e3fef85c60b2d85c222a346fcf5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / oneagentgraph_cli-0.3.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL oneagentgraph_cli-0.3.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.6 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
c5aa54b83b7c6bdd6e8d0774665ee8efeaacb7030096f857d8a1813d9285522e
BLAKE2b-256 checksum
How to use checksums
8290c3e24763719c6255e7d3ef6a6ff1424914186ef230349cfc87d0cf8d6378
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / oneagentgraph_cli-0.3.10-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL oneagentgraph_cli-0.3.10-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 4.3 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
f2438a4c432f56044eb14cfa6851cad9c6d2d20dc44ad47d1dc7c10e534814f0
BLAKE2b-256 checksum
How to use checksums
171c46be12c62a4d215f99febf47a7da127ad721d8dc47a9b43dd35384a6dd28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / oneagentgraph_cli-0.3.10-py3-none-macosx_11_0_arm64.whl

Download URL oneagentgraph_cli-0.3.10-py3-none-macosx_11_0_arm64.whl
Size 4.2 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4dc366ad00bc96092764fc27117305c0edc5942901b956317b0a086f15a21afd
BLAKE2b-256 checksum
How to use checksums
ad565a0aa28d4061dfd08efc1152c1ceb07153bfcba1979b3a0e03a3ede5aaad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / oneagentgraph_cli-0.3.10-py3-none-macosx_10_12_x86_64.whl

Download URL oneagentgraph_cli-0.3.10-py3-none-macosx_10_12_x86_64.whl
Size 4.5 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
441f32f1a1e18e1752e04615343630fb7d60f34f68fe2fec5b55672dec38d0c3
BLAKE2b-256 checksum
How to use checksums
2d4b428dcbfff479cdd7045bec954e84c64758094b2f415aa1caca9d03afeb7a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

0.5.2

5 release files

0.5.1

5 release files

0.5.0

5 release files

0.4.10

5 release files

0.4.9

5 release files

0.4.8

5 release files

0.4.7

5 release files

0.4.6

5 release files

0.4.5

5 release files

0.4.4

5 release files

0.4.3

5 release files

0.4.2

5 release files

0.4.1

5 release files

0.4.0

5 release files

0.3.19

5 release files

0.3.18

5 release files

0.3.17

5 release files

0.3.16

5 release files

0.3.15

5 release files

0.3.14

5 release files

0.3.13

5 release files

0.3.12

5 release files

0.3.11

5 release files

This release

0.3.10 This release

5 release files

0.3.9

5 release files

0.3.8

5 release files

0.3.7

5 release files

0.3.6

5 release files

0.3.5

5 release files

0.3.4

5 release files

0.3.3

5 release files

0.3.2

5 release files

0.3.1

5 release files

0.3.0

5 release files

0.2.19

5 release files

0.2.18

5 release files

0.2.17

5 release files

0.2.16

5 release files

0.2.15

5 release files

0.2.14

5 release files

0.2.13

5 release files

0.2.12

5 release files

0.2.11

5 release files

0.2.10

5 release files

0.2.9

5 release files

0.2.8

5 release files

0.2.7

5 release files

0.2.6

5 release files

0.2.5

5 release files

0.2.4

5 release files

0.2.3

5 release files

0.2.2

5 release files

0.2.1

5 release files

0.2.0

5 release files

0.1.1

5 release files

0.1.0

5 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page