Dynamic mission planning
The planner calls a real model to decompose a goal into a dependency-aware task graph — 3 to 12 tasks, cycle-checked, validated with Zod before anything is persisted. No hard-coded task lists.
One goal. A governed swarm. Verified work. AgentSwarm plans a mission, routes it across specialist agents, blocks consequential actions on human approval, and backs every step with a real, replayable event ledger.
Planning is separated from execution, and execution from verification — the backend, never the browser, owns what actually happened.
Every item below is implemented and has been exercised end to end — including deliberately breaking it (killing Redis mid-mission, crashing the worker) to confirm it recovers correctly.
The planner calls a real model to decompose a goal into a dependency-aware task graph — 3 to 12 tasks, cycle-checked, validated with Zod before anything is persisted. No hard-coded task lists.
Planner, researcher, architect, backend, frontend, QA, security, and DevOps — each task is assigned to the specialist whose role matches the work.
A provider-neutral adapter talks to any OpenAI-compatible endpoint (shipped with Qwen). Unconfigured providers block missions honestly as BLOCKED — never simulated as running.
Tasks can declare requiresApproval and a risk level. The task genuinely stops in WAITING_APPROVAL until an operator with OPERATOR-level role or above decides — approve resumes, reject fails the mission.
Every state change is a persisted, sequenced event. Server-Sent Events stream them live via Postgres LISTEN/NOTIFY, with durable backlog replay on reconnect — not a client-side timer pretending to be progress.
Postgres row-level locking (FOR UPDATE SKIP LOCKED) is the sole authority on task claims. Redis/BullMQ adds a low-latency wake-up signal on top, with a Postgres-only fallback poll — verified to survive a real Redis outage and a worker crash mid-backlog.
Real auth (bcrypt + DB-backed sessions) and org/project tenancy with role-based access ship alongside all of this — cross-organization access returns a genuine 404, not just a hidden UI element.
AgentSwarm's own runtime uses explicit states — LIVE, CONFIGURED, UNAVAILABLE, UNKNOWN — instead of guessing. This page follows the same rule.
Every succeeded task writes a real artifact. Missions currently complete when every task's artifact exists — deeper verification (build, test, security scan) is on the roadmap above.
AgentSwarm is a control plane for AI workforces: you describe a goal, a backend-authoritative planner decomposes it into a dependency-aware task graph, specialist agents execute tasks against a real model provider, consequential actions require human approval, and every state change is a persisted, replayable event.
It's real. There is no client-side timer or random-number engine driving progress. Postgres holds authoritative mission/task state, a worker leases and executes tasks with FOR UPDATE SKIP LOCKED, and the browser only ever renders what the backend actually persisted — verified by deliberately creating missions during a real Redis outage and a killed worker process, and confirming no lost or duplicated work.
The mission is persisted and then honestly moves to BLOCKED with provider status UNAVAILABLE. It is never simulated as running or completed.
A task can declare requiresApproval and a risk level. When the worker reaches it, the task genuinely stops in WAITING_APPROVAL and a persisted approval record is created. Deciding requires OPERATOR role or above in that mission's organization — approving resumes the exact task, rejecting fails the mission. There's no optimistic client-side approval.
Yes. Every mission belongs to exactly one organization and project, assigned server-side from a verified membership check. A user outside that organization gets a genuine 404 on the mission — not a hidden UI element with the data still reachable underneath.
MCP tool registry, sandboxed task workspaces, persistent memory and skills, a scheduler, a real cost engine, and richer verification gates (build/typecheck/security). These are on the public roadmap above, not claimed as live.