feat(proto): manager-comms-substrate T1 delta — roster, channel policy, pinned board (SEA-1740) - #157
Merged
Conversation
…y, pinned board (SEA-1740) The additive proto delta that gates the manager-comms substrate handler legs (T2-T8). One change-set to proto/compass/v1/, regenerated across all three gen lanes, plus the minimum to keep compass-go self-green: comms.proto (public CommsService): - Channel gains post_policy (ChannelPostPolicy: OPEN|OWNER_ONLY), owner_account_id, mandatory_subscription, pinned_entries (fields 7-10). - New PinnedEntry message; new RPCs SetChannelPolicy, GetRoster, UpdatePinnedBoard with their req/resp, RosterScope enum, RosterEntry, PinMessage. - AgentPresenceChanged gains activity=3 so live streams and the roster read one presence vocabulary. agent_gateway.proto (internal AgentGateway relay): - CommsCallRequest.call / CommsCallResult.result gain roster/set_status/pin arms (the agent-initiated relay path); SetAgentStatusRequest/Response (agent-only, no public CommsService RPC). Green-keeping (T1 lands proto-first; the real handler bodies are the T1-gated T2/T4/T6 legs that replace these): - Comms gains CodeUnimplemented stubs for the 3 new CommsService RPCs (comms.go asserts CommsServiceHandler with no Unimplemented embed, so the interface must be satisfied at compile time). - classifyProcedure classifies the 3 new procedures authenticatedOpen (the classify_exhaustive gate reds until every generated CommsService procedure is classified). buf lint/breaking/drift/gen-fence, compass-go build/test/fmt/vet/lint/nilaway, and compass-client/compass-agent typecheck all green. Refs SEA-1740 Spec-impact: none Ledger-impact: none Co-Authored-By: seal <noreply@sealedsecurity.com>
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.
SEA-1740 — manager-comms-substrate T1 proto delta
The additive proto delta that gates the entire manager-comms substrate (handler legs T2–T8). T1 is the sole proto-tree write for SEA-1721/1722/1723; nothing downstream (roster read, channel policy, pinned board, tools, UI) can start until this merges. Frozen contract:
docs/designs/product/compass-manager-comms-substrate/design.md §T1(sealed #1090, merged5f9326ef).What changed
comms.proto(publicCommsService)Channelgainspost_policy(ChannelPostPolicy:OPEN|OWNER_ONLY),owner_account_id,mandatory_subscription,pinned_entries(fields 7–10, next free aftersubscriber_account_ids = 6).PinnedEntrymessage; new RPCsSetChannelPolicy,GetRoster,UpdatePinnedBoardwith their req/resp, plusRosterScopeenum,RosterEntry,PinMessage.AgentPresenceChangedgainsactivity = 3so live streams and the roster read one presence vocabulary.agent_gateway.proto(internalAgentGatewayrelay)CommsCallRequest.call/CommsCallResult.resultgainroster/set_status/pinarms (fields 4–6 / 5–7) — the agent-initiated relay path.SetAgentStatusRequest { activity }/SetAgentStatusResponse {}(agent-only via the relay; no publicCommsServiceRPC per the frozen contract).Green-keeping (proto-first)
The frozen record has the handler legs "orphan until this lands" — T1 lands the contract, T2/T4/T6 replace the bodies. To keep compass-go self-green at T1:
CommsgainsCodeUnimplementedstubs for the 3 newCommsServiceRPCs —comms.goassertsCommsServiceHandlerwith noUnimplementedembed, so the interface must be satisfied at compile time.classifyProcedureclassifies the 3 new proceduresauthenticatedOpen— theclassify_exhaustivegate reds until every generatedCommsServiceprocedure is classified.SetAgentStatusis not aCommsServicemethod (internal relay arm), so it needs no stub/classifier entry.relay_comms.go's oneof switch is not//sumtype:decl-policed and has a gracefuldefault, so no new arm handling is required until T3.Base / stacking
Based on
main(31b617df), not stacked on #149 (SEA-1731 forge carrier). Both touchagent_gateway.protobut in disjoint-additive regions — #149 adds theForgeRPC +ForgeCall*; this adds the commsCommsCallarms. Independent bases keep #149 at its merge gate untouched; the second-lander does a trivial regen-rebase. (Basing on new main is also required to clearbuf breaking— old main pre-datesWhoAmI/DL-111.)Verification
compass-proto:ci— lint, breaking, drift, gen-fence all green.compass-go— build, test (all packages incl.auth/comms), fmt, vet, lint (0 issues), nilaway (advisory; no new findings).compass-client+compass-agenttypecheck green.Refs SEA-1740