Skip to content

orbit backend: caller-named broker participant, 'engine' role - #87

Merged
andre-merzky merged 2 commits into
mainfrom
fix/orbit-participant-name-pr
Aug 25, 2026
Merged

orbit backend: caller-named broker participant, 'engine' role#87
andre-merzky merged 2 commits into
mainfrom
fix/orbit-participant-name-pr

Conversation

@andre-merzky

Copy link
Copy Markdown
Member

Two small changes to how the orbit execution backend presents itself on the broker:

  • participant_name constructor argument: a caller which knows what the backend is for can name its broker participant (rhapsody.<session>.<role>); uniqueness becomes that caller's contract. Unnamed backends keep the rhapsody.<uuid> unique suffix and the old behavior exactly.
  • the participant advertises role="engine" instead of the runtime's say-nothing consumer default, so a topology viewer sees what the participant is: the engine side of the compute hand-off.

Motivation: the DTaaS service runs two engines per session (inference/learning); anonymous rhapsody.<uuid> participants show up as unexplained noise in the broker topology view. The digital.twins service already passes participant_name guarded by a signature check, so this PR is backward- and forward-compatible with it.

Cherry-picked clean onto main from the fix/orbit-participant-name branch (which is stacked on the flux/partitions work). tests/unit/test_backend_execution_orbit.py: 38 passed.

🤖 Generated with Claude Code

https://claude.ai/code/session_016Npyz3Hbnwos12ESsdJ2YU

andre-merzky and others added 2 commits August 24, 2026 20:09
The broker draws every connected runtime as a participant, so the
backend's anonymous `rhapsody.<uuid>` shows up as noise in a topology
view -- two of them, unexplained, for a session with two engines.  A
caller which knows what the backend is for can now say so
(`participant_name="rhapsody.<session>.<role>"`); uniqueness becomes
that caller's contract.  Unnamed backends keep the unique suffix and
the old behavior exactly.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
'consumer' is the runtime's say-nothing default.  A topology viewer now
sees what the participant is: the engine side of the compute hand-off.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@AymenFJA
AymenFJA self-requested a review August 25, 2026 13:25
@AymenFJA AymenFJA added enhancement New feature or request High execution-backends rhaas Rhapsody as a service Q3 Targeting Q3 milestones labels Aug 25, 2026

@AymenFJA AymenFJA left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@andre-merzky
andre-merzky merged commit 12238f7 into main Aug 25, 2026
7 checks passed
@andre-merzky
andre-merzky deleted the fix/orbit-participant-name-pr branch August 25, 2026 13:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request execution-backends High Q3 Targeting Q3 milestones rhaas Rhapsody as a service

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants