What
The D3 semantic entry etl-pipeline-layer-retired (packages/spec/src/migrations/entries/semantic/17.etl-pipeline-layer-retired.ts:14-15) says, in its replacement field:
connector-attached synchronisation is ConnectorSchema.syncConfig (integration/connector.zod.ts), which IS parsed and executed
replacement is a projected field (ADR-0087 D4): the sentence is published verbatim in packages/spec/spec-changes.json (:739, and again in the composed record at :1818) and in docs/protocol-upgrade-guide.md:443 — it is the advice an author upgrading past the ETL layer's retirement reads, and spec-changes.json ships in the @objectstack/spec tarball.
"Executed" is not true of this tree. syncConfig has no reader outside packages/spec: git grep -n -P '\bsyncConfig\b' -- packages ':!packages/spec/**' ':!**/*.test.ts' → two comment lines in the D7 expression-conformance ledger and nothing else (control: 12 files inside packages/spec/src). No engine runs a connector-attached sync of any kind; the #15954 ruling retired syncConfig.schedule on exactly that finding, and the #16320 D2 conversion connector-sync-schedule-removed and D3 entry connector-sync-schedule-retired both record "no engine schedules a connector sync". "Parsed" is true; "executed" is a claim the sentence inherited from the #6414 direction reversal and nobody measured.
Why a card
Category (b): a registered, projected ledger string claims a capability the runtime does not deliver — the class the #5781 correction fixed for ui-notification-action-embed-config-retired (a D3 entry republishing a falsified premise; that fix moved the sentence and pinned it in migrations.test.ts). Outside #16320's scope: a different family, and correcting a released migration-ledger sentence is its own docs-only change (AGENTS.md Documentation Guardrails: the registry entry is the input, spec-changes.json and the guide regenerate from it).
Fix shape (small)
Amend the entry's replacement to the measured fact — ConnectorSchema.syncConfig is parsed and validated; nothing on the platform executes a connector-attached sync from it — then pnpm --filter @objectstack/spec gen:spec-changes and gen:upgrade-guide, check:generated green, and a pin in migrations.test.ts beside the #5781 one so the corrected sentence cannot regress. Clause-②: no — the accept set does not move; a patch changeset on @objectstack/spec, since the published spec-changes.json changes.
Found while executing #16320 (PR #17146); out of that card's scope.
Generated by Claude Code
What
The D3 semantic entry
etl-pipeline-layer-retired(packages/spec/src/migrations/entries/semantic/17.etl-pipeline-layer-retired.ts:14-15) says, in itsreplacementfield:replacementis a projected field (ADR-0087 D4): the sentence is published verbatim inpackages/spec/spec-changes.json(:739, and again in the composed record at:1818) and indocs/protocol-upgrade-guide.md:443— it is the advice an author upgrading past the ETL layer's retirement reads, andspec-changes.jsonships in the@objectstack/spectarball."Executed" is not true of this tree.
syncConfighas no reader outsidepackages/spec:git grep -n -P '\bsyncConfig\b' -- packages ':!packages/spec/**' ':!**/*.test.ts'→ two comment lines in the D7 expression-conformance ledger and nothing else (control: 12 files insidepackages/spec/src). No engine runs a connector-attached sync of any kind; the #15954 ruling retiredsyncConfig.scheduleon exactly that finding, and the #16320 D2 conversionconnector-sync-schedule-removedand D3 entryconnector-sync-schedule-retiredboth record "no engine schedules a connector sync". "Parsed" is true; "executed" is a claim the sentence inherited from the #6414 direction reversal and nobody measured.Why a card
Category (b): a registered, projected ledger string claims a capability the runtime does not deliver — the class the #5781 correction fixed for
ui-notification-action-embed-config-retired(a D3 entry republishing a falsified premise; that fix moved the sentence and pinned it inmigrations.test.ts). Outside #16320's scope: a different family, and correcting a released migration-ledger sentence is its own docs-only change (AGENTS.md Documentation Guardrails: the registry entry is the input,spec-changes.jsonand the guide regenerate from it).Fix shape (small)
Amend the entry's
replacementto the measured fact —ConnectorSchema.syncConfigis parsed and validated; nothing on the platform executes a connector-attached sync from it — thenpnpm --filter @objectstack/spec gen:spec-changesandgen:upgrade-guide,check:generatedgreen, and a pin inmigrations.test.tsbeside the #5781 one so the corrected sentence cannot regress.Clause-②: no — the accept set does not move; apatchchangeset on@objectstack/spec, since the publishedspec-changes.jsonchanges.Found while executing #16320 (PR #17146); out of that card's scope.
Generated by Claude Code