docs: spearhead-4half-and-5 specs + plans + kickoff prompts + AGENTS.md auto-spawn update (#20)
Some checks failed
CI / clippy (push) Has been cancelled
CI / test (1.85) (push) Has been cancelled
CI / test (stable) (push) Has been cancelled
CI / deny (push) Has been cancelled
CI / fmt (push) Has started running

Co-authored-by: Aaron D. Lee <himself@adlee.work>
Co-committed-by: Aaron D. Lee <himself@adlee.work>
This commit was merged in pull request #20.
This commit is contained in:
2026-07-05 16:01:55 +00:00
committed by A.D.Lee
parent f8a8a2c21f
commit c31e8a5069
10 changed files with 6073 additions and 6 deletions

View File

@@ -275,6 +275,8 @@ and "why isn't X here?" questions. Consult it before adding anything.
## Multi-agent coordination — the relay (cross-model)
> **Default for routine task splitting:** prefer subagent dispatch via `task(subagent_type=..., load_skills=[...], run_in_background=...)` from the main Sisyphus session — it natively isolates worker context and saves tokens without any message-bus setup. This section applies only to the long-haul multi-dev *persistent-session* paradigm where each dev needs its own visible streaming terminal.
When more than one agent session works this repo in parallel (the PM / senior-dev "lift"
paradigm), they coordinate through a small MCP message-bus — the **relay** at
[`~/Sources/relay`](file:///home/alee/Sources/relay). One server, many terminals: each
@@ -480,16 +482,28 @@ This live-tails both `inbox.log` (dev → pm messages) and `poller.log` (poll cy
markers + nudges), so you see dev activity in real time without depending on the PM
agent surfacing it. You see what the PM sees.
**4. Bring up the PM/dev sessions (manual / tmux / kitty):**
**4. Launch the PM session (single terminal the PM auto-spawns the devs):**
```bash
~/Sources/relay/start.sh --repo ~/Sources/rutster --port 7110 --kitty # or --tmux
~/Sources/relay/start.sh --repo ~/Sources/rutster --port 7110 --tmux
# Opens a tmux session "relay-lift" with two windows: relay (the server log)
# + pm (a fresh claude session). Attach: tmux attach -t relay-lift
```
`--kitty` / `--tmux` spawns 5 terminals (relay + pm + dev-a/b/c) with the MCP relay
pre-registered for each. The generated prompts bake in `RELAY_PORT=7110` so the shims
(`call.py`) self-configure even without the env. (For `--manual`, the relaying prompts
are printed for you to paste into separate terminals.)
The user pastes ONLY the PM kickoff prompt (from
`docs/superpowers/kickoffs/<release>-pm-prompt.md`) into the `pm` window. **The PM is
responsible for spawning the 3 dev subagents** — it dispatches each as a long-running
background `task(subagent_type="general", run_in_background=true, prompt="<dev-prompt-file-
contents>")`. The dev subagents inherit the kickoff prompt as their initial context; they
read the plan + spec + their worktree, dispatch `task(subagent_type="kimi-worker", ...)` per
plan task, and stream STATUS reports back to the PM via the relay.
(Previous flow opened 5 tmux windows + required the user to manually paste 4 prompts —
one per dev session. As of 2026-07-05 the harness supports subagent spawning for users,
which collapses the manual-paste step into a single PM auto-dispatch. If the older manual
flow is preferred, `start.sh --kitty` / `--tmux` still opens the 5-window layout and the
dev prompts at `docs/superpowers/kickoffs/<release>-dev-{a,b,c}-prompt.md` can be pasted
as before.)
### PM-mode discipline (load-bearing — this was a real failure mode)