Dispatcher for running and observing parallel Claude Code sessions.
Pitboss defines 22 tools with complete input schemas and descriptions. Naming follows verb_noun convention (spawn_worker, list_workers, cancel_worker). Descriptions are present but brief (avg ~60 chars), lacking context on WHEN to use each tool or recovery guidance. Parameters are typed and mostly described, but lack constraints (enums, ranges, format specs). Output schemas are not documented in the source. Error handling is minimal, no recovery guidance or actionable error messages visible. Security concerns: tools like spawn_worker and kv_set accept arbitrary inputs without validation hints. Composition is reasonable (single responsibility per tool), but some tools (pause_worker with mode enum) show good constraint design while others (kv_set with base64 value) lack format guidance.
Analyze the most recent run.
Analyze a completed run by run directory or prefix.
Cancel a running worker.
Resume a paused worker with optional prompt.
Compare-and-swap operation on a key-value store entry.
Get a value from the shared key-value store.
List keys in the shared store matching a glob pattern.
Set a value in the shared key-value store.
Wait for a key to be set or updated in the shared store.
Output schemas not documented. Tools return results but LLMs cannot plan downstream calls without knowing response structure (e.g., does list_workers return task_ids, statuses, timestamps?).
Descriptions are too brief (avg 55 chars, baseline 194 chars). Missing context on WHEN to use each tool, prerequisites, and recovery guidance. E.g., 'Get detailed status of a specific worker' lacks guidance on what status fields mean or when to call it vs list_workers.
No input validation hints or constraints. Parameters like 'timeout_secs' lack min/max bounds. 'glob' in kv_list lacks format guidance. 'value' in kv_set is base64-encoded but no validation hint on what happens if invalid base64 is passed.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
Acquire a distributed lease with optional wait.
Release a held distributed lease.
List all workers in the current run.
Pause a running worker with optional mode (Cancel or Freeze).
Runtime gate that denies a routed mcp__<server>__<tool> call against the server's allowlist.
Propose a structured plan for lead approval.
Send a new prompt to a worker via --resume.
Request approval from the lead for an action.
Spawn a new worker with optional prompt, directory, branch, tools, timeout, model, and worker_type profile.
Wait for an actor (lead or worker) to complete with optional timeout.
Wait for any of multiple workers to complete with optional timeout.
Wait for a worker to complete with optional timeout.
Get detailed status of a specific worker.
No error handling guidance. Tools lack recovery hints (e.g., 'If worker not found, call list_workers() first'). No categorization of errors as retryable vs fatal. LLMs cannot self-correct on failures.
Destructive operations (cancel_worker, kv_set with override_flag=true, lease_release) lack confirmation or dry-run patterns. Agents can irreversibly delete state without safeguards.