basquetWi + New ticket

BUILD spawn-agent.sh + reaper (EVO-26 productionization; Elazar greenlit 2026-06-22). One-command on-demand worker spawn (task launch-arg'd) + PTD-gated external teardown. KEY CONSTRAINTS: tmux->ccs DIRECT via tmux-ccs.sh, NO extra terminal layer (Elazar caveat; extra PID=orphan bug); full -cc agent name (bare double-registers); external teardown only (agents can't self-/exit); /unregister SINGULAR {agent:x} per call (array form returns missing_agent), clean both -cc + bare rows; TTL hang-reaper must hub-deregister; reuse per-app agent dirs; shared-tree flock for mars/pluto. Script in ~/Documents/terminal/sh/ (shared, notify bin-whey per sh.git); PMs EXECUTE, bin OWNS+versions. Inputs from venus pilot EVO-33.

Done high bvbin-venus-cc

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Questions

No questions.

Activity

  • wi-cli-venus created · 2026-06-22
    parent=#1271
  • wi-cli-venus commented · 2026-06-22
    DELIVERED spawn-worker.sh v1.0 (bin-venus, commit 510a8ff, sh.git HEAD). Covers 8/9 spec points: tmux->ccs.sh DIRECT no extra terminal; task baked into ccs positional; full -cc --agent name; tmux has-session idempotency; teardown send-keys /exit -> 10s -> kill-session (--force skips); singular /unregister for both -cc + bare; TTL --force hard-kill+deregister; reuses per-app agent dirs. Usage: spawn-worker.sh spawn|reap <app> <role> [task] [--force]. #9 SHARED-TREE FLOCK = DEFERRED by bin-venus (reasoning: spawn-script doesn't push; concurrent gitpush.sh is a PM-coordination concern). GENERALPM: deferral framing escalated to Elazar — a mechanical flock home (gitpush.sh-level) vs PM-serialize is his call (gitpush.sh fleet blast radius). NOT CLOSED: gating on an independent runtime smoke-test (spawn->register->reap->deregister verified via roster) by pm-venus — delivery != proven.
  • wi-cli-venus commented · 2026-06-22
    SMOKE-TEST (pm-venus, roster-verified): findings b+c CONFIRMED FIXED (spawn shows exactly one db-venus-cc, no bare dup; reap deregisters both -cc + bare, tmux gone, zero zombies). LEG-1 SPAWN BLOCKED: worker hangs at the --dangerously-load-development-channels 'Enter to confirm' interactive gate — registers but never boots/executes until a manual Enter is sent (same gate the EVO-33 manual pilot cleared by hand). Fix routed to bin-venus: auto-confirm the channels gate post-spawn. GENERALPM caveat on the fix: a fixed sleep+send-keys Enter is a race (slow boot = Enter lands wrong); prefer a non-interactive bypass flag if ccs/claude exposes one, else poll for the gate rather than blind-sleep. EVO-34 STAYS OPEN: bin re-delivers, pm-venus re-runs the smoke-test. Reap leg already proven.
  • wi-cli-venus commented · 2026-06-22
    FIX DELIVERED v1.1 (bin-venus, commit c710074): background poll-then-send for the dev-channels gate — polls pane every 0.5s for the gate string, sends confirm on match, 20s silent timeout. Reuses the proven accept_dev_channels_gate() pattern from agentteamlaunch.sh (no blind sleep, addresses the race). Back to pm-venus for re-smoke; EVO-34 close-gate = clean spawn leg this run.
  • wi-cli-venus commented · 2026-06-22
    RE-SMOKE BLOCKED on two items (pm-venus): (1) SYNC GAP — v1.1/c710074 committed to sh.git but venus ~/.local/bin/spawn-worker.sh is still v1.0 (plain file, line 94 unchanged). bin-venus must propagate v1.1 to THIS host's PATH before re-smoke. (2) NEW DEFECT (spec gap, present since v1.0): line 94 launches ccs.sh with NO --nocont; ccs defaults to -c (continue), so a 2nd spawn in the same agent dir RESUMES the prior transcript instead of a fresh session — proof: a new VACUUM-task spawn booted into the OLD EVO-26 pilot prompt + replayed history, new task never ran. FIX: script must pass --nocont (clean session per spawn) so each spawn runs ITS task. Added to EVO-34 spec: clean-session-per-spawn is mandatory. Both routed to bin-venus; pm-venus then re-runs spawn→roster→reap in one pass (folding a real venus dbperf VACUUM as the test payload).
  • wi-cli-venus commented · 2026-06-22
    v1.2 DELIVERED (bin-venus, commit f7e82e5): --nocont added (line: ccs.sh --nocont --agent ... 'task') = clean session per spawn. bin reports the earlier sync gap was a STALE read — venus ~/.local/bin IS the git worktree, already at c710074, no install step. pm-venus had read it as v1.0. Discrepancy to settle on-disk: pm-venus verifies the actual file contains --nocont (grep) + is at f7e82e5 BEFORE re-running, to avoid another stale-build round. Then full one-pass re-smoke.
  • wi-cli-venus commented · 2026-06-22
    RE-SMOKE on verified f7e82e5: 4/5 legs GREEN — gate auto-poll (no manual Enter), fresh session (--nocont, no replayed transcript), roster (single db-venus-cc no dup), reap (deregister both rows + tmux gone) ALL PASS. FAIL on autonomous exec: task never injected → idle empty prompt. ROOT CAUSE (pm-venus, line-level): ccs.sh L73-79 always consumes first positional as label + shifts, L82 overrides LABEL from --agent anyway; so spawn-worker.sh L94 ccs.sh v5.20  C  Claude Code has its lone task positional eaten as the label → claude gets no prompt. EVO-33 pilot worked because it passed TWO positionals (label + task). FIX (in spawn-worker.sh, NOT ccs.sh): supply a throwaway label before the task → ccs.sh v5.20  C  Claude Code. GENERALPM: fix localized to spawn-worker.sh; ccs.sh positional handling NOT to be changed (fleet blast radius, other callers depend on it). Routed to bin-venus; pm-venus re-runs + folds the real VACUUM. Roster clean, no zombies.
  • wi-cli-venus commented · 2026-06-22
    v1.3 DELIVERED commit c3088a2: label positional fix (agent name passed twice before the task arg) so the task reaches claude instead of being eaten as the label. Addresses the 5th-leg failure. Routed to pm-venus for the FINAL one-pass smoke (gate auto-poll, fresh session, single -cc row, autonomous exec of the real VACUUM, clean reap). All-green = EVO-34 close-gate.
  • wi-cli-venus completed · 2026-06-22
    spawn-worker.sh v1.3 (c3088a2) PROVEN end-to-end by pm-venus — all-green one-pass, no manual intervention, verified via roster+pane not exit codes: gate auto-poll (no Enter), fresh --nocont session (no replayed transcript), single db-venus-cc row (no bare dup), AUTONOMOUS task exec (label fix landed), clean reap to zero venus workers. Took 3 builds: v1.1 channels-gate poll, v1.2 --nocont, v1.3 label-positional. Bonus: test payload was real work done — dbperf VACUUM rateLimitHits dead 40->0, piezasDentarias 24->0, nw-venus alert cleared. ONE carve-out NOT in this build: #9 shared-tree flock (gitpush.sh-level, mars/pluto-only) deferred + escalated to Elazar; tracked under parent EVO-26, not a blocker for venus single-worker use.
task
2026-06-22 by wi-cli-venus
6w ago
2026-06-22 07:45