docs(product): design agent org-management tools (RIG-2673) - #589
Open
rigel-mintaka wants to merge 1 commit into
Open
docs(product): design agent org-management tools (RIG-2673)#589rigel-mintaka wants to merge 1 commit into
rigel-mintaka wants to merge 1 commit into
Conversation
|
Compass engineering docs preview: https://compass-server-rig-2673-org.compass-eng-docs.pages.dev Deployed from Changed pages: |
rigel-mintaka
force-pushed
the
compass-server/rig-2673-org-mgmt-tools-design
branch
from
August 24, 2026 19:17
2cbe93e to
ced1bda
Compare
Design record for exposing agent org-management tools to a Manager agent, so wave parity is reachable from inside the mesh. Design only — no Go/proto/TS ships with this PR; the record is the cross-lane proto contract that compass-agent (transport + tools + prompt) and compass-runner (gateway relay) build against. ## What it specifies The server RPCs already exist on `CommsService` (operator/UI-facing); the gap is that they are not exposed on the agent gateway. The record adds: - **`create_channel`** and **`update_members`** (subscribe/unsubscribe/join/remove) as new `CommsCallRequest`/`CommsCallResult` oneof arms, reusing the existing `CreateChannelRequest`/`UpdateChannelMembersRequest` messages verbatim as the arm payloads, executed under the D9 server-resolved caller. - **create-Manager** as optional `role`/`persona` fields on the **existing** `SpawnPeerRequest` (dropping the `Role:""`/`Persona:""` hardcodes), not a new create-agent arm — spawn stays the single agent-facing agent-creation path. - **Deferred:** `create_channel_group` stays operator-only. The proto contract section gives copy-pasteable arm names + field numbers + reused message shapes for the two consuming lanes. ## Open Questions (load-bearing, for Matt) - **OQ-1 role allowlist** — designed against *no allowlist* (service-owner default; role only selects a prompt, not a privilege). - **OQ-2 persona required-vs-optional** — designed against *role required, persona optional*. - OQ-3 (parent group on create_channel) resolved in-design: `group_id` is optional. Red-teamed by a design-critic (0 high / 2 medium / 4 low, all folded): gen-mirror location corrected, spawn set-at-creation-only idempotency rider added, ChannelKind enum + channel-policy rider added to the contract, dispatch/doc-comment/error-string enumerations named, runner leg sharpened to regen-only. Spec-impact: none. Refs RIG-2673 (parent RIG-1681). Co-authored-by: Matt Wilkinson <matt@rigel.build>
rigel-mintaka
force-pushed
the
compass-server/rig-2673-org-mgmt-tools-design
branch
from
August 24, 2026 19:19
ced1bda to
c2e3e1d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Design record for exposing agent org-management tools to a Manager agent, so wave parity is reachable from inside the mesh. Design only — no Go/proto/TS ships with this PR; the record is the cross-lane proto contract that compass-agent (transport + tools + prompt) and compass-runner (gateway relay) build against.
What it specifies
The server RPCs already exist on
CommsService(operator/UI-facing); the gap is that they are not exposed on the agent gateway. The record adds:create_channelandupdate_members(subscribe/unsubscribe/join/remove) as newCommsCallRequest/CommsCallResultoneof arms, reusing the existingCreateChannelRequest/UpdateChannelMembersRequestmessages verbatim as the arm payloads, executed under the D9 server-resolved caller.role/personafields on the existingSpawnPeerRequest(dropping theRole:""/Persona:""hardcodes), not a new create-agent arm — spawn stays the single agent-facing agent-creation path.create_channel_groupstays operator-only.The proto contract section gives copy-pasteable arm names + field numbers + reused message shapes for the two consuming lanes.
Open Questions (load-bearing, for Matt)
group_idis optional.Red-teamed by a design-critic (0 high / 2 medium / 4 low, all folded): gen-mirror location corrected, spawn set-at-creation-only idempotency rider added, ChannelKind enum + channel-policy rider added to the contract, dispatch/doc-comment/error-string enumerations named, runner leg sharpened to regen-only.
Spec-impact: none. Refs RIG-2673 (parent RIG-1681).
Co-authored-by: Matt Wilkinson matt@rigel.build