AutoWeave is the runtime and orchestration layer behind the AutoWeave product.
In this workspace, it sits under the web product as the execution engine:
Autoweave Web/owns product UI, product APIs, chat/orbit/workflow surfaces, and product data.Autoweave Library/owns workflow execution, task orchestration, approvals, human clarification pauses, artifacts, routing, context services, observability, and the lightweight local monitoring UI.
The intended boundary is package-based, not source-coupled. The web backend installs this library as a real Python package and consumes it through that installed boundary.
This repo is for the reusable runtime, not the product shell.
Use it when you need:
- workflow orchestration with durable run/task state
- manager/worker style agent execution
- queue-backed execution with Celery
- human-in-the-loop clarification and approval pauses
- artifact emission and replay/manifest handling
- local runtime bootstrapping for an AutoWeave project
- a local monitoring UI for inspecting runs, tasks, attempts, requests, and artifacts
This repo is not the place for:
- the AutoWeave Web dashboard or orbit UX
- product chat persistence and product-level permissions
- web app routing/layout code
- product-side repository/member UI
Today this library provides:
- project bootstrap and migration helpers
- a local runtime builder
- workflow execution commands for example and real user requests
- queue-backed dispatch and a real Celery worker entrypoint
- local doctor/validate/status commands
- local cleanup helpers for generated runtime state
- a lightweight monitoring UI served from the monitoring module
- public helpers for bootstrapping and migrating AutoWeave projects from Python
AutoWeave treats the workflow runtime as the canonical execution layer.
At a high level:
- A user request enters through a caller such as
autoweave run-workflowor the web product. - The runtime compiles the request into a workflow run plus task graph.
- Tasks are routed to agent roles and can run inline or through Celery-backed dispatch.
- The runtime persists workflow runs, tasks, attempts, events, human requests, approvals, and artifacts.
- If a workflow needs clarification or approval, execution pauses in the runtime until the request is answered.
- Monitoring surfaces the current snapshot of runs, tasks, requests, attempts, and artifacts.
The main package surface is:
autoweave/approvals/human approval primitives and policy-shaped approval stateartifacts/artifact production and manifest/replay supportcompiler/workflow compilation and execution planningcontext/derived execution context servicesevents/runtime event modelinggraph/graph-backed context projection helpersmemory/runtime memory handlingmonitoring/monitoring service, web app, and dashboard shellobservability/local observability plumbingorchestration/orchestration logic and runtime coordinationrouting/task/role routing behaviorstorage/canonical runtime persistence servicestemplates/packaged project templatesworkers/worker-side runtime behaviorworkflows/workflow definitions and workflow lifecycle logic
apps/cli/main.pyshipped CLI entrypointbootstrap.pyproject bootstrap/migration helpersvalidation.pyrepository validation logic
tests/- packaging, CLI, runtime, orchestration, storage, observability, monitoring, and queue coverage
The top-level package currently exports:
build_local_runtimebootstrap_projectmigrate_projectload_env_mapLocalEnvironmentSettingsAttemptStateTaskState
That is the intended public entry surface for Python callers.
The installed console script is:
autoweaveIt resolves to:
python -m apps.cli.mainAvailable commands in the current CLI include:
statusvalidatebootstrapmigrate-projectcreate-agentdoctorrun-examplerun-workflowworkeruicleanup-local-statenew-project
python -m pip install -e .[dev]autoweave validate --root .autoweave bootstrap --root .autoweave doctor --root .autoweave ui --root . --host 127.0.0.1 --port 8765autoweave run-example --root . --dispatchautoweave run-workflow --root . --request "Review the backend contract and propose the next steps"autoweave run-workflow --root . --request "Ship the task board cleanup" --dispatch --queue
autoweave worker --root .autoweave cleanup-local-state --root .This repo ships packaged templates for AutoWeave projects.
That means:
- the sample project is not meant to live as committed mutable root state in this library repo
- instead, template-managed files are generated into a target project explicitly
bootstrapcreates missing project fixturesmigrate-projectrefreshes template-managed files to newer packaged defaultsnew-projectcreates a new AutoWeave-ready project skeleton with.env.local, docs, and git init
The monitoring UI belongs to the library and is intentionally lightweight.
It lives under:
autoweave.monitoring
The CLI serves it through:
autoweave ui --root .The monitoring layer is for runtime introspection, not for the full collaborative product shell. It helps you inspect:
- workflow runs
- tasks
- attempts
- events
- human requests
- approval requests
- artifacts
- snapshot/health state
AutoWeave supports inline local execution and queue-backed execution.
Queue-backed flow currently uses Celery:
autoweave run-workflow --queueenqueues a workflowautoweave worker --root .runs the worker- queue and result wiring are configured through the local runtime environment
This is the current durable execution backbone used by the broader product integration.
The runtime expects a project root with an AutoWeave-style config and env layout.
Common settings in local development include:
- Vertex AI project and credentials
- Postgres URL
- Redis URL
- Neo4j URL and credentials
- artifact store URL
- OpenHands agent server base URL
- backend selections such as canonical store / graph backend
The easiest way to get the expected shape is:
autoweave new-project /path/to/project
autoweave bootstrap --root /path/to/projectBuild a wheel locally with:
python -m pip wheel --no-build-isolation --wheel-dir dist .Build a source distribution with:
python -m build --sdistThe packaging boundary matters because downstream consumers, including AutoWeave Web, should use the installed package rather than direct source-tree coupling.
The repo currently includes tests for:
- CLI behavior
- project bootstrap and migration
- packaging/public package surface
- orchestration and runtime behavior
- storage durability and service wiring
- monitoring snapshots
- local observability
- Celery queue integration
- template correctness
Run the suite with:
./.venv/bin/python -m pytest tests -qIf you are new to this repo, the shortest correct mental model is:
- this is the runtime engine
- it compiles and runs workflows
- it owns canonical execution state
- it can pause for approvals and clarifications
- it emits artifacts and observability data
- it can run inline or through Celery
- it ships a lightweight monitoring UI
- the web product sits above it and should consume it through the installed package boundary