Skip to content

Agent addressing

LumenFlow’s memory layer can route coordination traffic to a specific live agent session without inventing a pack-specific side channel.

Use mem:roster to see active sessions, their ephemeral display_name, role axes, current WU, lane, and most recent heartbeat.

pnpm mem:roster
pnpm mem:roster --json

display_name is a friendly handle for the current live session. It is not a stable semantic alias; those still belong to the role contract.

Send a targeted coordination signal by session_id or display_name:

pnpm mem:signal 'Please review the docs diff' --wu WU-2768 --to Planck
pnpm mem:signal 'Take the next test slice' --wu WU-2768 --to sess-1234

The CLI resolves the target against the active roster before persisting target_agent. Broadcast signals without target_agent continue to render for every session.

Read only the messages for one live session with --for:

pnpm mem:inbox --for Planck
pnpm mem:inbox --for sess-1234 --no-mark

This view still includes broadcast traffic, so an agent sees both direct messages and lane-wide coordination.

mem:context now auto-composes a roster from the delegation registry and active session records. Use --no-roster only when a test or fixture needs stable, non-live output.

pnpm mem:context --wu WU-2768
pnpm mem:context --wu WU-2768 --no-roster

Friendly names come from .lumenflow/agents/display-name-pool.yaml. A name is reserved when agent:session starts and returned to the pool when the session ends, so long-running orchestration stays readable without conflating session identity with role ownership.