Reference
Shared vocabulary for this workspace. Lessons stick to these meanings.
Primary source: the swarm-forge repo under /tmp.
two-pack, four-pack, six-pack.
Each has its own swarmforge.conf, role prompts, and
local constitution. ./swarm pulls scripts from
main when missing.
coder, cleaner).
Maps to one config line, one prompt file
(swarmforge/roles/<role>.prompt), usually one
worktree and one tmux session. Role names must not contain
underscores (filename/audit constraint).
swarmforge/constitution.prompt points agents at article
files under constitution/articles/. Shared defaults on
main; packs can add local-* or override by
same filename.
window <role> <agent> <worktree> [task|batch] [extra-cli-args…].
First window is the cleanup window.
claude,
codex, copilot, or grok. Chosen
per role in the config.
.worktrees/<name> for a role, or
the main checkout when worktree is master /
none. Keeps concurrent roles from editing the same files
blindly.
git_handoff and
note. Agents draft headers; helpers
generate bodies and queue files.
merge_and_process <role> <commit>. Primary
pipeline message.
outbox/, copies validated handoffs into recipient
inbox/new/, and sends a generic tmux wake-up. Sole owner
of tmux socket access for delivery.
.swarmforge/handoffs/. Outbox is
producer queue; inbox is consumer queue
(new → in_process → completed).
Also sent/ and failed/ on the sender side.
task: one handoff at a
time. batch: all equal-priority queued handoffs as one
unit. Configured on the window line; runtime copy in
.swarmforge/roles.tsv.
send-keys text telling an idle agent to run
ready_for_next.sh. Intentionally lossy: busy agents
ignore; completion helpers re-check the durable queue.
swarmforge.conf. Closing it runs swarm
teardown (tmux sessions, tracked terminal windows, handoff daemon).
Closing other windows is non-destructive if the watchdog can reopen
them.