Commit b4487aa
BREAKING CHANGE: @objectstack/spec/integration no longer exports the six
per-provider connector schemas — DatabaseConnectorSchema,
FileStorageConnectorSchema, GitHubConnectorSchema, MessageQueueConnectorSchema,
SaasConnectorSchema, VercelConnectorSchema — nor their ~100 sub-schema/type/
example exports (2,672 lines). The six generated reference pages go with them.
#4480 started as one dead key (DatabaseConnector.readReplicaConfig, found
while removing datasource.readReplicas in #4468) and scoped out to the whole
cluster: zero consumers for all six schemas. Nothing in the monorepo imported
any of them — not the automation engine (engine.registerConnector validates
against ConnectorSchema from connector.zod.ts, engine.ts:1379), not the
`connectors:` stack collection (DeclarativeConnectorEntrySchema), not even
their own module's live half.
They were the losing side of a decided architecture fight, left standing.
ADR-0023 rejected hand-modelling each external system's shape inside the spec;
ADR-0097's connector protocol does the opposite — provider shapes come from
the provider itself (connector-openapi materializes instances from an OpenAPI
document, connector-mcp from an MCP server). The templates hardcoded
Postgres/S3/GitHub/RabbitMQ/Vercel shapes nothing would ever read, and were
semantically wrong where they overlapped the live platform:
DatabaseConnectorSchema modelled "tables to sync", CDC, and readReplicaConfig
— read-replica routing declared a SECOND time, down to a `weight` field for a
load balancer that does not exist. External-database access is datasource
federation (ADR-0015), which is live and is not a connector.
The removal kit:
- integration/index.ts: six export lines removed; module header now records
the decision so the next reader finds the ADR trail, not a gap
- json-schema.manifest.json: 47 entries deleted deliberately (the gen:schema
ratchet's documented retirement path)
- authorable-surface.json: 365 lines deleted deliberately (gate (a)'s strict-
removal trip wire, whole-cluster edition)
- api-surface.json regenerated from the rebuilt dist
- docs: six connector-* reference pages deleted, plus three sibling pages
(message-queue/object-storage/tenant under references/integration) whose
entire content documented deleted-file exports; section meta + index
regenerated; hand-written tables in references/index.mdx and
getting-started/quick-reference.mdx rewritten around the one live protocol
- PROTOCOL_MAP.md: six rows collapsed into the connector.zod.ts row (the
protocol-map link test is what caught this surface)
- v17 release notes: dead-clusters table row
- changeset: major, with the no-migration rationale (these schemas validated
no stored metadata, so there is no D2 conversion to register — nothing to
rewrite)
No runtime behaviour changes: the ADR-0097 path — ConnectorSchema,
DeclarativeConnectorEntrySchema, the provider contract, connector-descriptor,
connector auth — is untouched, which the service-automation suite (609 tests)
confirms.
Follow-up filed: #4499 — automation/trigger-registry.zod.ts carries a THIRD
declaration of the same business need (its own ConnectorSchema cluster, ~440
lines, zero runtime consumers; the engine imports integration's schema).
Kept out of this PR: that file mixes the dead cluster with trigger-registry
exports that need individual verdicts.
Closes #4480
Claude-Session: https://claude.ai/code/session_01WsgTqRF58HsQYKLsrZ5pQY
Co-authored-by: Claude <noreply@anthropic.com>
1 parent 304423e commit b4487aa
32 files changed
Lines changed: 100 additions & 6167 deletions
File tree
- .changeset
- content/docs
- getting-started
- references
- integration
- releases
- packages/spec
- src/integration
- connector
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
193 | 193 | | |
194 | 194 | | |
195 | 195 | | |
196 | | - | |
| 196 | + | |
197 | 197 | | |
198 | | - | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
199 | 204 | | |
200 | 205 | | |
201 | 206 | | |
202 | | - | |
203 | | - | |
204 | | - | |
205 | | - | |
206 | | - | |
207 | | - | |
208 | | - | |
| 207 | + | |
209 | 208 | | |
210 | 209 | | |
211 | 210 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
| 33 | + | |
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| |||
313 | 313 | | |
314 | 314 | | |
315 | 315 | | |
316 | | - | |
| 316 | + | |
317 | 317 | | |
318 | | - | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
319 | 324 | | |
320 | 325 | | |
321 | 326 | | |
322 | | - | |
323 | | - | |
324 | | - | |
325 | | - | |
326 | | - | |
327 | | - | |
328 | | - | |
| 327 | + | |
329 | 328 | | |
330 | 329 | | |
331 | 330 | | |
| |||
Lines changed: 0 additions & 139 deletions
This file was deleted.
0 commit comments