BRIDGE-1: bus bridge and opaque relay specification#43
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Merge-readiness: resolved. Conflicts resolved (commit 9a008a4):
No semantic flags. Cross-references in CI: no workflow files in repo; CodeRabbit review on this PR not yet triggered. Note on #55 (chore/normalize-spec-filenames or chore/standardize-filenames): If either filename-rename PR merges first, this branch will need a trivial refresh — |
Companion issue: #42
Summary
Defines the bus bridge — a participant on the internal message bus that terminates an external communication channel and relays messages between the bus and remote participants.
The spec carries minimal normative weight. Most of what it documents are emergent patterns that arise from composing MSG-1 + SESSION-1/2 + PIPELINE-1 + TRANSFORM-1 + CONTEXT-1 + INTENT-4 at a bus boundary.
What the spec covers
source)destination(primary, MUST),session_id(secondary, MAY),site_id(group, MUST when grouping). Known-participant lifecycle. NAT/session-id bijectionsite_idassignment — bridge evaluates client-supplied value vs. its own determination (geolocation, home-automation area names); downstream MUST NOT overwriteovos.session.syncrelay)Key design decisions
.reply()settingdestinationto the originalsource; two participants sharingsession_id: "default"are distinguished bydestinationalonesession_idper participant)site_idowned by BRIDGE-1. Bridge is the natural assignment point; client MAY report, bridge MAY overrideovos.utterance.speakcarries the session back so each satellite's transformer preferences apply locallyCompanion PR
INTENT-4 §11 (PR #45) defines session-scoped registration that §4.4 depends on.