You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(spec): annotate schema-only event/subscription/connector enums as not-yet-enforced (#3197) (#3212)
Per-surface confirmation of the #3197 audit, then option (c) for every
surviving row: explicit 'not yet enforced / not yet implemented' notes in
the schemas' doc comments and .describe() texts, plus regenerated
reference docs. No runtime behavior or schema shape changes.
- GraphQLSubscriptionConfigSchema: no subscription transport; HTTP entry
serves query/mutation only
- websocket.zod.ts module + WebSocketMessageType: no WS server mounted
(#2462); future wire contract
- RealtimeEventType: zero runtime importers; engine emits data.record.*
literals that don't match the enum; field.changed never emitted
- connector.zod.ts webhooks/triggers: registerConnector reads only
actions; events/trigger defs parse but are never dispatched or polled
- trigger-registry.zod.ts ConnectorTriggerSchema/TriggerRegistrySchema:
unconsumed; 'stream' exists only here
- NotificationChannelSchema + NotificationChannel contract type:
implemented channels are inbox/email/sms; others dead-letter; enum says
'in-app' but the registered channel id is 'inbox'
SubscriptionEventType (audit row 5) was already removed by the
feed-contract retirement (#1959) — nothing left to annotate.
Claude-Session: https://claude.ai/code/session_01ToaDWi9wbS2cHNWVyqgkrL
Co-authored-by: Claude <noreply@anthropic.com>
Annotate the schema-only event/subscription/connector surfaces flagged by the #3197 audit with explicit "not yet enforced / not yet implemented" notes in their doc comments and `.describe()` texts, so authoring metadata against them is no longer silently swallowed. No runtime behavior or schema shape changes — documentation only.
6
+
7
+
Surfaces annotated (each trace re-confirmed against the current tree before annotating):
8
+
9
+
-`GraphQLSubscriptionConfigSchema` (`api/graphql.zod.ts`) — no subscription transport exists; the GraphQL HTTP entry serves query/mutation only.
10
+
-`WebSocketMessageType` + module header (`api/websocket.zod.ts`) — no WebSocket server is mounted (#2462); the protocol is a future wire contract.
11
+
-`RealtimeEventType` (`api/realtime.zod.ts`) — zero runtime importers; the engine emits `data.record.*` names (which don't match this enum's members) and nothing emits `field.changed`.
12
+
- Connector `webhooks`/`WebhookConfigSchema`/`WebhookEventSchema` and `triggers`/`ConnectorTriggerSchema` (`integration/connector.zod.ts`) — `AutomationEngine.registerConnector` reads only `actions`; webhook events and trigger definitions parse but are never dispatched or polled.
13
+
- Automation `ConnectorTriggerSchema`/`TriggerRegistrySchema` (`automation/trigger-registry.zod.ts`) — no runtime importer; the `stream` trigger mechanism exists only here.
14
+
-`NotificationChannelSchema` (`system/notification.zod.ts`) + the mirrored `NotificationChannel` contract type — implemented delivery channels are `inbox`/`email`/`sms`; `push`/`slack`/`teams`/`webhook` dead-letter, and the enum's `in-app` does not match the registered `inbox` channel id.
15
+
16
+
The audit's sixth row (`SubscriptionEventType`, formerly `data/subscription.zod.ts`) needed no annotation — it was already removed outright by the feed-contract retirement (#1959).
Copy file name to clipboardExpand all lines: content/docs/references/api/graphql.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -451,7 +451,7 @@ const result = FederationEntity.parse(data);
451
451
| :--- | :--- | :--- | :--- |
452
452
|**name**|`string`| ✅ | Subscription field name (camelCase recommended) |
453
453
|**object**|`string`| ✅ | Source ObjectQL object name |
454
-
|**events**|`Enum<'created' \| 'updated' \| 'deleted' \| 'custom'>[]`| ✅ | Events to subscribe to |
454
+
|**events**|`Enum<'created' \| 'updated' \| 'deleted' \| 'custom'>[]`| ✅ | Events to subscribe to (not yet implemented — no subscription transport exists; see #3197) |
|**providerConfig**|`Record<string, any>`| optional | Provider-specific config validated by the provider factory at boot (e.g. `{ spec, baseUrl }` for openapi, where spec is an inline document, a package-relative file path like './billing-openapi.json', or an http(s) URL). Requires `provider`. |
|**connectionTimeoutMs**|`number`| optional | Connection timeout in ms |
@@ -307,10 +307,10 @@ Connector type
307
307
|**providerConfig**|`Record<string, any>`| optional | Provider-specific config validated by the provider factory at boot (e.g. `{ spec, baseUrl }` for openapi, where spec is an inline document, a package-relative file path like './billing-openapi.json', or an http(s) URL). Requires `provider`. |
0 commit comments