Minimal orchestration runtime extracted from the Home AI Control Plane.
Project description
Conductor Engine
A minimal, installable orchestration runtime for task execution, capability loading, guardrails, storage abstractions, and future agent and policy layers.
AI Collaboration
This project is AI-enhanced. A significant portion of the code, tests, and documentation was written with AI assistance as part of an intentional human-AI collaborative workflow.
Roadmap Status
condor-tuialready exists; Phase 4 is focused on aligning it to stable, versioned engine control-plane contracts.
| Phase | Status | Focus |
|---|---|---|
| Phase 1: Core Runtime | ✅ Complete | Single-process task execution, core capabilities, guardrails, local storage, and baseline CLI support. |
| Phase 2: Workflow Layer | ✅ Complete | Planner, worker, validator, and orchestrator contracts over the existing supervisor path. |
| Phase 3: Production Hardening | ✅ Complete | Observability, policies, pluggable stores, approvals, and parallel workflow execution. |
| Phase 4: Control Plane + TUI | ✅ Complete | Versioned HTTP control-plane API (engine/api/), SSE event stream, multi-engine cluster routing, and cond serve. |
| Phase 5: Autonomous Operation | ✅ Complete | Self-enforcing policy, behavioral retry, cron/webhook triggers, sandboxed execution, require_approval gate, rich audit trail, and integration test suite. |
| Phase 6: Guild Layer | Planned | Cross-project failure learning and role-scoped knowledge sharing. |
| Phase 7: Remote Deployment and Protected Operation | Planned | Protected remote operation, multi-tenant isolation, remote runners, and hardened deployment targets. |
Next: Phase 6 — Guild Layer (cross-project failure learning and role-scoped knowledge sharing).
See the full roadmap for phase scope, rationale, and backlog details.
Quick Start
python3.14 -m venv .venv
source .venv/bin/activate
pip install -e .
cond run examples/echo.yaml
cond workflow run examples/workflow-echo.yaml
Use man cond for the stable CLI reference, cond help for runtime-aware command and capability help, and cond --help for standard flag usage.
HTTP API
The engine ships a full control-plane HTTP API built on FastAPI. Install the [api] extra and start the server:
pip install -e ".[api]"
cond serve # binds to 127.0.0.1:8080 by default
cond serve --host 0.0.0.0 --port 8080
Interactive docs are available at http://localhost:8080/docs once the server is running.
Endpoint groups
| Group | Prefix | Notes |
|---|---|---|
| Tasks | GET/POST /v1/tasks |
List, submit, run inline, approve, cancel |
| Capabilities | GET /v1/capabilities |
Registry browser |
| Workflows | POST /v1/workflows |
Submit and run a workflow goal |
| Events | GET /v1/events |
Server-Sent Events stream (filter by type) |
| Health | GET /v1/health |
Component health; 503 on issues |
| Snapshot | GET /v1/snapshot |
Full versioned ControlPlaneSnapshotV1 |
| Cluster | GET/POST /v1/engines |
Register nodes, heartbeat, tag-based routing |
Multi-engine fleet
Register remote Conductor Engine instances as nodes and route tasks by tag constraints:
# Register a worker node
curl -X POST http://coordinator:8080/v1/engines \
-H "Content-Type: application/json" \
-d '{"name": "worker-gpu-01", "base_url": "http://10.0.0.5:8080", "tags": {"pool": "gpu", "region": "us-east-1"}}'
# Submit to best matching node
curl -X POST http://coordinator:8080/v1/engines/tasks/run \
-H "Content-Type: application/json" \
-d '{"name": "infer", "capability": "echo", "input": {}, "engine_tags": {"pool": "gpu"}}'
SSE event stream
curl -N http://localhost:8080/v1/events
curl -N "http://localhost:8080/v1/events?types=task_completed,task_failed"
Docker
A Dockerfile and .dockerignore are included at the repo root. The image uses python:3.14-slim on linux/arm64 (Apple Silicon) and linux/amd64.
# Build
docker build -t conductor-engine:latest .
# Run
docker run -p 8080:8080 conductor-engine:latest
# API docs: http://localhost:8080/docs
# Pass a custom store path or capabilities config
docker run -p 8080:8080 \
-v "$PWD/.conductor:/data" \
conductor-engine:latest \
cond serve --host 0.0.0.0 --port 8080 --store /data/tasks.json
Architecture At A Glance
sequenceDiagram
actor User
participant CLI as cond workflow run
participant ORCH as WorkflowOrchestrator
participant PLAN as Planner
participant WORK as Worker
participant SUP as TaskSupervisor
participant CAP as Capability
participant STORE as TaskStore
User->>CLI: workflow.yaml
CLI->>ORCH: run(WorkflowGoal)
ORCH->>PLAN: plan(goal, PlannerContext)
PLAN-->>ORCH: PlanResponse(steps)
loop for each PlanStep
ORCH->>WORK: work(step_name, WorkerContext)
WORK-->>ORCH: WorkerResponse(TaskSubmission)
ORCH->>SUP: run_submission(submission)
SUP->>CAP: validate_input -> execute
CAP-->>SUP: CapabilityResult
SUP->>STORE: save(TaskRecord)
SUP-->>ORCH: TaskRecord
end
ORCH-->>CLI: WorkflowResult
What You Get
- Generic task contracts and a supervisor runtime that stays small and composable.
- Built-in
echo,filesystem,http, and optionalmemorycapabilities. - A workflow layer with planner, worker, and validator interfaces over the same supervisor path.
- Local JSON task storage and an in-memory queue for straightforward local operation.
- A
condCLI with task execution, workflow execution, capability discovery, dynamic help, and native manpage support. - A full FastAPI control-plane HTTP API (
engine/api/) with SSE event streaming, versioned read models, control actions, and multi-engine cluster routing. - A
Dockerfilefor containerised deployment onarm64andamd64.
Docs And Examples
- Examples for runnable tasks and workflows.
- Phase 3 examples: workflow-parallel.yaml shows parallel fan-out with a barrier step, and capability-execution-controls.yaml shows per-capability execution controls for
cond --config. - Roadmap for phase planning and backlog tracking.
- Architecture diagrams for the full system view.
- CLI reference for command-focused documentation.
- PyPI project page for published releases.
Built With Conductor Engine
home-ai-control-plane is the motivating downstream system: a policy-governed, multi-agent AI control plane running on a Raspberry Pi 5 for personal digital workflows, home-lab services, and smart-home integrations.
See the use case write-up for how the engine maps to that system.
Development Notes
- Python support now targets
3.14+. - The repo convention is a single root virtualenv:
python3.14 -m venv .venv. - Coverage and license badges can be added once coverage reporting and license metadata are published in-repo.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file conductor_engine-0.13.0.tar.gz.
File metadata
- Download URL: conductor_engine-0.13.0.tar.gz
- Upload date:
- Size: 71.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e690fc6b1759e1733f1e15b0894cc32ef2eec4e4f4dca32b93ab9a18907a9ad8
|
|
| MD5 |
c3c8ddb634de0e31b2d9a1cf6140bdae
|
|
| BLAKE2b-256 |
00f3a1b7e7a80c8831632a71818cb1135f810309032a55d3415ecbcc29f4259f
|
Provenance
The following attestation bundles were made for conductor_engine-0.13.0.tar.gz:
Publisher:
release.yml on DanSega1/Conductor-Engine
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
conductor_engine-0.13.0.tar.gz -
Subject digest:
e690fc6b1759e1733f1e15b0894cc32ef2eec4e4f4dca32b93ab9a18907a9ad8 - Sigstore transparency entry: 1766997361
- Sigstore integration time:
-
Permalink:
DanSega1/Conductor-Engine@67c0bfa6b72de560cf864c6cde7fdbf189d776cd -
Branch / Tag:
refs/heads/main - Owner: https://github.com/DanSega1
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@67c0bfa6b72de560cf864c6cde7fdbf189d776cd -
Trigger Event:
workflow_run
-
Statement type:
File details
Details for the file conductor_engine-0.13.0-py3-none-any.whl.
File metadata
- Download URL: conductor_engine-0.13.0-py3-none-any.whl
- Upload date:
- Size: 90.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d466f50765e8fc424daa5dcec358786f5544816ad42248a6ad3669989ae45057
|
|
| MD5 |
9ec7dd3c9c4ff40972f4855e301b009c
|
|
| BLAKE2b-256 |
c84dcd757ad592ef6869b22368890a89bc1acadaff917e11425203f68d4d3c58
|
Provenance
The following attestation bundles were made for conductor_engine-0.13.0-py3-none-any.whl:
Publisher:
release.yml on DanSega1/Conductor-Engine
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
conductor_engine-0.13.0-py3-none-any.whl -
Subject digest:
d466f50765e8fc424daa5dcec358786f5544816ad42248a6ad3669989ae45057 - Sigstore transparency entry: 1766997744
- Sigstore integration time:
-
Permalink:
DanSega1/Conductor-Engine@67c0bfa6b72de560cf864c6cde7fdbf189d776cd -
Branch / Tag:
refs/heads/main - Owner: https://github.com/DanSega1
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@67c0bfa6b72de560cf864c6cde7fdbf189d776cd -
Trigger Event:
workflow_run
-
Statement type: