Skip to main content

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/arena specifications) Agent guide: skills/intercom/SKILL.md

Agent Quick Reference

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

VariableSet viaValuePurpose
BEADS_DIRdocker.env (default)/workspace/intercom/.beadsPoints intercom to the Dolt database
BD_ACTORdocker.env (per-agent)e.g. dev-agent, eng-mgr-agentAudit trail identity
BD_REALdocker.env/usr/local/bin/.bd-realPath 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 intercom CLI is the primary agent-facing tool. In some architecture contexts (e.g., the bd CLI reference), the underlying bd binary is referenced directly. In production containers, agents must always use intercombd is 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

Dolt is not concurrent-safe

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 new has no --assignee — use labels for routing (dev, eng-mgr).
  • Agents do not run git sync — operators must run ludus ops intercom sync manually (or via separate automation); the host watcher/cron do not perform this automatically.

References

  • FSD-015: Intercom Coordination (upstream b4arena/arena specifications) — 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 bd CLI reference (underlying binary)