The capability showcase is the quickest way to verify that Swarm's stable feature families still work together after changes to the runtime.
It lives entirely in-package:
Sources/SwarmCapabilityShowcaseSupportSources/SwarmCapabilityShowcaseTests/SwarmCapabilityShowcaseTests
swift run SwarmCapabilityShowcase list
swift run SwarmCapabilityShowcase matrix
swift run SwarmCapabilityShowcase run <scenario-id>
swift run SwarmCapabilityShowcase smokeswift run SwarmCapabilityShowcase matrix runs these scenarios without live network dependencies:
| Scenario | What it proves |
|---|---|
agent-tools |
Agent, @Tool, FunctionTool, and tool execution work together |
streaming |
agent.stream emits lifecycle and output events |
conversation-session |
Conversation and InMemorySession preserve multi-turn state |
workflow-core |
sequential, parallel, route, repeat-until, and timeout composition work |
handoff |
a triage agent can delegate to a specialist through handoff tool routing |
memory |
explicit memory can store and retrieve deterministic context |
workspace |
AgentWorkspace, Agent.onDevice, Agent.spec, and WorkspaceWriter load and write correctly |
guardrails |
input, output, and tool guardrails can pass and trip deterministically |
resilience |
retry, fallback, rate limiting, and circuit breaker helpers behave correctly |
durable |
durable workflow checkpoint and resume works with in-memory checkpointing |
observability |
a custom tracer receives agent trace events |
mcp |
MCP tool discovery and MCP tool bridging both execute locally |
providers |
global provider config, per-agent override, and MultiProvider routing work |
Each scenario writes evidence into a temporary artifact directory under the system temp folder, rooted at swarm-capability-showcase/.
Smoke mode is for live integrations that should not gate CI.
Current smoke scenario:
| Scenario | Environment |
|---|---|
live-provider-smoke |
SWARM_SHOWCASE_OLLAMA_MODEL |
Example:
SWARM_SHOWCASE_OLLAMA_MODEL=llama3.2 swift run SwarmCapabilityShowcase smokeIf the required environment variable is missing, the smoke scenario reports skipped instead of failing.
Focused verification:
swift test --filter CapabilityShowcaseTestsThat target checks:
- every required capability family is represented in the registry
- the deterministic matrix passes
- CLI summary formatting stays aligned with the registered scenarios