chore(meta): retire obsolete team-test.md and update references
The tmux teammate-mode investigation is resolved (works on 2.1.148; the 'broken regression' was a teammateMode: in-process config issue). Per the file's own cleanup note, delete it now that the test passes. Update the two references: - decisions/questions-process.md: replace the stale 'partially broken' pointer with the resolved status. - whats-next/SKILL.md: the 'custom subagent_types lose SendMessage' caveat is fixed (all agents now carry SendMessage + Task tools), so reword and drop the dead team-test.md link. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -93,7 +93,9 @@ Wait for user confirmation before proceeding to Step 2.
|
||||
|
||||
Spawn one Si agent per ticket in the confirmed batch, running in parallel.
|
||||
Use `general-purpose` subagent_type with Si's personality baked into the
|
||||
prompt (custom subagent_types lose SendMessage — see team-test.md).
|
||||
prompt. (The `si` subagent_type now works directly too — all agent
|
||||
definitions carry the team coordination tools, SendMessage + Task, as of the
|
||||
agent-teams tooling fix; they load at lead startup.)
|
||||
|
||||
For each ticket, spawn:
|
||||
|
||||
|
||||
@@ -175,7 +175,7 @@ The findings file separates the agent's reasoning from its authority. Binary gat
|
||||
|
||||
**Related:**
|
||||
- `feedback_broken_tests_not_preexisting_shield.md` — pattern sprints may enable
|
||||
- `team-test.md` — Claude Code harness test results (tmux teams partially broken v2.1.123)
|
||||
- tmux teammate mode: confirmed working on Claude Code 2.1.148 (the earlier "broken" status was a `teammateMode: in-process` config issue, not a regression)
|
||||
- Epic #854 — pipeline discipline automation
|
||||
- D-166 — cascade phases
|
||||
|
||||
|
||||
@@ -1,88 +0,0 @@
|
||||
# Team Tmux Pane Test
|
||||
|
||||
## Problem
|
||||
|
||||
`teammateMode: "tmux"` is broken in Claude Code v2.1.117-119. Agents spawn as
|
||||
invisible background processes instead of getting their own tmux panes. This is
|
||||
a regression — tmux panes worked correctly on this machine through Sprint 35
|
||||
(see `~/.claude/teams/sprint-35-*/config.json` for proof: `backendType: "tmux"`
|
||||
with real pane IDs).
|
||||
|
||||
## Relevant GitHub issues
|
||||
|
||||
- https://github.com/anthropics/claude-code/issues/51818 — teammate CLI crash on permission_response
|
||||
- https://github.com/anthropics/claude-code/issues/52337 — subagent Ink rendering crash on Edit/Write
|
||||
|
||||
## Config (already set, do not change)
|
||||
|
||||
- `.claude/settings.json` has `"teammateMode": "tmux"` and `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`
|
||||
- tmux is running, `$TMUX` is set, `TERM=tmux-256color`
|
||||
|
||||
## Version gate
|
||||
|
||||
**Always start by looking up the release notes** for any versions between the last
|
||||
tested version and the current one. Check the GitHub releases page at
|
||||
`https://github.com/anthropics/claude-code/releases` for fixes related to teams,
|
||||
tmux, teammates, or the tracked issues below. If the release notes show no relevant
|
||||
fixes, log the version as SKIPPED (no relevant fixes) and stop — do not run the
|
||||
test procedure.
|
||||
|
||||
**Check `claude --version` first.** If the version appears in the "Tested versions"
|
||||
log below, the bug was already confirmed broken on that release — do not re-test.
|
||||
Only run the test procedure on a version not yet logged.
|
||||
|
||||
### Tested versions
|
||||
|
||||
| Version | Date | Result |
|
||||
|---------|------|--------|
|
||||
| 2.1.119 | 2026-04-25 | BROKEN — no tmux pane, no team config on disk |
|
||||
| 2.1.120–122 | 2026-04-30 | SKIPPED — release notes show no teams/tmux/teammate fixes; #51818 and #52337 still open (dupes of #51855, unreleased) |
|
||||
| 2.1.123 | 2026-04-30 | PARTIAL — tmux pane spawns, config on disk correct (backendType: tmux, paneId: %23). Custom subagent_type ("qatux") missing SendMessage — can receive but not send. General-purpose subagent_type has SendMessage — two-way comms work. BOTH types fail to process shutdown_request. TeamDelete reports success but does NOT kill the tmux pane — agent process keeps running, requires manual ctrl-c + exit. |
|
||||
| 2.1.123 (workshop) | 2026-04-30 | UPDATE — full workshop run with 4 general-purpose agents. Two-way comms confirmed for all. shutdown_request processed successfully by all 4 agents (contradicts earlier single-agent test). TeamDelete cleaned up correctly. Workaround: use general-purpose subagent_type with personality baked into prompt instead of custom subagent_type. |
|
||||
| 2.1.124–2.1.147 | 2026-05-22 | NOT SEPARATELY TESTED — relevant fixes in range: 2.1.133 (subagent SendMessage cwd restore + skill discovery), 2.1.139 (agent view research preview — unified session list), 2.1.144 (background subagent completion notifications), 2.1.145 (Agent Teams non-ASCII name header fix). Cluster of background-session fixes 2.1.140–2.1.143 signals a shift to an in-process/daemon background-agent model. Tested cumulatively at 2.1.148. |
|
||||
| 2.1.148 | 2026-05-22 | NOT A BUG — root cause found. Agent spawned `backendType: "in-process"` because `.claude/settings.json` actually contains `"teammateMode": "in-process"`, NOT `"tmux"` as the "Config" section of this file wrongly claimed. The in-process backend behaved exactly as configured. All split-pane prerequisites ARE met: tmux 3.6a in PATH, running inside tmux (CC in pane %5, `$TMUX` set), `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`. Per official docs (code.claude.com/docs/en/agent-teams), `teammateMode` values are `auto` (panes if inside tmux, else in-process) / `tmux` (force panes) / `in-process` (force main terminal). Setting it to `"tmux"` or `"auto"` should produce split panes. Functional results in-process mode: two-way comms WORK with custom subagent_type "qatux" (it sent its message — improvement over 2.1.123 single-agent), shutdown_request processed cleanly, TeamDelete cleaned up correctly. **The "broken regression" premise of this file was a stale/incorrect config claim, not a Claude Code defect.** |
|
||||
| 2.1.148 (auto re-test) | 2026-05-22 | INCONCLUSIVE (needs restart) — flipped `.claude/settings.json` to `"teammateMode": "auto"` mid-session and re-spawned. Agent STILL spawned in-process (pane count unchanged %0–%6, qatux `backendType=in-process`, lead `backendType` empty). Cause: `teammateMode` is read at session startup and cached — a live edit is not picked up by the running session. The new `"auto"` value is on disk. **Next step: restart Claude Code, then re-run the spawn test. With `auto` + inside tmux (CC was in pane %5) + tmux 3.6a in PATH, teammates should spawn in split panes.** If auto still fails post-restart, set `"tmux"` explicitly. |
|
||||
| 2.1.148 (post-restart, auto) | 2026-05-22 | WORKS + ROOT CAUSE OF SUBAGENT GAP FOUND. After restart, `teammateMode: "auto"` + inside tmux spawned qatux in a real split pane (`backendType: "tmux"`, paneId `%7`). CONFIRMED the 2.1.123 finding: a custom `subagent_type` whose agent definition has a restricted `tools:` list does NOT get the team-coordination tools injected in pane mode — qatux had only Read/Edit/Write/Bash; SendMessage "exists but is not enabled"; TaskCreate/TaskUpdate/TaskList/Agent absent entirely. (In-process mode does inject SendMessage — backend-inconsistent, contradicts the docs which say coordination tools are always available.) Consequence: such a teammate can't message AND can't return a shutdown_response, so it orphans its pane on shutdown (requires manual `tmux kill-pane`). FIX: added `SendMessage` to the `tools:` frontmatter of all 21 agent definitions in `.claude/agents/`. Re-spawned qatux → SendMessage works AND clean shutdown works (pane self-closes, no orphan), picked up at spawn with NO session restart needed. **Net: the feature is fully functional on 2.1.148; the only real defect is that custom restricted-tool subagents need coordination tools listed explicitly to work as pane-mode teammates.** |
|
||||
|
||||
## Test procedure
|
||||
|
||||
1. Check version: `claude --version`
|
||||
2. If the version is already in the "Tested versions" table above, **stop here** —
|
||||
log nothing, do not spawn agents. Report that the version is unchanged.
|
||||
3. Create a team and spawn one agent:
|
||||
|
||||
```
|
||||
TeamCreate: team_name = "tmux-test"
|
||||
Agent: name = "qatux", subagent_type = "qatux", model = "sonnet",
|
||||
run_in_background = true,
|
||||
prompt = "You are a test agent. Message the team lead: 'tmux pane test — I am alive.' Then stay idle."
|
||||
```
|
||||
|
||||
4. Check: did a new tmux pane appear? Run `tmux list-panes -a` to verify.
|
||||
5. Check: does `~/.claude/teams/tmux-test/config.json` exist and contain `backendType: "tmux"`?
|
||||
6. Log the result in the "Tested versions" table above (version, date, BROKEN/FIXED + notes).
|
||||
7. If BROKEN, clean up any leftover team state and stop. If FIXED, proceed to "Cleanup".
|
||||
|
||||
## Expected result (when fixed)
|
||||
|
||||
- A new tmux pane opens with the Qatux session visible
|
||||
- Team config on disk shows `backendType: "tmux"` with a real pane ID
|
||||
- Agent is reachable via SendMessage
|
||||
|
||||
## Actual result (v2.1.119)
|
||||
|
||||
- No tmux pane appears
|
||||
- No team config directory created on disk
|
||||
- Agent runs as invisible background process
|
||||
|
||||
## Context
|
||||
|
||||
This blocks the generation-cascade workshop (ticket #897, Sprint 38). The full
|
||||
workshop has 3 participants (Gestalt, Tyre, Miri) + Qatux documenter, 3 rounds.
|
||||
Team and tasks are already created — once tmux panes work again, spawn the
|
||||
agents and go. See `docs/workshops/generation-cascade/BRIEF.md` for the full
|
||||
workshop brief.
|
||||
|
||||
## Cleanup
|
||||
|
||||
Delete this file and `TeamDelete` the tmux-test team once the test passes.
|
||||
Reference in New Issue
Block a user