docs(product): auto-created peer DMs + name-addressed comms (RIG-2956) - #726
Merged
mattwilkinsonn merged 1 commit intoAug 30, 2026
Merged
Conversation
|
Compass engineering docs preview: https://compass-rig-2956-peer-dm-nam.compass-eng-docs.pages.dev Deployed from Changed pages: |
rigel-mintaka
force-pushed
the
compass/rig-2956-peer-dm-name-addressed-comms
branch
from
August 29, 2026 23:04
a7c6e87 to
6048d19
Compare
Design record for agent↔agent peer DMs, built on a channel+topic **name-addressing cutover** that extends the merged handle-addressing cutover (#698 / RIG-2880) from accounts to channels+topics — plus the **RIG-2956 cross-channel reply-routing fix** as its T0 lane. The dogfood "peer never replied" symptom was a misdiagnosis: forensics proved the peer took its turn and replied, but the reply landed in its own home channel because the steer op carries no source channel and `comms_post_message` defaults an omitted channel to home. This record fixes that and builds auto-created two-way DMs on top. Folds Matt's rulings R1–R8 as frozen decisions: names not ids (ids are a leak); deliver/steer carry the source channel+topic and a reply names both explicitly (no home default); reserved DM namespace with a server-enforced create-guard; DM = exactly two parties, a third member converts it to a named channel; GROUP_DM retired reserve-not-delete; `create_topic` gate everywhere; DMs born `mandatory_subscription`; `comms_open_dm` + `comms_dm` direct-send + spawn-time auto-open. Only two non-load-bearing deferrals remain open (cross-owner DMs, UI DM naming). Ledger-impact: deferred to freeze (DL-new-1..7 applied when this record merges; DECISIONS.md untouched in this PR). Spec-impact: none Refs RIG-2956 Co-authored-by: Matt Wilkinson <matt@rigel.build>
rigel-mintaka
force-pushed
the
compass/rig-2956-peer-dm-name-addressed-comms
branch
from
August 29, 2026 23:11
6048d19 to
225107c
Compare
mattwilkinsonn
approved these changes
Aug 30, 2026
mattwilkinsonn
deleted the
compass/rig-2956-peer-dm-name-addressed-comms
branch
August 30, 2026 01:08
rigel-mintaka
added a commit
that referenced
this pull request
Aug 30, 2026
Freeze follow-up to #726 (merged 774adb9): the peer-DM record deferred its ledger delta out of the design PR via Ledger-impact: deferred to freeze. This applies the seven rows to docs/designs/DECISIONS.md now that the record is frozen, and flips the record Status Draft -> Active. - DL-283 name addressing (channels + topics by name; extends DL-269/DL-270) - DL-284 reply routing (steer/deliver carry source channel+topic; RIG-2956 T0) - DL-285 topic gate (create_topic required; amends DL-098 get-or-create) - DL-286 DM path (OpenDM; generalizes DL-190) - DL-287 DM namespace defense (reserved group create-guard) - DL-288 DM shape (kind=DM; GROUP_DM retired reserve-not-delete) - DL-289 scope (same-owner MVP) Purely additive: no existing row superseded (DL-098 amended, stays Active; GROUP_DM is a proto enum, not a ledger row). Record §Ledger delta renumbered from DL-new-N placeholders to the applied DL-283..289. Ledger-impact: applies DL-283..289 (peer-DM freeze delta) Co-authored-by: Matt Wilkinson <matt@rigel.build>
mattwilkinsonn
added a commit
that referenced
this pull request
Aug 30, 2026
Freeze follow-up to #726 (merged 774adb9): the peer-DM record deferred its ledger delta out of the design PR via Ledger-impact: deferred to freeze. This applies the seven rows to docs/designs/DECISIONS.md now that the record is frozen, and flips the record Status Draft -> Active. - DL-283 name addressing (channels + topics by name; extends DL-269/DL-270) - DL-284 reply routing (steer/deliver carry source channel+topic; RIG-2956 T0) - DL-285 topic gate (create_topic required; amends DL-098 get-or-create) - DL-286 DM path (OpenDM; generalizes DL-190) - DL-287 DM namespace defense (reserved group create-guard) - DL-288 DM shape (kind=DM; GROUP_DM retired reserve-not-delete) - DL-289 scope (same-owner MVP) Purely additive: no existing row superseded (DL-098 amended, stays Active; GROUP_DM is a proto enum, not a ledger row). Record §Ledger delta renumbered from DL-new-N placeholders to the applied DL-283..289. Ledger-impact: applies DL-283..289 (peer-DM freeze delta) Co-authored-by: Matt Wilkinson <matt@rigel.build>
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 agent↔agent peer DMs, built on a channel+topic name-addressing cutover that extends the merged handle-addressing cutover (#698 / RIG-2880) from accounts to channels+topics — plus the RIG-2956 cross-channel reply-routing fix as its T0 lane.
The dogfood "peer never replied" symptom was a misdiagnosis: forensics proved the peer took its turn and replied, but the reply landed in its own home channel because the steer op carries no source channel and
comms_post_messagedefaults an omitted channel to home. This record fixes that and builds auto-created two-way DMs on top.Folds Matt's rulings R1–R8 as frozen decisions: names not ids (ids are a leak); deliver/steer carry the source channel+topic and a reply names both explicitly (no home default); reserved DM namespace with a server-enforced create-guard; DM = exactly two parties, a third member converts it to a named channel; GROUP_DM retired reserve-not-delete;
create_topicgate everywhere; DMs bornmandatory_subscription;comms_open_dm+comms_dmdirect-send + spawn-time auto-open. Only two non-load-bearing deferrals remain open (cross-owner DMs, UI DM naming).Ledger-impact: deferred to freeze (DL-new-1..7 applied when this record merges; DECISIONS.md untouched in this PR).
Spec-impact: none
Refs RIG-2956
Co-authored-by: Matt Wilkinson matt@rigel.build