SwarmKit runtime: topology interpreter, LangGraph compiler, AGT-backed governance, CLI and HTTP server for multi-agent orchestration.
SwarmKit exposes 8 tools across multiple example servers. Core authoring tools (validate_workspace, write_files, read_workspace) have reasonable descriptions (50-150 chars) and basic schemas with required fields. However, 5 of 8 tools lack parameter descriptions entirely (greet, search_docs, search_text, search_text_by_file, get_full_chunk), violating the critical rule that every parameter needs a description. Schemas are present but sparse, most parameters have only type and description, no constraints (enums, min/max, patterns). Output schemas are not documented. Error handling is absent from all tool descriptions. Tool naming is acceptable (verb_noun pattern) but composition is weak: search_docs and search_text are near-duplicates, and search_text_by_file adds a third variant without clear differentiation. No tool declares idempotency, permissions, or recovery guidance.
Retrieve the full text of a specific chunk by ID (from search results).
Return a greeting addressed to ``audience``.
Read the current state of a workspace directory. Returns the workspace.yaml content and lists of existing topologies, archetypes, and skills.
Semantic search over documentation. Finds conceptually related content. Optional source_filter restricts results to documents whose source path contains the given substring (e.g. "product-docs", "javadoc", "api"). This reduces cross-domain contamination when searching large corpora.
Full-text search over documentation. Fast exact keyword matching with ranking. Results include chunk_id — use get_full_chunk(chunk_id) to read the complete text of any result.
Search within files matching a pattern (e.g. 'order' for order-related files). Results include chunk_id — use get_full_chunk(chunk_id) to read the complete text of any result.
5 of 8 tools have parameters with no descriptions (greet.audience, search_docs.n_results/source_filter, search_text.limit, search_text_by_file.limit, get_full_chunk.chunk_id). LLMs cannot infer parameter meaning from names alone.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields without knowing return structure.
Three near-duplicate search tools (search_docs, search_text, search_text_by_file) without clear differentiation. LLMs will waste reasoning cycles deciding between them.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Validate a workspace directory. Returns 'valid' or a list of errors with suggestions. Call this after generating YAML to check correctness before asking the user to approve.
Write YAML files to disk. Only call after the user explicitly approves. Each entry is a relative path and its YAML content.
No error handling guidance in any tool description. No recovery hints, retryability classification, or actionable error messages documented.
No parameter constraints (enums, min/max, patterns) declared. E.g., search_docs.n_results and search_text.limit lack bounds; source_filter lacks format guidance.