feat(proto): org-management comms + spawn arms for agent gateway (RIG-2673) - #633
Open
rigel-mintaka wants to merge 3 commits into
Open
feat(proto): org-management comms + spawn arms for agent gateway (RIG-2673)#633rigel-mintaka wants to merge 3 commits into
rigel-mintaka wants to merge 3 commits into
Conversation
…-2673) Add the three org-management comms-call arms (create_channel=7, update_members=8, create_channel_group=9 on CommsCallRequest.call; the matching results =8/=9/=10 on CommsCallResult.result) and the Manager- creation role=5/persona=6 fields on SpawnPeerRequest, reusing the existing comms.proto payload messages verbatim. Regenerated the internal Go (go/internal/gen) and agent TS (packages/compass-agent/src/gen) lanes. T1 of the frozen org-management-tools record (RIG-2673, #589); the single additive proto+regen commit both compass-server and compass-agent consume. Co-authored-by: Matt Wilkinson <matt@rigel.build>
…(RIG-2673) Add the T6 TS tool-surface consuming compass-server's org-management gateway arms (RIG-2673 T1, #628). Three new native comms tools plus required role/persona args on the existing spawn tool. - `comms_create_channel` — create a channel (born open, ownerless); optional group_id, kind (channel/dm/group_dm → ChannelKind), member_account_ids seed. - `comms_update_members` — add/remove members and flip subscribe opt-in on a channel. - `comms_create_channel_group` — create a channel group; optional parent_group_id, visibility (owner/shared → ChannelGroupVisibility). - `agents_spawn_peer` — role and persona now REQUIRED (non-blank) tool args, threaded into SpawnPeerRequest. Set-at-creation-only: a spawn onto an existing handle keeps the stored role/persona. persona is the peer's stable working context, not per-issue detail. All three comms tools are `approval: "write"`, mirror the `comms_post_message` execute/guard shape (protocol-violation guard on result-case mismatch, in-band CommsCallError → thrown tool failure), map string params onto their proto enums at construction, and render server values through the render-guard `attr`/`flat` split. The reused CreateChannelRequest/UpdateChannelMembersRequest/ CreateChannelGroupRequest carry no client_request_id, so none is sent (the envelope callId still flows); SpawnPeerRequest keeps its idempotency key. Barrel (compassv1.ts) re-exports the new payload schemas + enums. Tests cover each tool's wire shape, enum mapping, injection-guard render, and required-field rejection; the native-tool count asserts move 5→8 comms / 17→20 total. Co-authored-by: Matt Wilkinson <matt@rigel.build>
…st (RIG-2673) Review-fix child for PR #632 (T6 org-management tools). Two low findings, both mechanical, zero production-behavior change. - L1: three comments described role/persona as "proto3-optional strings". They are plain proto3 `string` fields with no field presence (unset is indistinguishable from ""), which is exactly why presence is enforced at the tool. Corrected the wording at all three sites (lifecycle.ts schema comment, lifecycle.ts execute comment, lifecycle.test.ts test comment). - L2: create_channel_group renders flat(group.name), the same free-text injection surface as create_channel, but had no newline-injection reddening test. Added one mirroring the create_channel case. Co-authored-by: Matt Wilkinson <matt@rigel.build>
|
Compass engineering docs preview: https://compass-agent-rig-2673-org-m.compass-eng-docs.pages.dev Deployed from Changed pages: |
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.
Review-fix child for PR #632 (T6 org-management tools). Two low findings,
both mechanical, zero production-behavior change.
They are plain proto3
stringfields with no field presence (unset isindistinguishable from ""), which is exactly why presence is enforced at
the tool. Corrected the wording at all three sites (lifecycle.ts schema
comment, lifecycle.ts execute comment, lifecycle.test.ts test comment).
injection surface as create_channel, but had no newline-injection
reddening test. Added one mirroring the create_channel case.
Co-authored-by: Matt Wilkinson matt@rigel.build