-
Notifications
You must be signed in to change notification settings - Fork 0
Conductor
Steel-tech edited this page Jul 24, 2026
·
1 revision
Mental model: "Run a team β a builder, a validator, a reviewer β each as a real, visible, attachable agent pane, with one orchestrator driving them." Unlike Swarm's N-identical fan-out, Conductor's workers are role-differentiated and mixed-vendor (claude/codex/pi side by side), and they survive the orchestrator β a crashed driver doesn't kill the team.
Repo: StructuPath/herdr-conductor Β· Full reference: the repo README
| Half | Where | Who drives it |
|---|---|---|
| Transport (the loop) | scripts/conductor-lib.sh |
An orchestrating agent sources it and runs the loop |
| Operational surface | the board + stand-down actions |
You / the TUI menu |
Dispatch is agent-driven, not an action β herdr plugin actions get no argv/TTY, so the intelligence that decomposes a feature and assigns roles is the agent's job, not a shell script's.
| Action | What |
|---|---|
board |
Live pane: one row per worker β role, kind, pane, status (from herdr agent list, not screen-scraping), cwd. Refreshes every 2s; q quits. |
stand-down |
Closes only conductor-owned worker panes for the active run (ownership-verified); git branches + worktrees kept. |
herdr plugin action invoke board --plugin structupath.conductor
herdr plugin action invoke stand-down --plugin structupath.conductor. scripts/conductor-lib.sh
conductor_start_worker builder claude "$engine_wt" # warms by default
conductor_start_worker reviewer codex "$repo" -- --sandbox read-only
conductor_dispatch builder "$builder_prompt"
conductor_await builder && conductor_collect builder # settles on the report SENTINEL
conductor_teardown-
Settle β success β a worker hits
idleafter any turn (even a clarifying question). Completion is a<!-- REPORT-COMPLETE -->sentinel in.conductor/report.md, never agent state. The lib enforces this (freshness-checked). -
Warm by default β a cold interactive agent opens on a welcome screen and drops its first prompt;
conductor_start_workerwarms it.--no-warmto skip. -
Files both directions β mission in via
.conductor/task.md, result out via.conductor/report.md(auto-gitignored). Panes are for humans to watch and attach to.
CONDUCTOR decides β SWARM isolates β GUARD enforces
(this plugin) (worktree per writer) (read-only audit for review roles)
herdr β₯ 0.7.5, Node β₯ 20, Python 3, Bash 3.2+. macOS / Linux.