Skip to content

Commit 04b60ff

Browse files
committed
docs(#14646): correct the two services-checklist claims this change falsified
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ARYe3yQTQCUFm5qPYNgKaJ
1 parent ff61752 commit 04b60ff

1 file changed

Lines changed: 14 additions & 2 deletions

File tree

content/docs/kernel/services-checklist.mdx

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,15 @@ The `services` map still reports a registered stub as
207207
it to `unavailable` — "something is in this slot, and it is a fake" says more
208208
than "install a plugin".
209209

210+
Exactly one slot answers `enabled` by a different question, and the exception is
211+
declared rather than incidental: `realtime` is a **channel slot**
212+
(`CHANNEL_SURFACE_SLOTS`, `@objectstack/spec/api`), so its `enabled` is
213+
`isSubscribableChannel()``handlerReady: true` **and** a connectable route — instead of
214+
"the slot is filled" (#14646). A registered realtime stub therefore reads
215+
`{ enabled: false, status: "stub", handlerReady: false }`. `status` still carries the
216+
"something is in this slot" half, which is why the entry is not collapsed to
217+
`unavailable`. Every other slot follows the sentence above.
218+
210219
---
211220

212221
## 2. data Service ✅ Implemented
@@ -584,8 +593,11 @@ When a plugin registers a service, the discovery endpoint automatically updates:
584593
`__serviceInfo`, which is reported verbatim instead)
585594
- `routes.auth``"/api/v1/auth"` appears in routes
586595
- `features` flags follow for the slots that have one — `search`, `files`,
587-
`analytics`, `ai`, `workflow`, `notifications`, `i18n` (`websockets` is hardcoded
588-
`false`; there is no `features.auth`)
596+
`analytics`, `ai`, `workflow`, `notifications`, `i18n` (`websockets` does **not**
597+
follow slot presence: it is `isSubscribableChannel(services.realtime)` — `handlerReady:
598+
true` **and** a connectable route — so registering a realtime service does not flip it,
599+
and it reads `false` on every host the open framework ships, #14646; there is no
600+
`features.auth`)
589601

590602
---
591603

0 commit comments

Comments
 (0)