+| 2026-07-12 | michael-wojcik | 4.6.0 installed · CC 2.1.207 | R1 | **GO** — TaskStop terminated the tmux pane AND team-config file + tasks dir stayed intact (mirrors in-process) | Probe-lead session 39e37ad2-3873-4d2d-9916-d78c01a025a9 (`--teammate-mode tmux`, scratch cwd /tmp/pact-probe-r1, team session-39e37ad2). Go-criterion leg (directly observed): TaskStop on tmux-pane teammate scratch-a (pane %6, PID 7715) reaped pane+process in one call, no teammate cooperation required; config file present and well-formed at the 06:20:19Z post-TaskStop raw read (only the roster entry removed — expected-not-failure) and again at 06:22:21Z after a second TaskStop (secretary); tasks dir byte-untouched throughout. (Team dir later removed by the PLATFORM at clean session end — journal cleanup_summary teams_reaped=0 — not by TaskStop.) DEVIATION 1 — shutdown_request does NOT terminate a tmux-pane teammate: 3 graceful rounds, including two well-formed shutdown_response approvals (request_id echoed, approve:true), left pane %6 alive throughout; roster entry remained (isActive flipped false only). Roster-entry difference: shutdown_request KEEPS the members[] entry; TaskStop REMOVES it. DEVIATION 2 — platform self-reports about teammate backend mode are mutually contradictory and individually untrustworthy: a second, identically-shaped spawn (scratch-b, dispatch 06:13:29Z) got a members[] entry claiming backendType "tmux" + tmuxPaneId "%7" + isActive:true, yet no pane %7 appears in any captured pane listing, while TaskStop's result labeled it task_type:"in_process_teammate" — the SAME label it reported for scratch-a, a verifiable tmux-pane process. At least one self-report is false in each direction; scratch-b's actual backend mode is INDETERMINATE (no observer captured the pane set during its ~2-min lifetime). Rule validated: mode determination needs pane/process ground truth (tmux list-panes, ps), never API or registry self-report. Post-stop SendMessage to the stopped name → hard error "No agent named 'scratch-a' is reachable" (no transcript-resume, no resurrection). Stragglers: ZERO post-stop deliveries in a ~10-min window; all trailing traffic predated the real stops (liveness evidence, not queue drain). Inbox stub files persisted post-stop while the team dir existed — filesystem presence is not a routability signal. Method notes: bootstrap_gate PreToolUse hook hard-blocks Agent dispatch pre-bootstrap (minimal bootstrap required; ritual secretary spawn, TaskStopped at cleanup); driving technique = interactive pane + send-keys with separate Enter (paste-mode swallows inline Enter), C-u input hygiene (dimmed suggestions), and ground-truth watch conditions (a config-poll grep missed scratch-b's short-lived roster entry — poll-race; snapshot files beat polls). |
0 commit comments