Skip to main content

A living task graph for agent orchestration on Google Cloud. Reference implementation.

Project description

Swarmplane

A living task graph for agent orchestration on Google Cloud.

An agent run leaves behind two artefacts: whatever state the runtime checkpointed, and whatever trace it emitted alongside. Reconstructing why a run reached its conclusion means reconciling them against each other.

Plan-and-execute designs assert the whole future up front, then flail when step three returns something they didn't anticipate. ReAct loops adapt beautifully but leave behind a transcript — not something you can inspect, diff, or hand to an auditor.

Swarmplane grows the graph from outcomes. Expansion is append-only: a retry is a new node whose parent is the failure, never an edge back to a completed one. The graph stays acyclic, and the complete causal history is preserved by construction.

Two properties follow:

The execution graph is meant to be the audit log. Every node is a span. Every edge is a causal claim. There is no separate trace to reconcile against state — a commitment the implementation has to earn, not a property that falls out of acyclicity.

Every seam is an open protocol. MCP for tools, A2A for agents, A2UI for interface. Nothing proprietary between layers — including Swarmplane itself, which you can remove and keep your agents.

Three opinions

  1. The graph is primary, not the agent. Agents are node executors.
  2. Every boundary is an open protocol. No proprietary abstraction at any seam.
  3. GCP-native, not cloud-agnostic. Portability is not a goal.

Swarmplane is not unopinionated. It is transparent: every decision is visible, inspectable, and replaceable.

"Swarm" here means fleet, not emergence. A plane coordinates workers against a shared graph.

Why the append-only graph makes serverless work

Cloud Run allows a request up to 60 minutes, but a request dispatched through Cloud Tasks is capped at 30. Frameworks that model an agent run as one long-lived process fight that ceiling. Swarmplane has no long-lived process: each expansion is one short request, the graph is durable, and a crash resumes from the frontier. A node parked on a human approval or a remote agent enters waiting — alive, but holding no worker and no open request — so a run can wait six hours without anything running for six hours.

Status

Pre-alpha. Nothing here is stable. Anything on PyPI at 0.0.x is a name reservation, not a release.

The philosophy and architecture writing is live at swarmplane.dev. Implementation has not started — src/swarmplane/ is a package skeleton.

Swarmplane is a reference implementation — a small, deliberately readable codebase meant to be read, copied, and forked. It is installable (uv add swarmplane) so that you can build on the argument, but there is no API-stability promise and there will not be one until the design is proven: the version stays 0.x, and any release may break any API (ADR-0007).

The architecture writing at swarmplane.dev is the primary artifact. The code is the evidence.

Current phase, next steps and open questions: ROADMAP.md.

Repository layout

Path Contents
docs/ All prose. This is swarmplane.dev.
src/swarmplane/ The reference implementation.
ui/ Graph visualizer and A2UI host.
examples/warehouse-agent/ The flagship demo, with a bundled synthetic dataset.
deploy/ Terraform for Cloud Run, Cloud Tasks, and the graph store.

License

Apache-2.0

Project details


Download files

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

Source Distribution

swarmplane-0.0.1.tar.gz (122.0 kB view details)

Uploaded Source

Built Distribution

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

swarmplane-0.0.1-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file swarmplane-0.0.1.tar.gz.

File metadata

  • Download URL: swarmplane-0.0.1.tar.gz
  • Upload date:
  • Size: 122.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.12

File hashes

Hashes for swarmplane-0.0.1.tar.gz
Algorithm Hash digest
SHA256 b9dea1b1b608c9f83eae8fd742e143346f92e7936030f7eedd6028aa5f01e402
MD5 e63b2003c1f295f7b50c0f9ab6b23acb
BLAKE2b-256 c04e3b992c4d084cd0b35e54023afa464d7ad0e03d1b6cf93be62d1a440894ac

See more details on using hashes here.

File details

Details for the file swarmplane-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: swarmplane-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.12

File hashes

Hashes for swarmplane-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a0b4fce052857ddbe5b62b54a810823aef1551b27bdae1654c9d9c50964e52b8
MD5 6b19326ac7bee36d1712a0511066a5f1
BLAKE2b-256 959deda59ee5c563823ec8ca2bb8524d9cca9f02c582b51e7b97e11a6d05d390

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page