|
| 1 | +--- |
| 2 | +'@objectstack/spec': patch |
| 3 | +--- |
| 4 | + |
| 5 | +docs(spec): the connector header no longer teaches `retryConfig` as the remedy for a rate-limited upstream (#18983) |
| 6 | + |
| 7 | +`packages/spec/src/integration/connector.zod.ts` ships inside this package — |
| 8 | +`files[]` carries `src/**/*.zod.ts`, and the file is present in the published |
| 9 | +tarball — so its header TSDoc is text consumers read, and the generated |
| 10 | +reference page is rendered from it. That header ended its "no outbound rate |
| 11 | +limiting" paragraph with "what L3 does declare for a rate-limited upstream is |
| 12 | +`retryConfig` — whose `retryableStatusCodes` default `[408, 429, 500, 502, 503, |
| 13 | +504]` includes `429` — and `health.circuitBreaker`", which reads as a remedy. |
| 14 | + |
| 15 | +It is not one. `packages/spec/liveness/connector.json` records all eight |
| 16 | +`retryConfig` sub-keys and every `health.circuitBreaker` sub-key as `dead` |
| 17 | +(verifiedAt 2026-09-17), and outside `packages/spec` nothing reads either: no |
| 18 | +retry loop consumes the strategy, the backoff, the jitter or that status-code |
| 19 | +list, so the `429` in it never causes a retry, and no breaker ever opens. An |
| 20 | +author who followed that sentence wrote configuration that parses, stores, and |
| 21 | +is then silently ignored. |
| 22 | + |
| 23 | +The sentence now carries the wording PR #18979 landed for the same claim in |
| 24 | +`packages/spec/docs/SYNC_ARCHITECTURE.md`: both keys are **declared but |
| 25 | +currently unimplemented**, with a pointer to the liveness ledger, and they are |
| 26 | +explicitly neither retired — both are still declared and still parse, so an |
| 27 | +author writing them sees no error — nor left to the host, since |
| 28 | +`ConnectorProviderContext` carries exactly `name`, `label`, `description`, |
| 29 | +`icon`, `type`, `providerConfig`, `auth` and `loadPackageFile`, and a provider |
| 30 | +factory is therefore never handed either key. |
| 31 | + |
| 32 | +**Prose only — zero behaviour change.** No schema, declaration, default or |
| 33 | +accept set moves, and the keys' fate stays ADR-0049's to rule on rather than |
| 34 | +being prejudged here. The generated reference page |
| 35 | +`content/docs/references/integration/connector.mdx` follows from `gen:docs`; it |
| 36 | +is not published by any package in this workspace. |
0 commit comments