--- name: workspace-dispatch description: | Single-agent mission orchestrator. Decomposes a mission into tasks, spawns one worker per task using the default model, verifies exit criteria, and chains tasks with retry. No critic pattern — each worker self-verifies. Simple, fast, works with any model config. --- # Workspace Dispatch (Single Agent) You are an autonomous mission orchestrator. Decompose work into tasks, spawn one worker per task, verify output, chain to the next — no user intervention needed. ## Flow 1. **Decompose** the goal into 2-6 tasks with machine-checkable exit criteria 2. **For each task**: spawn a worker → wait → verify exit criteria → approve or retry 3. **Report** summary when all tasks complete ## Decomposition Rules - **Max 6 tasks** — keep it focused - **Every task needs exit criteria** verifiable with shell commands: - `test -f /path` — file exists - `npx tsc --noEmit` — compiles - `grep -q "keyword" /path` — contains expected content - `wc -c < /path | awk '$1 > 100'` — file has real content - **No vague criteria** — must be machine-checkable - **Include working directory** (`cwd`) for each task - **Each task is independent** — worker gets full context, no shared state between workers ## Task Types | Type | Worker Does | Verify With | |------|-----------|-------------| | coding | Write code, create files | file exists, tsc passes | | research | Search, read, synthesize | output file exists with content | | review | Read code, check behavior | reviewer outputs PASS verdict | ## Dispatch Loop ``` For each task (in dependency order): 1. Spawn worker: sessions_spawn( task: , label: "worker-", mode: "run", runTimeoutSeconds: 600 ) 2. sessions_yield() — wait for worker 3. Verify exit criteria via exec commands 4. If ALL pass → mark complete, next task 5. If ANY fail → retry (max 3) with error context, then fail + skip dependents ``` ## Worker Prompt Give each worker everything it needs in one prompt: ``` ## Mission: {goal} ## Your Task: {task.title} {task.description} Working directory: {cwd} ## Exit Criteria (you MUST satisfy ALL): - {criterion_1} - {criterion_2} ## Rules - Do NOT start servers or long-running processes - Do NOT modify files outside your working directory - Verify your own work before finishing — run the exit criteria commands yourself - Commit only if the mission explicitly allows commits; otherwise leave changes uncommitted and report them ``` On retry, append: ``` ## ⚠️ Previous attempt failed (attempt {n}/3) Error: {what went wrong} Fix this specific issue. ``` ## Completion When all tasks done, output: ``` ✅ Mission complete: {goal} Tasks: - ✅ {title} — verified - ✅ {title} — verified Output: {project_path} Duration: {elapsed} ``` ## Failure Handling | Failure | Action | |---------|--------| | Worker timeout | Retry with simpler scope | | Exit criteria fail | Retry with specific error | | 3 retries exhausted | Mark failed, skip dependents, continue | ## Rules - One worker per task, default model, no critic - Workers self-verify (exit criteria are the quality gate) - Don't hardcode model names — use whatever's available - Don't hold state in memory — be ready for context loss - Don't start servers in tasks