Skip to main content

onepipeline

Execute a task DAG over oneagentgraph and onevcs, merging their event streams into one.

onepipeline is the composition layer. It owns the plan — a dependency graph mixing direct agent nodes, repository lifecycle nodes, and explicit human actions — schedules it in rounds, dispatches each node through a pluggable executor seam, and keeps a live channel open to the planner supervising the run. The agents come from oneagentgraph; the clones, worktrees, gates, and change requests come from onevcs. Dependency direction is one-way: neither sibling depends on this crate.

The public types, traits, config schemas, and CLI surface are the approved contract in docs/contract.md, compiled — and implemented behind it. onevcs is linked and called: sessions, publication, and a session's event stream are library calls, so what a publication did is a typed value rather than a line of prose to parse. oneagentgraph is still run as a CLI, so a build of it that refuses will make the dispatches this crate starts refuse too; the composition layer itself is complete.

Install

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

To install a revision that has not been released yet — which today is every revision, since the crate depends on its siblings by git and a git dependency cannot be published — build it from the repository:

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

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

What it does

onepipeline start plan.json --round-budget 14400 --heartbeat-interval 1800

start launches the run's dag-scope agent graph — a shipped default of an orchestrator member driving the engine, and a resettable-cron check-in member that surfaces a status when nobody has reported one for a while. Attached, it returns when the run settles; exit 3 means nothing is driving the run, and onepipeline adopt RUN attaches a fresh driver to the intact ledger.

The planner supervises over the channel:

onepipeline next run-1                                   # read the next surface
onepipeline reply run-1 <<<'{"version":1,"commands":[    # edit the live graph
  {"op":"retry","id":"failed","node":{"id":"retry","task":"..."}}]}'
onepipeline attest run-1 design-approval                 # complete a human action

Every edit is applied or rejected with a reason: reply exits 0 when the reconciler applied it, 1 when it is queued but not yet reconciled, and 2 when it was refused.

Read-only views — runs, status, host, monitor, results, goals, transcript, telemetry — report unread surfaces, driver liveness, and provider health without touching a run. status says what each in-flight node is doing right now, with an event count and an age; transcript RUN [NODE] renders a dispatched turn's tools and its words; telemetry reports what each party spent and where the wall clock went, in eight buckets that sum exactly. Anything nothing in the stack measures is reported absent, never as a zero.

Where a dispatch runs

The executor seam decides. v1 ships the local executor only; the trait and the rules grammar are shaped so a dispatch-server or Kubernetes executor is a config change rather than a code change.

executors:
  - {name: local, type: local, max_load1: 8.0, min_free_mem: 2GiB}
rules:
  - when: {executor_has_capacity: local}
    use: local
  - use: local

Ordered: the first rule whose when holds decides, and a rule with no when is the fallback. A when tests an executor's capacity, the node's own labels (when: {node_label: {persona: reviewer}}), or both — several conditions in one when all have to hold.

Development

just bootstrap   # from a clean clone
just check       # the deterministic gate
just gate        # check + the diff-scoped llmlint tier

just --list is the full command surface. docs/contract-divergences.md records every place the code could not compile the contract exactly as written, and what the planner who owns the contract ruled on each.

License

MIT.

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 Distributions

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

onepipeline_cli-0.1.13-py3-none-win_amd64.whl (4.0 MB view details)

Uploaded Python 3Windows x86-64

onepipeline_cli-0.1.13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

onepipeline_cli-0.1.13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

onepipeline_cli-0.1.13-py3-none-macosx_11_0_arm64.whl (3.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

onepipeline_cli-0.1.13-py3-none-macosx_10_12_x86_64.whl (3.7 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file onepipeline_cli-0.1.13-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for onepipeline_cli-0.1.13-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 280789f906ad6e07188b23bc35dd43179c8fbefcae46bdc4862a5064c662d175
MD5 2ce9d1192b1855d9d5a6f3b277df07cc
BLAKE2b-256 8590a2257bd3c3608882c8860cddbf6a301be4f741da091cb1173aafbc23437f

See more details on using hashes here.

File details

Details for the file onepipeline_cli-0.1.13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for onepipeline_cli-0.1.13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 83cf45dd96be6bfab4f3e3a86398fd4762b0e36c24f1e21eec01e2e654ebd1ff
MD5 aa3592e528f76434635eebdecf1dfb95
BLAKE2b-256 a601572e061e558ddf06c725696c8f3ab2b189ccaab7dd99ff7e7f2473910a0a

See more details on using hashes here.

File details

Details for the file onepipeline_cli-0.1.13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for onepipeline_cli-0.1.13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 07618f177fe6f91294a667a16c6eba1953c085ab1fa9401e134274e73230229b
MD5 4c27604d1ac07795c466d39fe4a242e1
BLAKE2b-256 80b16bf1c1f7182674482e84db7c423e9ffc9c0cf924cd75b89c80cc733103b6

See more details on using hashes here.

File details

Details for the file onepipeline_cli-0.1.13-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for onepipeline_cli-0.1.13-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c9ec258bf75ca62b50e2a9510035b1f8ffa5896e5d4c2d2f7a98c9a0e22bcefe
MD5 69a3d7828ff2dd493f58ecd8c8b63562
BLAKE2b-256 8d0c9134bbd25c40269c4f9b3c54c1a74d43d96e2c5bcc4466469cc97411f8c1

See more details on using hashes here.

File details

Details for the file onepipeline_cli-0.1.13-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for onepipeline_cli-0.1.13-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2919d30d8773df825d85116aeb307b70c2207e78e8d17d5472d5e794384a9f18
MD5 367e2d36b86b7669d35d8d6dd6a5942e
BLAKE2b-256 6175c8e6ccef0bbd8f9bd599cf8c8576f1f184e96d4e2d1b35965c2714e94461

See more details on using hashes here.

Release history Release notifications | RSS feed

0.18.3

5 files

0.18.2

5 files

0.18.1

5 files

0.18.0

5 files

0.17.5

5 files

0.17.4

5 files

0.17.3

5 files

0.17.2

5 files

0.17.1

5 files

0.16.4

5 files

0.16.3

5 files

0.16.2

5 files

0.16.1

5 files

0.15.2

5 files

0.15.1

5 files

0.15.0

5 files

0.14.2

5 files

0.14.1

5 files

0.14.0

5 files

0.13.0

5 files

0.12.4

5 files

0.12.3

5 files

0.12.2

5 files

0.12.1

5 files

0.12.0

5 files

0.11.0

5 files

0.10.1

5 files

0.10.0

5 files

0.9.0

5 files

0.8.6

5 files

0.8.5

5 files

0.8.4

5 files

0.8.3

5 files

0.8.2

5 files

0.8.1

5 files

0.8.0

5 files

0.7.5

5 files

0.7.4

5 files

0.7.3

5 files

0.7.2

5 files

0.7.1

5 files

0.7.0

5 files

0.6.3

5 files

0.6.2

5 files

0.6.1

5 files

0.6.0

5 files

0.5.0

5 files

0.4.0

5 files

0.3.1

5 files

0.3.0

5 files

0.2.0

5 files

0.1.15

5 files

0.1.14

5 files

This release

0.1.13 This release

5 files

0.1.12

5 files

0.1.11

5 files

0.1.10

5 files

0.1.9

5 files

0.1.8

5 files

0.1.7

5 files

0.1.6

5 files

0.1.5

5 files

0.1.4

5 files

0.1.3

5 files

0.1.2

5 files

0.1.1

5 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