Skip to content

fix(hub): use deterministic UUID for plugin broker IDs#148

Closed
scion-gteam[bot] wants to merge 1 commit into
mainfrom
fix/broker-plugin-uuid-id
Closed

fix(hub): use deterministic UUID for plugin broker IDs#148
scion-gteam[bot] wants to merge 1 commit into
mainfrom
fix/broker-plugin-uuid-id

Conversation

@scion-gteam
Copy link
Copy Markdown

@scion-gteam scion-gteam Bot commented Jun 5, 2026

Summary

  • After the α migration remaps legacy broker IDs (plugin-broker-telegram) to deterministic UUIDv5 values, the plugin credential injection code still used the raw string format
  • The store rejects non-UUID IDs, so CreateRuntimeBroker and GenerateAndStoreSecret both fail silently, skipping hub credential injection
  • Broker plugins (telegram, googlechat) start without hub_url or broker_id, dropping all inbound messages

Fix: derive the broker ID using the same UUIDv5(namespace, legacy_id) as the α migration.

Test plan

  • Deployed to scion-gteam — telegram plugin now receives hub_url=https://gteam.projects.scion-ai.dev and broker_id=7200a43f-...
  • Verified end-to-end: sent message via scion message → delivered on Telegram → reply received

…ration

The α migration remaps legacy string IDs like "plugin-broker-telegram" to
deterministic UUIDv5 values using a fixed namespace. However, the plugin
credential injection code in server_foreground.go still used the raw string
format as the broker ID. After the migration, the store validates UUIDs,
so CreateRuntimeBroker and GenerateAndStoreSecret both rejected the string
ID with "invalid UUID", silently skipping credential injection.

This caused broker plugins (telegram, googlechat) to start without hub_url
or broker_id, dropping all inbound messages after a hub restart.

Fix: generate the broker ID using the same UUIDv5(namespace, legacy_id)
derivation as the migration, so the ID matches what's already in the DB.
@ptone ptone closed this Jun 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant