Skip to content

DL-135

Agent roster is a pull: a public CommsService.GetRoster (account-visibility-scoped via accountVisibleFromWhere, tree-derived scopes NEIGHBORHOOD/SUBTREE/OWNER — OWNER ratified fleet-wide under the shared-owner model, activity strings fleet-visible) plus a native compass_roster tool on the CommsCallRequest relay family, reading the DL-074 in-memory presence enum joined with the agent tree; the activity string is DURABLE (its own agent_activity store table), recovered from Postgres on Server restart — agent-set via compass_set_status (write-through to the table + additive AgentPresenceChanged.activity), re-published by the agent-side harness on session (re)attach for freshness — a deliberate divergence from DL-074’s in-memory posture for the STRING; the presence enum stays in-memory. Presence EVENTS keep the shared-channel visibility rule while the roster uses account visibility (divergence stated: an owner sharing no channel with its agent gets snapshot-only presence). RIG-1721

Status: Active (Matt, 2026-07-31)

Record: ../../agent/compass-manager-comms-substrate/design.md#a1–rig-1721-roster-query–a-getroster-rpc–compass_roster-tool-over-the-d4-presence-snapshot