Skip to main content

Conductor Engine

CI PyPI Python versions

Conductor Engine banner

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-tui already 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 ✅ Complete Cross-project failure learning, role-scoped knowledge sharing, peer suggestions before execution, and structured failure knowledge base.
Phase 7: Remote Deployment and Protected Operation ✅ Complete API key auth, default-deny policy, bounded queue, TLS, systemd unit, hardened Docker, remote runner capability reporting.

Next: Phase 8 — TBD.

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 optional memory capabilities.
  • 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 cond CLI 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 Dockerfile for containerised deployment on arm64 and amd64.

Docs And Examples

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

conductor_engine-0.14.0.tar.gz (88.8 kB view details)

Uploaded Source

Built Distribution

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

conductor_engine-0.14.0-py3-none-any.whl (112.4 kB view details)

Uploaded Python 3

File details

Details for the file conductor_engine-0.14.0.tar.gz.

File metadata

  • Download URL: conductor_engine-0.14.0.tar.gz
  • Upload date:
  • Size: 88.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for conductor_engine-0.14.0.tar.gz
Algorithm Hash digest
SHA256 975a436dca148c8390aa8f13c68cc7b0d4d9acff452d26177a8c962d0a2f109e
MD5 d6aa9a66950b58213ab7e12c27ebe704
BLAKE2b-256 20eacf2d3d51ef97e3eefa4041e7568dd30149a37b7d28a730a89a25a2aac71a

See more details on using hashes here.

Provenance

The following attestation bundles were made for conductor_engine-0.14.0.tar.gz:

Publisher: release.yml on DanSega1/Conductor-Engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file conductor_engine-0.14.0-py3-none-any.whl.

File metadata

File hashes

Hashes for conductor_engine-0.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3880c777739a3ae3b534fdc91109d9bb0a5e9a38dd3f06494111caa4b69d4184
MD5 357474dc55c1d1f0eb3c20142ac2aa78
BLAKE2b-256 645d50a656638fe01f6e3b6963fd35f64ec90b28bd5ecf9f62b70581ee89b705

See more details on using hashes here.

Provenance

The following attestation bundles were made for conductor_engine-0.14.0-py3-none-any.whl:

Publisher: release.yml on DanSega1/Conductor-Engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.14.0 This release

2 files

0.13.0

2 files

0.12.0

2 files

0.11.0

2 files

0.10.0

2 files

0.9.0

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 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