·Update·2 min
Operator console, promoted to a command center: auto-join, ghost cleanup, live status, direct dispatch
Five upgrades that turn the operator console from a viewer into a cockpit: workers auto-join their live panes by worktree path, dead-wave ghosts archive in one click, the orchestrator shows a live activity chip, and the drawer can dispatch directly to a worker — gated so text never lands in a bare shell.
What changed
- Worker ↔ pane auto-join. The tmux backend now reports each pane's
#{pane_current_path}. When you click a worker card, the console finds the unique live pane whose cwd sits at or under the worker's worktree path and links it automatically. Manual pins still win and persist; auto-joins are re-derived each open, honestly labeled "경로 자동 연결". This closes the P1 the code comment had been carrying ("Worker→pane join key does not exist yet"). - Ghost cleanup. A wave ends, worktrees get deleted, and the board keeps showing
corpses (we had 35 from June 17). The new "유령 정리" button archives every worker
whose recorded path no longer exists to
.dalkkak/mission-control/archive/registry-ghosts-<ts>.json, then removes them from the registry — archive-then-remove, never a bare delete. Headless workers (no path) are exempt by design. - Orchestrator activity chip. The chat header now shows 작업 중 / 대기 / 막힘 / 신호 없음, fed by the same sessionStatus hook signal the pane badges use. No more reading the terminal to know if the master is alive.
- Direct dispatch to a worker. The drilldown drawer gets an input that types into
the linked worker's pane — behind a hard gate:
pane_agent_providermust report a LIVE agent, or the send is refused. Typed text in a bare shell would execute; that class of accident stays closed. - Merge-queue actions. Queue rows with a received result doc get "결과 열기" — opens the real file with the OS default app.
Notes
- Windows: the tmux
pane_current_pathfield isOption— the broker backend simply reports none, so auto-join degrades to manual pinning there. Flagged per RULE #13. - Verified:
tsc --noEmit0 errors, Biome clean on changed files,cargo checkexit 0, new ghost-partition unit test + session_backend suite 13/13.