feat(shared-collections): admit 'topic' and 'queue' collection kinds (D2/D3)
Widen the group_collections kind allow-list (migration 0064) + the manifest CollectionKind enum + apply_service COLLECTION_KINDS to include 'topic' (D2, storeless publish namespace) and 'queue' (D3, group-keyed durable queue — store lands in 0065). Foundation shared by both milestones; routes through the existing owner-generic reconcile + resolve_owning_group path. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
-- §11.6 (cont., v1.2 Hierarchies): admit 'topic' and 'queue' as shared-
|
||||
-- collection kinds.
|
||||
--
|
||||
-- D2 (shared topics) + D3 (shared queues) extend the group shared-collection
|
||||
-- machinery from data stores (kv/docs/files) to the two event/messaging kinds.
|
||||
-- A shared TOPIC is storeless — it is a group-scoped publish NAMESPACE watched
|
||||
-- by `shared = true` group pubsub triggers (no per-kind storage table). A shared
|
||||
-- QUEUE gets its group-keyed message store in 0065 (D3). This migration only
|
||||
-- widens the marker allow-list; both kinds route through the same owner-generic
|
||||
-- reconcile + `resolve_owning_group` path as the data kinds.
|
||||
|
||||
-- Widen the marker kind allow-list (auto-named `group_collections_kind_check`,
|
||||
-- an inline column CHECK), matching 0054/0055.
|
||||
ALTER TABLE group_collections
|
||||
DROP CONSTRAINT group_collections_kind_check,
|
||||
ADD CONSTRAINT group_collections_kind_check
|
||||
CHECK (kind IN ('kv', 'docs', 'files', 'topic', 'queue'));
|
||||
Reference in New Issue
Block a user