v0.11.0 - Multi-Agent Swarms
[0.11.0] - 2026-04-06
First-class multi-agent orchestration with shared budget control, cross-agent memory, agent-to-agent communication, and enterprise security hardening.
Added
Multi-Agent Swarm System
Swarmwith 5 topologies:ORCHESTRATOR,PARALLEL,CONSENSUS,REFLECTION,WORKFLOW- Shared
BudgetPool— hard per-agent caps enforced; no agent can exceed its allocation even if pool has funds MemoryBus— selective cross-agent memory sharing with type filters and custom backendsA2ARouter— typed agent-to-agent messaging (direct, broadcast, topic pub/sub) with ack support and audit logSwarmController.topup_budget()/reallocate_budget()— runtime budget reallocation without restarting agents; backed byasyncio.LockBroadcastBus— pub/sub with wildcard topic patterns ("research.*")MonitorLoop— async supervisor loop: heartbeat polling, quality assessment, bounded interventions withMaxInterventionsExceededescalationSwarmAuthorityGuard— role-based permission model (ORCHESTRATOR > SUPERVISOR > WORKER); every control action permission-checked and audit-loggedAgentRouter— LLM-driven agent selection from a pool (replaces removedDynamicPipeline)Workflow— sequential, parallel, branch, and dynamic fan-out steps withHandoffContext; fullplay()/pause()/resume()/cancel()lifecycleSwarmResult— unified result:content,cost_breakdown,agent_results,partial_results,budget_report
Budget Intelligence
- Pre-flight estimation:
Budget.estimate()withEstimationPolicy - Budget forecasting from run history with
Hook.BUDGET_FORECAST - Anomaly detection:
Budget(anomaly_detection=True)triggersHook.BUDGET_ANOMALYon p95 breach - Cross-run daily/weekly limits with
Hook.DAILY_LIMIT_APPROACHING FileBudgetStorefor persistent cross-run history
Workflow & Swarm Visualization
Workflow.visualize()— Rich ASCII treeWorkflow.to_mermaid()— Mermaidgraph TDfor GitHub/docsWorkflow.run(show_graph=True)— live Rich overlay with per-step status and costGET /graphHTTP endpoint onSwarm.serve()andWorkflow.serve()
AgentRegistry
AgentRegistrywith@registry.register(tags=[...])— discover and control agents by name or capability tag
Security Hardening
PIIGuardrail— detect and redact PII (email, phone, SSN, credit card) in inputs, outputs, and memory writesToolOutputValidator— schema validation on tool results before the LLM sees themAgentIdentity— Ed25519 cryptographic identity; every A2A message signed and verified- Decision provenance:
DECISION_MADEhook withDecisionRecord(model, timestamp, hash) for audit trails
Remote Config Control Plane
RemoteConfig— live push of any agent field without restart; schema export for dashboard rendering- Config versioning and
rollback(), per-fieldallow/denylists,RemoteConfigValidator - Remote lifecycle commands:
PAUSE,RESUME,KILLover the wire
Multi-Agent Pry Debugger (TUI)
SwarmPryTUI— Rich Live compositor:GraphPanel(per-agent status + cost),BudgetPanel(pool tree),MessagePanel(A2A/MemoryBus timeline),SwarmNav(keyboard navigation)
Changed
rich>=13.0promoted to core dependencyrequests>=2.33.0minimum enforced (CVE-2026-25645)ExceedPolicyis now the canonical budget policy enum;on_exceeded=callback pattern deprecatedMockResponseModeenum replaces raw strings"lorem"/"custom"inModel.mock()- Class-based agent definition is now the canonical pattern in all docs and examples
Fixed
@structureddecorator now applies@dataclassinternally — no manual decoration needed_has_default()helper: fixed brokenis not type(None)comparison- Swarm context injection:
_AgentMetametaclass compatibility fixed via plainsetattrfallback @toolwithout a description now emitsUserWarningat decoration time
Removed
DynamicPipeline— removed; useAgentRouter. Importing raisesImportErrorwith migration message.AgentTeam— removed; useSwarm(topology=SwarmTopology.ORCHESTRATOR). Importing raisesImportError.