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:
MechaCat02
2026-07-02 21:32:41 +02:00
parent 137103a429
commit ae8f0be748
4 changed files with 28 additions and 2 deletions

View File

@@ -270,6 +270,12 @@ pub enum CollectionKind {
Kv,
Docs,
Files,
/// §11.6 D2: a storeless group-scoped publish namespace, watched by
/// `shared = true` group pubsub triggers.
Topic,
/// §11.6 D3: a group-keyed durable queue with competing per-descendant
/// consumers.
Queue,
}
impl CollectionKind {
@@ -279,6 +285,8 @@ impl CollectionKind {
Self::Kv => "kv",
Self::Docs => "docs",
Self::Files => "files",
Self::Topic => "topic",
Self::Queue => "queue",
}
}
}