feat(spec)!: prune still-dead aspirational config from Theme / Translation / Webhook (#3494)#3516
Merged
Merged
Conversation
…ation / Webhook (#3494) Removes the authorable-but-never-consumed props confirmed dead by the 2026-06 liveness audit (follow-up to #1878/#1893; same enforce-or-remove treatment as #2377/#3464): - Theme: spacing, breakpoints, logo, density, wcagContrast, rtl, touchTarget, keyboardNavigation (+ SpacingSchema, BreakpointsSchema, DensityModeSchema, WcagContrastLevelSchema and their aliases/types) — the objectui theme engine never emitted or consumed them. - Translation: fileOrganization, messageFormat, lazyLoad, cache (+ MessageFormatSchema, TranslationFileOrganizationSchema) — no ICU engine exists; interpolation is always simple substitution. - Webhook: body, payloadFields, includeSession, authentication (non-HMAC; HMAC via secret stays), retryPolicy, tags + the entire inbound WebhookReceiverSchema — the delivery path sends a fixed envelope and the outbox owns its own retry schedule. Liveness ledger entries for the removed props are dropped (dead->live flip for materialized props stays with #3490). Kept deliberately: supportedLocales (live pinyin-search reader), job retryPolicy/timeout (being built in the follow-up PR), and all webhook props materialized by the #3489 bridge. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
📓 Docs Drift CheckThis PR changes 2 package(s): 110 hand-written doc(s) reference the affected code and may need an implementation-accuracy re-verification:
|
…/retryPolicy props The liveness compile lint no longer warns on authentication — the prop (and its ledger entry) were removed outright, so the experimental-marker test case is obsolete; the showcase-shaped fixture loses its dead retryPolicy key. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #3494 (do not auto-close — the Job build-out PR completes it). Follow-up to the 2026-06 liveness audit; same enforce-or-remove treatment as #2377 / #3464 (PR #3486).
What
Removes every authorable-but-never-consumed prop the audit flagged that is still dead on main, re-verified before deletion:
Theme —
spacing,breakpoints,logo,density,wcagContrast,rtl,touchTarget,keyboardNavigation+ their dedicated sub-schemas (SpacingSchema,BreakpointsSchema,DensityModeSchema(+alias),WcagContrastLevelSchema(+alias)) and types. Verified against the objectui theme engine (packages/core/src/theme/ThemeEngine.ts):generateThemeVarsconsumes colors/typography/borderRadius/shadows/animation/zIndex/customVars only — none of the removed props is ever emitted as a CSS var.TouchTargetConfigSchema/FocusManagementSchemastay (owned by touch/keyboard schemas with their own consumers).Translation —
fileOrganization,messageFormat,lazyLoad,cache+MessageFormatSchema,TranslationFileOrganizationSchema. There is no ICU engine anywhere; interpolation is always simple{variable}substitution. File layout stays documented as a pure authoring convention. (supportedLocalesis kept — it has a live reader: the pinyin-search toggle inserve.ts:743.)Webhook —
body,payloadFields,includeSession,authentication(bearer/basic/api-key were never attached; HMAC viasecretstays),retryPolicy(outbox owns a fixed retry schedule),tags, and the entire inboundWebhookReceiverSchema(zero references repo-wide). The #3489 materializer reads none of the removed fields (mapWebhookToRowmaps name/label/object/triggers/url/method/description/isActive and stashes the envelope indefinition_json), so bridged delivery is unaffected. Removed props' liveness-ledger entries are dropped; the dead→live flip for materialized props stays with #3490.Versioning
minor+feat(spec)!:+ migration note, per the #2377/#3464 precedent (the launch-window guard rejects majors).Verification
WebhookConfigSchemaretry test that inherited the prune viaextends)check:api-surface/check:docs(253 files) /check:spec-changes/check:upgrade-guide/check:livenessall greengen:schemamanifest ratchet: 7 retired schema keys removed deliberately (automation/WebhookReceiver,system/MessageFormat,system/TranslationFileOrganization,ui/Breakpoints,ui/DensityMode,ui/Spacing,ui/WcagContrastLevel);integration/MessageFormat(message-queue serialization — different schema) untouchedturbo type-check --force: greenretryPolicy, crm/showcase/todo i18n dead knobs🤖 Generated with Claude Code