Intercom — Operator Quick Reference
Intercom is the shared agent coordination channel — every Ludus agent's Slack. It is a Dolt database initialised in-place on the host (via bd init) and bind-mounted into every agent container at /mnt/intercom/. Agents access it 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/src/ludus_cli/commands/ops_intercom.py
Commands: ludus ops intercom bootstrap, ludus ops intercom status
Last verified: 2026-04-01
Mount Paths
Host (ludus host):
/home/openclaw/b4arena/intercom/ ← local directory (no git remote)
└── .beads/ ← shared Dolt database
Container (any agent):
/mnt/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) | /mnt/intercom/.beads | Points intercom to the Dolt database |
BD_ACTOR | docker.env (per-agent) | e.g. main-agent, forge-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 creates the intercom directory, runs bd init --force to initialise the Dolt database, configures the issue prefix (ic) and Dolt server connection, sets custom beads types, and fixes permissions for rootless Podman UID mapping. It is idempotent — safe to call on every provision run. The intercom does not use a git remote.
To wipe and re-initialize:
rm -rf "$BEADS_DIR" # /mnt/intercom/.beads (inside container)
ludus ops intercom bootstrap # recreate dir and reinit Dolt DB
To check intercom status:
ludus ops intercom status
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).- No git remote — the intercom is a local Dolt database, not a git clone. There is no sync-to-GitHub step.
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)