diff --git a/.claude/swarm-state.json b/.claude/swarm-state.json new file mode 100644 index 0000000..b7bcaae --- /dev/null +++ b/.claude/swarm-state.json @@ -0,0 +1,10 @@ +{ + "version": "1.0", + "correlation_id": "test-corr-2026", + "swarm_state": "RUNNING", + "updated_at": "2026-10-02T04:54:35Z", + "progress": { + "done": 0, + "total": 1 + } +} diff --git a/.grok/hooks/agent-swarm.json b/.grok/hooks/agent-swarm.json index f5d4455..8f41c9b 100644 --- a/.grok/hooks/agent-swarm.json +++ b/.grok/hooks/agent-swarm.json @@ -9,6 +9,16 @@ } ] } + ], + "Stop": [ + { + "hooks": [ + { + "type": "command", + "command": "python3 hooks/on_a01_complete.py" + } + ] + } ] } } diff --git a/AGENTS.md b/AGENTS.md index 76effe2..45e3a2c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -84,19 +84,21 @@ flowchart LR - Identity: the session's `session_init.agent`, else env `SWARM_AGENT` (headless `-p` only; `omp/src/context.ts` `callingAgent`). A *swarm session* is one of the 15 slugs, or a top-level session with `SWARM_AGENT` or `SWARM_TASK_ID` set. - HOOK-01 `before_agent_start` (`omp/src/hooks.ts`): appends a `## AgentSwarm` system-prompt part pointing at `/swarm ` and `task` with `agent: "a01-orchestrator"`. Silent in subagents (any `session_init`), under `SWARM_CHILD=1` or `SWARM_AGENT`, when the part is already present, and on every non-SDLC prompt above; a classifier throw leaves the prompt untouched; it never spawns. An Ultrathink/Prompt-Uplift XML prompt (root `BUILD_PROMPT`, `FIX_PROMPT`, `RESEARCH_PROMPT`, `CHANGE_PROMPT`, `UPLIFTED_PROMPT`, `uplifted` or `ultrathink`) is classified by its unescaped `` text, else as the whole prompt (`classifiedText`), so HOOK-01 agrees with the plugin's headless kickoff; `hooks/user_prompt_submit.py` has no such extraction. - Runtime root (`before_agent_start`, `runtimeContext` in `omp/src/hooks.ts`): a session whose calling agent is one of the 15 slugs (`session_init.agent`, else `SWARM_AGENT` in `-p`) gets a `## AgentSwarm runtime` system-prompt part with `Runtime root: ` (`swarmRoot()`); the omp preambles run `python3 /scripts/