@@ -21,7 +21,7 @@ built around:
2121- ** Guardrails / Resilience / Observability** — first-class concerns, not
2222 bolt-ons.
2323- ** Providers** — Foundation Models, Anthropic, OpenAI, Ollama, Gemini,
24- OpenRouter, MLX, all routed through [ Conduit] ( https://github.com/christopherkarani/Conduit ) .
24+ MiniMax, OpenRouter, MLX, all routed through [ Conduit] ( https://github.com/christopherkarani/Conduit ) .
2525- ** MCP** — Model Context Protocol client and server support.
2626
2727The package uses Swift 6.2 with ` StrictConcurrency ` enabled across all targets.
@@ -101,7 +101,7 @@ fail-closed contract.
101101
102102### Demo / benchmark executables
103103
104- The ` SwarmDemo ` , ` ContextBenchmark ` , and ` SwarmMCPServerDemo ` executables are
104+ The ` SwarmDemo ` and ` SwarmMCPServerDemo ` executables are
105105** opt-in** — they only build when ` SWARM_INCLUDE_DEMO=1 ` is set:
106106
107107``` bash
@@ -126,9 +126,10 @@ smoke-mode environment variables.
126126
127127### Lint / format
128128
129- CI runs ` swiftlint lint --strict ` and ` swiftformat --lint . ` on macOS. The
130- config files (` .swiftlint.yml ` , ` .swiftformat ` ) are intentionally
131- ** git-ignored** — contributors keep them locally. If you change Swift files,
129+ CI runs SwiftLint and SwiftFormat on macOS using the tracked root configs:
130+ ` .swiftlint.yml ` and ` .swiftformat ` . Both commands are scoped to
131+ ` Sources ` and ` Tests ` so ignored worktrees, dependency checkouts, generated
132+ docs, and Node artifacts do not affect results. If you change Swift files,
132133match the surrounding style and assume both linters will run in CI.
133134
134135To format using the SwiftFormat package plugin (per README):
@@ -186,8 +187,11 @@ swift package plugin --allow-writing-to-package-directory swiftformat
186187
187188### Memory & Workspace
188189
189- - ` MemoryOption ` is the user-facing entry point: ` .conversation(limit:) ` ,
190- ` .slidingWindow(count:) ` , ` .summary(summarizer:) ` , ` .vector(embeddingProvider:) ` .
190+ - ` Memory ` factory methods are the user-facing entry point:
191+ ` .conversation(maxMessages:) ` , ` .slidingWindow(maxTokens:) ` ,
192+ ` .summary(configuration:summarizer:) ` , ` .hybrid(configuration:summarizer:) ` ,
193+ ` .persistent(backend:conversationId:maxMessages:) ` , and
194+ ` .vector(embeddingProvider:similarityThreshold:maxResults:) ` .
191195- ` AgentWorkspace ` (in ` Sources/Swarm/Workspace/ ` ) is the on-device workspace
192196 layout backed by ` AGENTS.md ` + ` .swarm/agents/<id>.md ` + ` .swarm/skills/ ` +
193197 ` .swarm/memory/ ` . ** Do not confuse the runtime ` AGENTS.md ` (workspace
@@ -244,8 +248,8 @@ otherwise want to create or check in. **Do not work around these.**
244248
245249- ` .claude/ ` , ` .mcp.json ` , ` .agent_context.md ` , ` AGENTS.md ` — local AI tooling
246250 config.
247- - ` .swiftformat ` , ` .swiftlint.yml ` , ` . swift-version` — contributors keep these
248- locally; CI uses pinned tool versions .
251+ - ` .swift-version ` — contributors keep this locally; CI selects Swift through
252+ the workflow environment .
249253- ` Package.resolved ` — library, not application.
250254- ` docs/plans/ ` , ` docs/prompts/ ` , ` docs/work-packages/ ` , ` docs/validation/ ` ,
251255 ` tasks/ ` , ` scripts/ ` , ` IMPLEMENTATION_PLAN.md ` ,
@@ -258,7 +262,7 @@ un-ignored so this guidance can live in-repo.
258262
259263## Public API Stability
260264
261- The framework is at ` 0.5.0 ` (` Sources/Swarm/Swarm.swift ` ) and treats its public
265+ The framework is at ` 0.5.1 ` (` Sources/Swarm/Swarm.swift ` ) and treats its public
262266surface as semi-stable. The audit documents in ` docs/reference/ ` (especially
263267` api-catalog.md ` , ` front-facing-api.md ` , and ` docc-audit-report.md ` ) define the
264268sanctioned surface. Prefer:
0 commit comments