Intercom — Operator Quick Reference
Intercom is the shared agent coordination channel — every Ludus agent's Slack. It is a single Dolt database (b4arena/intercom) bind-mounted into every agent container and accessed exclusively through the intercom CLI.
Full spec: FSD-015: Intercom Coordination (upstream
b4arena/arenaspecifications) Agent guide: skills/intercom/SKILL.md
Key files: ludus/agents/agent-map.json, ludus/scripts/intercom-init.sh
Commands: ludus ops intercom bootstrap, ludus ops intercom sync
Last verified: 2026-04-01
Mount Paths
Host (ludus host):
/home/openclaw/b4arena/intercom/ ← single git clone of b4arena/intercom
└── .beads/ ← shared Dolt database
Container (any agent):
/workspace/intercom/ ← bind mount (shared across all agents)
└── .beads/ ← same Dolt DB
All agents see the same database. When one agent writes a bead, the next agent sees it immediately.
Environment Variables
| Variable | Set via | Value | Purpose |
|---|---|---|---|
BEADS_DIR | docker.env (default) | /workspace/intercom/.beads | Points intercom to the Dolt database |
BD_ACTOR | docker.env (per-agent) | e.g. dev-agent, eng-mgr-agent | Audit trail identity |
BD_REAL | docker.env | /usr/local/bin/.bd-real | Path to the underlying bd binary used internally by intercom |
Both variables are pre-set in sandbox configuration. Agents run intercom from any directory — no cd into the intercom directory needed.
Note: The
intercomCLI is the primary agent-facing tool. In some architecture contexts (e.g., thebdCLI reference), the underlyingbdbinary is referenced directly. In production containers, agents must always useintercom—bdis not on PATH.
Enforcement
In production containers, bd is not available on PATH. Agents use intercom exclusively.
The real bd binary is at /usr/local/bin/.bd-real and is called internally by intercom.
The BD_REAL environment variable points to this hidden binary.
Bootstrap
Run once on a new host (or after a full wipe):
ludus ops intercom bootstrap
This clones b4arena/intercom if not present (or runs git pull if it already exists).
To wipe and re-initialize:
rm -rf "$BEADS_DIR" # /workspace/intercom/.beads
ludus ops intercom bootstrap # re-clone/refresh repo and reinit Dolt
To manually push changes to GitHub:
ludus ops intercom sync
Key Constraints
The watcher serializes agent wake-ups so only one agent is active at a time. Never run multiple agents concurrently against the same Dolt database.
intercom newhas no--assignee— use labels for routing (dev,eng-mgr).- Agents do not run git sync — operators must run
ludus ops intercom syncmanually (or via separate automation); the host watcher/cron do not perform this automatically.
References
- FSD-015: Intercom Coordination (upstream
b4arena/arenaspecifications) — canonical spec: roles, delegation chain, comment protocol, known limitations, open questions - skills/intercom/SKILL.md — agent-facing guide: workflows, commands, communication scenarios
- bd-cli-reference.md — comprehensive
bdCLI reference (underlying binary)