Skip to main content

Agent Orchestration Process (AOP)

AOP gives automation one CLI for running bounded, non-interactive jobs across different agent harnesses without requiring callers to learn each harness's command flags, session format, output schema, runtime state, or resume behavior:

  • Run Codex, Claude Code, Cursor Agent, Devin CLI, OpenCode, Antigravity (agy), Grok Build, Hermes, and DeepSeek Harness (dsh) through the same run and resume commands. See Harness adapters for current model support and limitations.
  • Reuse each harness's existing authentication, model execution, tools, and conversations instead of maintaining a separate AOP credential store.
  • Apply the same isolated worktrees, inputs-only sealed runs, configured deadlines, process cleanup, snapshotted inputs, and validated artifacts across harnesses.
  • Retain consistent results, logs, timing, token usage, and exact provider session identity when available.
  • Keep cleanup, checkpointing, and Git integration outside agent control.

Agent Client Protocol (ACP) standardizes interactive communication between agents and clients such as editors and IDEs. Use ACP when a person needs to chat, approve actions, watch progress, and steer a session.

Use AOP when software needs to run bounded jobs unattended across different agent CLIs. The two are complementary: ACP serves interactive clients, while AOP serves automation.

Install and run

AOP requires Linux and Python 3.11 or newer. The edit, review, and sealed profiles require bwrap. Git is required for edit, review, and host. Install and authenticate at least one supported agent harness.

Install AOP from PyPI:

uv tool install agent-orchestration-process

Run a sealed task from any directory without exposing local files or requiring a Git repository:

aop run --agent codex --profile sealed --prompt "Explain the difference between TCP and UDP"

Run a task in an existing Git repository:

aop init
aop run task-a --agent codex --prompt "Implement the parser and its tests"

aop init adds /.aop/ to .gitignore; commit that change before integrating tasks. AOP creates the task worktree automatically and prints the run ID needed to resume the exact provider session:

aop resume <run-id> --prompt "Address the review findings"

See the CLI guide for other harnesses, inputs, artifacts, batch runs, cleanup, and machine-readable results. See Integration when a task's changes are ready to checkpoint and merge.

Execution profiles

AOP profiles describe the complete execution boundary rather than only where writes are allowed. The isolated profiles expose only the declared workspace, inputs, provider runtime, private state, cache, scratch, output, and required operating-system paths. host runs without that isolation.

Profile Use it when
edit The agent should modify an isolated task worktree.
review The agent should inspect a task worktree without modifying it.
sealed The agent should see only explicit input snapshots, with no repository or inherited instructions.
host The command needs the native host environment and filesystem.

Inspect a declared profile or preview the intended policy without compiling or dispatching it:

aop profile explain sealed
aop profile explain sealed --agent codex --json
aop run study-arm --profile sealed --prompt "Answer using only declared inputs" --dry-run

All profiles currently retain native network connectivity because the supported provider CLIs need it. See Execution profiles for the exact filesystem, instruction, environment, credential, input, and output boundaries.

Use --no-web to deny model-controlled external retrieval while retaining the harness's inference connection. AOP records the effective tool policy and rejects harnesses that cannot enforce the boundary. See CLI guide for current support.

Results and usage

Every adapter records the same result shape, including provider session identity when available, timing, token usage, cost evidence, logs, and declared artifacts. See Token usage and pricing for the normalized token contract, provider mappings, and cost calculation rules.

Development

Clone the repository and synchronize its locked development environment:

git clone https://github.com/wakamex/agent-orchestration-process.git
cd agent-orchestration-process
uv --no-config sync --locked
uv --no-config run --locked pytest
uv --no-config run --locked ruff check src tests

Metadata

Release files for agent-orchestration-process 0.1.8

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

Source distribution (sdist)

Source distribution for agent-orchestration-process 0.1.8
File Size Uploaded
agent_orchestration_process-0.1.8.tar.gz 66.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agent-orchestration-process 0.1.8
File Interpreter ABI Platform
agent_orchestration_process-0.1.8-py3-none-any.whl Python 3 none any Details

Total release size: 141.3 kB

Release files / agent_orchestration_process-0.1.8.tar.gz

Download URL agent_orchestration_process-0.1.8.tar.gz
Size 66.3 kB
Tags Source
SHA-256 checksum
How to use checksums
d28b046de17bddeb34641fdf962b3d398ee2d54dfc97e3c57af7f53c49196295
BLAKE2b-256 checksum
How to use checksums
a9db2a026be0135b98f0831222a464157cb8a7f76bfc9bb5f7286ba49401e68e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / agent_orchestration_process-0.1.8-py3-none-any.whl

Download URL agent_orchestration_process-0.1.8-py3-none-any.whl
Size 75.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fd810cfa8d6deacd8197012534c06f580021643e91e2389d46d272fe2c5dabae
BLAKE2b-256 checksum
How to use checksums
cc9c5473fca39687934b59b71887c41482554e3487720e9c22603fd4df099ec2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.1.18

2 release files

0.1.17

2 release files

0.1.16

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

This release

0.1.8 This release

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 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