From 7bbc09230ed3e58888ce26104c8b0d4ac3eda3af Mon Sep 17 00:00:00 2001 From: gastown/crew/george Date: Wed, 14 Jan 2026 21:25:36 -0800 Subject: [PATCH] fix(beads): use hq prefix for channel bead IDs Change ChannelBeadID to use hq-channel-* prefix instead of gt-channel-* to match the town-level beads database prefix, fixing the "prefix mismatch" error when creating channels. Co-Authored-By: Claude Opus 4.5 --- internal/beads/beads_channel.go | 9 +++++---- internal/beads/beads_channel_test.go | 6 +++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/internal/beads/beads_channel.go b/internal/beads/beads_channel.go index db8cc24f..55a369b2 100644 --- a/internal/beads/beads_channel.go +++ b/internal/beads/beads_channel.go @@ -127,14 +127,15 @@ func ParseChannelFields(description string) *ChannelFields { return fields } -// ChannelBeadID returns the bead ID for a channel name. -// Format: gt-channel- +// ChannelBeadID returns the channel bead ID for a given channel name. +// Format: hq-channel- for town-level channels (default). +// Town-level channels are stored in the shared beads database. func ChannelBeadID(name string) string { - return "gt-channel-" + name + return "hq-channel-" + name } // CreateChannelBead creates a channel bead for pub/sub messaging. -// The ID format is: gt-channel- (e.g., gt-channel-alerts) +// The ID format is: hq-channel- (e.g., hq-channel-alerts) for town-level. // The created_by field is populated from BD_ACTOR env var for provenance tracking. func (b *Beads) CreateChannelBead(name string, subscribers []string, createdBy string) (*Issue, error) { id := ChannelBeadID(name) diff --git a/internal/beads/beads_channel_test.go b/internal/beads/beads_channel_test.go index 18b472bd..6dc9a163 100644 --- a/internal/beads/beads_channel_test.go +++ b/internal/beads/beads_channel_test.go @@ -213,9 +213,9 @@ func TestChannelBeadID(t *testing.T) { name string want string }{ - {"alerts", "gt-channel-alerts"}, - {"builds", "gt-channel-builds"}, - {"team-updates", "gt-channel-team-updates"}, + {"alerts", "hq-channel-alerts"}, + {"builds", "hq-channel-builds"}, + {"team-updates", "hq-channel-team-updates"}, } for _, tt := range tests {