From 26b91ecf8c7a6fe79af688065877c464969cc858 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 30 Sep 2026 00:38:46 +0000 Subject: [PATCH 1/3] docs(spec): re-anchor the dead tracker citations in migrations/entries to the commits that decided them Every dead tracker number in the hand-written migration entries (131 sites over 21 numbers, all comments; one in entries/README.md) now cites the commit that decided it, in ruling C+D form C, with the decision in words where the number alone carried it. The anchors are the ones earlier stages chose for the same numbers. Lit citations on the same lines stay. Comment text only: no entry id, literal, order or code token moves. Claude-Session: https://claude.ai/code/session_014EJ1ED8X4MMrT18BhVx4tx Co-authored-by: Claude --- packages/spec/src/migrations/entries/README.md | 2 +- .../entries/retired-defs/17.api__CreateViewRequest.ts | 2 +- .../entries/retired-defs/18.api__CrudEndpointPattern.ts | 2 +- .../retired-defs/18.api__MetadataEffectiveResponse.ts | 6 +++--- .../retired-defs/18.api__MetadataOverlayResponse.ts | 6 +++--- .../retired-defs/18.api__MetadataOverlaySaveRequest.ts | 6 +++--- .../retired-defs/18.api__PackageRollbackResponse.ts | 4 ++-- .../entries/retired-defs/18.identity__ApiKey.ts | 2 +- .../18.integration__ConnectorErrorCategory.ts | 2 +- .../retired-defs/18.integration__ErrorMappingConfig.ts | 2 +- .../retired-defs/18.integration__ErrorMappingRule.ts | 2 +- .../retired-defs/18.kernel__CLICommandContribution.ts | 2 +- .../retired-defs/18.kernel__CustomizationOrigin.ts | 6 +++--- .../retired-defs/18.kernel__CustomizationPolicy.ts | 6 +++--- .../entries/retired-defs/18.kernel__FieldChange.ts | 6 +++--- .../entries/retired-defs/18.kernel__MergeConflict.ts | 6 +++--- .../entries/retired-defs/18.kernel__MergeResult.ts | 6 +++--- .../retired-defs/18.kernel__MergeStrategyConfig.ts | 6 +++--- .../entries/retired-defs/18.kernel__MetadataOverlay.ts | 6 +++--- .../entries/retired-defs/18.kernel__PreviewModeConfig.ts | 4 ++-- .../entries/retired-defs/18.shared__EventName.ts | 2 +- .../entries/retired-defs/18.shared__ObjectName.ts | 2 +- .../entries/retired-defs/18.ui__BorderRadius.ts | 2 +- .../entries/retired-defs/18.ui__ColorPalette.ts | 2 +- .../src/migrations/entries/retired-defs/18.ui__Shadow.ts | 2 +- .../src/migrations/entries/retired-defs/18.ui__Theme.ts | 4 ++-- .../migrations/entries/retired-defs/18.ui__ThemeMode.ts | 2 +- .../migrations/entries/retired-defs/18.ui__Typography.ts | 2 +- .../17.api__ListNotificationsRequest__cursor.ts | 4 ++-- .../18.api__BatchEndpointsConfig__defaultAtomic.ts | 4 ++-- ...18.api__BatchEndpointsConfig__operations.upsertMany.ts | 4 ++-- .../18.api__CrudEndpointsConfig__objectParamStyle.ts | 4 ++-- .../retired-keys/18.api__CrudEndpointsConfig__patterns.ts | 8 ++++---- .../18.api__ListInstalledPackagesRequest__limit.ts | 2 +- .../18.api__MetadataEndpointsConfig__cacheTtl.ts | 4 ++-- .../18.api__MetadataEndpointsConfig__endpoints.schema.ts | 4 ++-- .../18.api__RestApiEndpoint__handlerStatus.ts | 2 +- .../18.api__RouteGenerationConfig__excludeObjects.ts | 4 ++-- .../18.api__RouteGenerationConfig__includeObjects.ts | 4 ++-- .../18.api__RouteGenerationConfig__nameTransform.ts | 4 ++-- .../18.api__RouteGenerationConfig__overrides.ts | 6 +++--- .../entries/retired-keys/18.api__SessionUser__language.ts | 2 +- .../entries/retired-keys/18.data__Metric__filters.ts | 2 +- .../18.integration__Connector__errorMapping.ts | 2 +- ...ntegration__DeclarativeConnectorEntry__errorMapping.ts | 2 +- .../retired-keys/18.kernel__KernelContext__previewMode.ts | 4 ++-- .../retired-keys/18.kernel__Manifest__capabilities.ts | 2 +- .../retired-keys/18.kernel__Manifest__configuration.ts | 2 +- .../18.kernel__Manifest__contributes.actions.ts | 2 +- .../18.kernel__Manifest__contributes.commands.ts | 2 +- .../18.kernel__Manifest__contributes.drivers.ts | 2 +- .../18.kernel__Manifest__contributes.events.ts | 4 ++-- .../18.kernel__Manifest__contributes.fieldTypes.ts | 2 +- .../18.kernel__Manifest__contributes.functions.ts | 2 +- .../18.kernel__Manifest__contributes.menus.ts | 2 +- .../18.kernel__Manifest__contributes.routes.ts | 8 ++++---- .../18.kernel__Manifest__contributes.themes.ts | 2 +- .../18.kernel__Manifest__contributes.translations.ts | 2 +- .../retired-keys/18.kernel__Manifest__extensions.ts | 2 +- ..._MetadataManagerConfig__persistence.overlayWritable.ts | 4 ++-- .../18.kernel__MetadataPluginConfig__additionalTypes.ts | 2 +- ...kernel__MetadataPluginConfig__customizationPolicies.ts | 4 ++-- .../18.kernel__MetadataPluginConfig__mergeStrategy.ts | 4 ++-- .../18.kernel__TenantRuntimeContext__previewMode.ts | 2 +- .../18.security__ObjectPermission__allowPurge.ts | 2 +- .../18.security__ObjectPermission__allowRestore.ts | 2 +- .../retired-keys/18.ui__ElementFilterProps__aria.ts | 2 +- .../retired-keys/18.ui__ElementFilterProps__fields.ts | 2 +- .../retired-keys/18.ui__ElementFilterProps__layout.ts | 2 +- .../retired-keys/18.ui__ElementFilterProps__object.ts | 2 +- .../retired-keys/18.ui__ElementFilterProps__showSearch.ts | 2 +- .../18.ui__ElementFilterProps__targetVariable.ts | 2 +- .../entries/retired-keys/18.ui__ElementFormProps__aria.ts | 2 +- .../retired-keys/18.ui__ElementFormProps__fields.ts | 2 +- .../entries/retired-keys/18.ui__ElementFormProps__mode.ts | 2 +- .../retired-keys/18.ui__ElementFormProps__object.ts | 2 +- .../retired-keys/18.ui__ElementFormProps__onSubmit.ts | 2 +- .../retired-keys/18.ui__ElementFormProps__submitLabel.ts | 2 +- .../18.ui__ElementRecordPickerProps__targetVariable.ts | 2 +- .../18.ui__ElementTextInputProps__targetVariable.ts | 2 +- .../retired-keys/18.ui__ObjectGridProps__defaultSort.ts | 2 +- .../retired-keys/18.ui__PageComponent__responsive.ts | 2 +- .../retired-keys/18.ui__RecordHighlightsField__icon.ts | 2 +- ...18.client-envelope-convergence-analytics-automation.ts | 4 ++-- .../semantic/18.client-oauth-applications-delete-void.ts | 4 ++-- ...e-credentialsref-mongo-composed-no-username-refused.ts | 2 +- 86 files changed, 133 insertions(+), 133 deletions(-) diff --git a/packages/spec/src/migrations/entries/README.md b/packages/spec/src/migrations/entries/README.md index c4583a4a937..17d76cc4e9d 100644 --- a/packages/spec/src/migrations/entries/README.md +++ b/packages/spec/src/migrations/entries/README.md @@ -82,7 +82,7 @@ into the registry; the run of `//` comments immediately above `export const entr sentence once here and once there. This tree's one code/prose separator masks **comments** and leaves **string literals** intact on purpose, so to every scan built on it a quoted example is code — which is how prose in `packages/spec` turns - **another package's** test red. Measured on #14526: the new entry named four retired + **another package's** test red. Measured while landing commit db16b9424: the new entry named four retired call sites in their call spelling — the method with its opening parenthesis — `packages/client/src/envelope-caller-census.test.ts` counted 46 against the 28 it pins (nine mentions, each counted twice) and `Test Core` went red; respelling them diff --git a/packages/spec/src/migrations/entries/retired-defs/17.api__CreateViewRequest.ts b/packages/spec/src/migrations/entries/retired-defs/17.api__CreateViewRequest.ts index 1b0ef5e530b..05cf82bc576 100644 --- a/packages/spec/src/migrations/entries/retired-defs/17.api__CreateViewRequest.ts +++ b/packages/spec/src/migrations/entries/retired-defs/17.api__CreateViewRequest.ts @@ -1,4 +1,4 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #6239 — api/protocol.zod.ts view-management operations +// Commit f549a0d4a — api/protocol.zod.ts view-management operations export const entry = 'api/CreateViewRequest'; diff --git a/packages/spec/src/migrations/entries/retired-defs/18.api__CrudEndpointPattern.ts b/packages/spec/src/migrations/entries/retired-defs/18.api__CrudEndpointPattern.ts index 2f17c6d8c6d..4d1efd4b2b5 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.api__CrudEndpointPattern.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.api__CrudEndpointPattern.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #14691 — `api/CrudEndpointPattern` (the `{ method, path, summary, description }` +// Commit b3a63d32c — `api/CrudEndpointPattern` (the `{ method, path, summary, description }` // value shape of `crud.patterns`) leaves with its carrier key: its ONLY consumer // was `CrudEndpointsConfigSchema.patterns`, tombstoned in the same change under // ADR-0049 enforce-or-remove, and an exported value schema with no consumer diff --git a/packages/spec/src/migrations/entries/retired-defs/18.api__MetadataEffectiveResponse.ts b/packages/spec/src/migrations/entries/retired-defs/18.api__MetadataEffectiveResponse.ts index 95837636ed1..dd0873b82cc 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.api__MetadataEffectiveResponse.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.api__MetadataEffectiveResponse.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on -// #12057: retirement adopted, re-scope rejected; re-charter #13135 executes +// Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on +// #12057: retirement adopted, re-scope rejected; re-chartered, that commit executes // the widened surface). Part of the whole-module removal of // `kernel/metadata-customization.zod.ts` — the paper three-layer // customization protocol ADR-0126 §6 wall 4 supersedes on the record @@ -21,6 +21,6 @@ // boundary where `migrate meta` users look. No carrier key survives for // these defs and no authored document embedded them, so no tombstone and no // D2 conversion — this table plus the D3 semantic entry -// `metadata-customization-protocol-retired` ARE the declaration (the #8715 +// `metadata-customization-protocol-retired` ARE the declaration (commit 2c86fe3ea's // route-3 shape). export const entry = 'api/MetadataEffectiveResponse'; diff --git a/packages/spec/src/migrations/entries/retired-defs/18.api__MetadataOverlayResponse.ts b/packages/spec/src/migrations/entries/retired-defs/18.api__MetadataOverlayResponse.ts index 7cb2dd8f62b..d7747cd9da0 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.api__MetadataOverlayResponse.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.api__MetadataOverlayResponse.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on -// #12057: retirement adopted, re-scope rejected; re-charter #13135 executes +// Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on +// #12057: retirement adopted, re-scope rejected; re-chartered, that commit executes // the widened surface). Part of the whole-module removal of // `kernel/metadata-customization.zod.ts` — the paper three-layer // customization protocol ADR-0126 §6 wall 4 supersedes on the record @@ -20,6 +20,6 @@ // boundary where `migrate meta` users look. No carrier key survives for // these defs and no authored document embedded them, so no tombstone and no // D2 conversion — this table plus the D3 semantic entry -// `metadata-customization-protocol-retired` ARE the declaration (the #8715 +// `metadata-customization-protocol-retired` ARE the declaration (commit 2c86fe3ea's // route-3 shape). export const entry = 'api/MetadataOverlayResponse'; diff --git a/packages/spec/src/migrations/entries/retired-defs/18.api__MetadataOverlaySaveRequest.ts b/packages/spec/src/migrations/entries/retired-defs/18.api__MetadataOverlaySaveRequest.ts index ff89d3c7f56..ec18a6b0dcf 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.api__MetadataOverlaySaveRequest.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.api__MetadataOverlaySaveRequest.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on -// #12057: retirement adopted, re-scope rejected; re-charter #13135 executes +// Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on +// #12057: retirement adopted, re-scope rejected; re-chartered, that commit executes // the widened surface). Part of the whole-module removal of // `kernel/metadata-customization.zod.ts` — the paper three-layer // customization protocol ADR-0126 §6 wall 4 supersedes on the record @@ -19,6 +19,6 @@ // boundary where `migrate meta` users look. No carrier key survives for // these defs and no authored document embedded them, so no tombstone and no // D2 conversion — this table plus the D3 semantic entry -// `metadata-customization-protocol-retired` ARE the declaration (the #8715 +// `metadata-customization-protocol-retired` ARE the declaration (commit 2c86fe3ea's // route-3 shape). export const entry = 'api/MetadataOverlaySaveRequest'; diff --git a/packages/spec/src/migrations/entries/retired-defs/18.api__PackageRollbackResponse.ts b/packages/spec/src/migrations/entries/retired-defs/18.api__PackageRollbackResponse.ts index 30ad85f7989..544427baa8a 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.api__PackageRollbackResponse.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.api__PackageRollbackResponse.ts @@ -12,7 +12,7 @@ // §5.2): only its own unit test and the #11925 negative guard, both updated // in the retiring PR. No carrier key, no authored document, so no tombstone // and no D2 conversion — this table plus the D3 semantic entry -// `package-rollback-response-retired` ARE the declaration (the #8715 route-3 +// `package-rollback-response-retired` ARE the declaration (commit 2c86fe3ea's route-3 // shape). The live route's true contract is // `RollbackToPackageCommitResponseSchema` (`api/package-lifecycle.zod.ts`), // authored in the same PR AFTER this retirement per the ruling's sequencing. @@ -20,5 +20,5 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // removal ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8586 / #8715 precedent). +// boundary where `migrate meta` users look (the #8586 / commit 2c86fe3ea precedent). export const entry = 'api/PackageRollbackResponse'; diff --git a/packages/spec/src/migrations/entries/retired-defs/18.identity__ApiKey.ts b/packages/spec/src/migrations/entries/retired-defs/18.identity__ApiKey.ts index 802ad59ee8e..99e964f28c1 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.identity__ApiKey.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.identity__ApiKey.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #8715 — identity/identity.zod.ts `ApiKeySchema`, retired whole (ADR-0049 +// Commit 2c86fe3ea — identity/identity.zod.ts `ApiKeySchema`, retired whole (ADR-0049 // enforce-or-remove; maintainer ruling 2026-08-15, disposition B: delete). // The schema documented better-auth's `apiKey` PLUGIN shape — a plugin this // platform does not load: `start`, `lastRefetchAt`, `enabled` (the real diff --git a/packages/spec/src/migrations/entries/retired-defs/18.integration__ConnectorErrorCategory.ts b/packages/spec/src/migrations/entries/retired-defs/18.integration__ConnectorErrorCategory.ts index 4786590d8fb..8a8ad7821f7 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.integration__ConnectorErrorCategory.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.integration__ConnectorErrorCategory.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #14676 — `integration/ConnectorErrorCategory` (the 8-value connector-side +// Commit 13c48c2a5 — `integration/ConnectorErrorCategory` (the 8-value connector-side // error category enum) left with its two carriers: `ErrorMappingRule.targetCategory` // and `ErrorMappingConfig.defaultCategory`, both retired in this same major // (`RETIRED_DEFS_BY_MAJOR[18]`). Measured before removal: outside the declaring diff --git a/packages/spec/src/migrations/entries/retired-defs/18.integration__ErrorMappingConfig.ts b/packages/spec/src/migrations/entries/retired-defs/18.integration__ErrorMappingConfig.ts index 86575c8578e..2aaa5aca4b4 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.integration__ErrorMappingConfig.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.integration__ErrorMappingConfig.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #14676 — `integration/ErrorMappingConfig` (`rules`, `defaultCategory`, +// Commit 13c48c2a5 — `integration/ErrorMappingConfig` (`rules`, `defaultCategory`, // `unmappedBehavior`, `logUnmapped`) leaves with its only carrier: // `ConnectorSchema.errorMapping`, tombstoned in this same major under ADR-0049 // enforce-or-remove (`RETIRED_KEYS_BY_MAJOR[18]`). Nothing outside the declaring diff --git a/packages/spec/src/migrations/entries/retired-defs/18.integration__ErrorMappingRule.ts b/packages/spec/src/migrations/entries/retired-defs/18.integration__ErrorMappingRule.ts index b80b71ac5f7..ce279ac17fb 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.integration__ErrorMappingRule.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.integration__ErrorMappingRule.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #14676 — `integration/ErrorMappingRule` (`sourceCode`, `sourceMessage`, +// Commit 13c48c2a5 — `integration/ErrorMappingRule` (`sourceCode`, `sourceMessage`, // `targetCode`, `targetCategory`, `severity`, `retryable`, `userMessage`) leaves // with `integration/ErrorMappingConfig`, whose `rules[]` was its only carrier. // The `userMessage` member is the reason the census filed the card: its diff --git a/packages/spec/src/migrations/entries/retired-defs/18.kernel__CLICommandContribution.ts b/packages/spec/src/migrations/entries/retired-defs/18.kernel__CLICommandContribution.ts index d7a0a51a19b..2a280e6aadb 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.kernel__CLICommandContribution.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.kernel__CLICommandContribution.ts @@ -5,7 +5,7 @@ // (ADR-0049 enforce-or-remove; triage graded 2026-08-25, the exported // orphan-value-schema class — #3950). The pair described a "CLI Command // Contribution declaration in the manifest" and claimed retention "for -// describing command metadata in plugin manifests" — but after #10724 +// describing command metadata in plugin manifests" — but after commit be21955ba // tombstoned `manifest.contributes.commands`, no manifest surface could // legally carry these entries: the exported schema advertised a shape whose // only declared carrier rejects it. The manifest never referenced this schema diff --git a/packages/spec/src/migrations/entries/retired-defs/18.kernel__CustomizationOrigin.ts b/packages/spec/src/migrations/entries/retired-defs/18.kernel__CustomizationOrigin.ts index 7c20b0cf28b..1ca3a68571a 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.kernel__CustomizationOrigin.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.kernel__CustomizationOrigin.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on -// #12057: retirement adopted, re-scope rejected; re-charter #13135 executes +// Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on +// #12057: retirement adopted, re-scope rejected; re-chartered, that commit executes // the widened surface). Part of the whole-module removal of // `kernel/metadata-customization.zod.ts` — the paper three-layer // customization protocol ADR-0126 §6 wall 4 supersedes on the record @@ -19,6 +19,6 @@ // boundary where `migrate meta` users look. No carrier key survives for // these defs and no authored document embedded them, so no tombstone and no // D2 conversion — this table plus the D3 semantic entry -// `metadata-customization-protocol-retired` ARE the declaration (the #8715 +// `metadata-customization-protocol-retired` ARE the declaration (commit 2c86fe3ea's // route-3 shape). export const entry = 'kernel/CustomizationOrigin'; diff --git a/packages/spec/src/migrations/entries/retired-defs/18.kernel__CustomizationPolicy.ts b/packages/spec/src/migrations/entries/retired-defs/18.kernel__CustomizationPolicy.ts index 3a8bd2a325e..e81fc4b33dc 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.kernel__CustomizationPolicy.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.kernel__CustomizationPolicy.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on -// #12057: retirement adopted, re-scope rejected; re-charter #13135 executes +// Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on +// #12057: retirement adopted, re-scope rejected; re-chartered, that commit executes // the widened surface). Part of the whole-module removal of // `kernel/metadata-customization.zod.ts` — the paper three-layer // customization protocol ADR-0126 §6 wall 4 supersedes on the record @@ -21,6 +21,6 @@ // boundary where `migrate meta` users look. No carrier key survives for // these defs and no authored document embedded them, so no tombstone and no // D2 conversion — this table plus the D3 semantic entry -// `metadata-customization-protocol-retired` ARE the declaration (the #8715 +// `metadata-customization-protocol-retired` ARE the declaration (commit 2c86fe3ea's // route-3 shape). export const entry = 'kernel/CustomizationPolicy'; diff --git a/packages/spec/src/migrations/entries/retired-defs/18.kernel__FieldChange.ts b/packages/spec/src/migrations/entries/retired-defs/18.kernel__FieldChange.ts index d7f6ce1a4f8..3d0329a58dc 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.kernel__FieldChange.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.kernel__FieldChange.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on -// #12057: retirement adopted, re-scope rejected; re-charter #13135 executes +// Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on +// #12057: retirement adopted, re-scope rejected; re-chartered, that commit executes // the widened surface). Part of the whole-module removal of // `kernel/metadata-customization.zod.ts` — the paper three-layer // customization protocol ADR-0126 §6 wall 4 supersedes on the record @@ -22,6 +22,6 @@ // boundary where `migrate meta` users look. No carrier key survives for // these defs and no authored document embedded them, so no tombstone and no // D2 conversion — this table plus the D3 semantic entry -// `metadata-customization-protocol-retired` ARE the declaration (the #8715 +// `metadata-customization-protocol-retired` ARE the declaration (commit 2c86fe3ea's // route-3 shape). export const entry = 'kernel/FieldChange'; diff --git a/packages/spec/src/migrations/entries/retired-defs/18.kernel__MergeConflict.ts b/packages/spec/src/migrations/entries/retired-defs/18.kernel__MergeConflict.ts index 50939698b96..25607fbac5f 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.kernel__MergeConflict.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.kernel__MergeConflict.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on -// #12057: retirement adopted, re-scope rejected; re-charter #13135 executes +// Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on +// #12057: retirement adopted, re-scope rejected; re-chartered, that commit executes // the widened surface). Part of the whole-module removal of // `kernel/metadata-customization.zod.ts` — the paper three-layer // customization protocol ADR-0126 §6 wall 4 supersedes on the record @@ -19,6 +19,6 @@ // boundary where `migrate meta` users look. No carrier key survives for // these defs and no authored document embedded them, so no tombstone and no // D2 conversion — this table plus the D3 semantic entry -// `metadata-customization-protocol-retired` ARE the declaration (the #8715 +// `metadata-customization-protocol-retired` ARE the declaration (commit 2c86fe3ea's // route-3 shape). export const entry = 'kernel/MergeConflict'; diff --git a/packages/spec/src/migrations/entries/retired-defs/18.kernel__MergeResult.ts b/packages/spec/src/migrations/entries/retired-defs/18.kernel__MergeResult.ts index ee39163055f..bf01932d549 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.kernel__MergeResult.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.kernel__MergeResult.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on -// #12057: retirement adopted, re-scope rejected; re-charter #13135 executes +// Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on +// #12057: retirement adopted, re-scope rejected; re-chartered, that commit executes // the widened surface). Part of the whole-module removal of // `kernel/metadata-customization.zod.ts` — the paper three-layer // customization protocol ADR-0126 §6 wall 4 supersedes on the record @@ -19,6 +19,6 @@ // boundary where `migrate meta` users look. No carrier key survives for // these defs and no authored document embedded them, so no tombstone and no // D2 conversion — this table plus the D3 semantic entry -// `metadata-customization-protocol-retired` ARE the declaration (the #8715 +// `metadata-customization-protocol-retired` ARE the declaration (commit 2c86fe3ea's // route-3 shape). export const entry = 'kernel/MergeResult'; diff --git a/packages/spec/src/migrations/entries/retired-defs/18.kernel__MergeStrategyConfig.ts b/packages/spec/src/migrations/entries/retired-defs/18.kernel__MergeStrategyConfig.ts index 90e3c853e52..7322d2faebc 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.kernel__MergeStrategyConfig.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.kernel__MergeStrategyConfig.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on -// #12057: retirement adopted, re-scope rejected; re-charter #13135 executes +// Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on +// #12057: retirement adopted, re-scope rejected; re-chartered, that commit executes // the widened surface). Part of the whole-module removal of // `kernel/metadata-customization.zod.ts` — the paper three-layer // customization protocol ADR-0126 §6 wall 4 supersedes on the record @@ -23,6 +23,6 @@ // boundary where `migrate meta` users look. No carrier key survives for // these defs and no authored document embedded them, so no tombstone and no // D2 conversion — this table plus the D3 semantic entry -// `metadata-customization-protocol-retired` ARE the declaration (the #8715 +// `metadata-customization-protocol-retired` ARE the declaration (commit 2c86fe3ea's // route-3 shape). export const entry = 'kernel/MergeStrategyConfig'; diff --git a/packages/spec/src/migrations/entries/retired-defs/18.kernel__MetadataOverlay.ts b/packages/spec/src/migrations/entries/retired-defs/18.kernel__MetadataOverlay.ts index 69529aad5d9..518723688c1 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.kernel__MetadataOverlay.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.kernel__MetadataOverlay.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on -// #12057: retirement adopted, re-scope rejected; re-charter #13135 executes +// Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on +// #12057: retirement adopted, re-scope rejected; re-chartered, that commit executes // the widened surface). Part of the whole-module removal of // `kernel/metadata-customization.zod.ts` — the paper three-layer // customization protocol ADR-0126 §6 wall 4 supersedes on the record @@ -23,6 +23,6 @@ // boundary where `migrate meta` users look. No carrier key survives for // these defs and no authored document embedded them, so no tombstone and no // D2 conversion — this table plus the D3 semantic entry -// `metadata-customization-protocol-retired` ARE the declaration (the #8715 +// `metadata-customization-protocol-retired` ARE the declaration (commit 2c86fe3ea's // route-3 shape). export const entry = 'kernel/MetadataOverlay'; diff --git a/packages/spec/src/migrations/entries/retired-defs/18.kernel__PreviewModeConfig.ts b/packages/spec/src/migrations/entries/retired-defs/18.kernel__PreviewModeConfig.ts index 0fcebc95d96..0516a86d1a4 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.kernel__PreviewModeConfig.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.kernel__PreviewModeConfig.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #11846 — `kernel/PreviewModeConfig` (the six-key preview/demo config block: +// Commit 0c2334f6c — `kernel/PreviewModeConfig` (the six-key preview/demo config block: // `autoLogin` default true, `simulatedRole` default 'admin', // `simulatedUserName`, `readOnly`, `expiresInSeconds`, `bannerMessage`). Its // only carrier key, `KernelContext.previewMode`, is tombstoned in this same @@ -15,6 +15,6 @@ // never implemented by any layer; preview DEPLOYMENTS belong to the // deployment layer, whose `OS_PREVIEW_MODE` is routing-only and stays. If a // preview experience becomes a product capability it re-declares fresh, with -// the production-posture hard-refusal as the first-landed half (#11846 ruling +// the production-posture hard-refusal as the first-landed half (commit 0c2334f6c's ruling // record). export const entry = 'kernel/PreviewModeConfig'; diff --git a/packages/spec/src/migrations/entries/retired-defs/18.shared__EventName.ts b/packages/spec/src/migrations/entries/retired-defs/18.shared__EventName.ts index 5bfadec3701..5574e0c0f19 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.shared__EventName.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.shared__EventName.ts @@ -12,5 +12,5 @@ // deliberate `z.string()` — the ruling adds no constraint there. No authored // document is invalidated (the accept set at the three fields widens), so no // tombstone and no D2 conversion — this table plus the D3 semantic entry -// `event-name-schema-retired` are the declaration (the #8715 route-3 shape). +// `event-name-schema-retired` are the declaration (commit 2c86fe3ea's route-3 shape). export const entry = 'shared/EventName'; diff --git a/packages/spec/src/migrations/entries/retired-defs/18.shared__ObjectName.ts b/packages/spec/src/migrations/entries/retired-defs/18.shared__ObjectName.ts index bf687e46a9c..2b1cde6f49a 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.shared__ObjectName.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.shared__ObjectName.ts @@ -11,6 +11,6 @@ // five surfaces' real validators as the contract of record). No authored // document ever embedded a branded value, so no tombstone and no D2 // conversion — this table plus the D3 semantic entry -// `branded-identifier-schemas-retired` are the declaration (the #8715 +// `branded-identifier-schemas-retired` are the declaration (commit 2c86fe3ea's // route-3 shape). export const entry = 'shared/ObjectName'; diff --git a/packages/spec/src/migrations/entries/retired-defs/18.ui__BorderRadius.ts b/packages/spec/src/migrations/entries/retired-defs/18.ui__BorderRadius.ts index 6bdf8aded6d..34edc9cc681 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.ui__BorderRadius.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.ui__BorderRadius.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #10485 — `ui/BorderRadius` (the border-radius scale sub-block) left with `ui/Theme`: +// Commit 35ad101bc — `ui/BorderRadius` (the border-radius scale sub-block) left with `ui/Theme`: // its ONLY consumer was the retired `ThemeSchema` (the #3950 rule — an // exported value schema with no consumer reads as a capability). See // `18.ui__Theme.ts` for the retirement record and the ruling. diff --git a/packages/spec/src/migrations/entries/retired-defs/18.ui__ColorPalette.ts b/packages/spec/src/migrations/entries/retired-defs/18.ui__ColorPalette.ts index 4148347aec0..8a6ccc40c29 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.ui__ColorPalette.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.ui__ColorPalette.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #10485 — `ui/ColorPalette` (the colour palette sub-block) left with `ui/Theme`: +// Commit 35ad101bc — `ui/ColorPalette` (the colour palette sub-block) left with `ui/Theme`: // its ONLY consumer was the retired `ThemeSchema` (the #3950 rule — an // exported value schema with no consumer reads as a capability). See // `18.ui__Theme.ts` for the retirement record and the ruling. diff --git a/packages/spec/src/migrations/entries/retired-defs/18.ui__Shadow.ts b/packages/spec/src/migrations/entries/retired-defs/18.ui__Shadow.ts index 341a2a80b68..149029ab5b9 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.ui__Shadow.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.ui__Shadow.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #10485 — `ui/Shadow` (the shadow scale sub-block) left with `ui/Theme`: +// Commit 35ad101bc — `ui/Shadow` (the shadow scale sub-block) left with `ui/Theme`: // its ONLY consumer was the retired `ThemeSchema` (the #3950 rule — an // exported value schema with no consumer reads as a capability). See // `18.ui__Theme.ts` for the retirement record and the ruling. diff --git a/packages/spec/src/migrations/entries/retired-defs/18.ui__Theme.ts b/packages/spec/src/migrations/entries/retired-defs/18.ui__Theme.ts index 263c7d64f80..f85a72c20ed 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.ui__Theme.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.ui__Theme.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #10485 — `ui/theme.zod.ts` `ThemeSchema`, retired whole with its +// Commit 35ad101bc — `ui/theme.zod.ts` `ThemeSchema`, retired whole with its // `defineStack({ themes })` carrier key (ADR-0049 enforce-or-remove; // maintainer ruling 2026-08-21, disposition B: 退役授权面 — `app.branding` // stays the one colour surface; objectui's ThemeEngine/ThemeContext and their @@ -16,5 +16,5 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // removal ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8586 / #8715 precedent). +// boundary where `migrate meta` users look (the #8586 / commit 2c86fe3ea precedent). export const entry = 'ui/Theme'; diff --git a/packages/spec/src/migrations/entries/retired-defs/18.ui__ThemeMode.ts b/packages/spec/src/migrations/entries/retired-defs/18.ui__ThemeMode.ts index 26d40dd4bc6..87d5a8e8fa7 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.ui__ThemeMode.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.ui__ThemeMode.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #10485 — `ui/ThemeMode` (the theme mode enum (light/dark/auto)) left with `ui/Theme`: +// Commit 35ad101bc — `ui/ThemeMode` (the theme mode enum (light/dark/auto)) left with `ui/Theme`: // its ONLY consumer was the retired `ThemeSchema` (the #3950 rule — an // exported value schema with no consumer reads as a capability). See // `18.ui__Theme.ts` for the retirement record and the ruling. diff --git a/packages/spec/src/migrations/entries/retired-defs/18.ui__Typography.ts b/packages/spec/src/migrations/entries/retired-defs/18.ui__Typography.ts index fc4a169dcb8..0ab19908418 100644 --- a/packages/spec/src/migrations/entries/retired-defs/18.ui__Typography.ts +++ b/packages/spec/src/migrations/entries/retired-defs/18.ui__Typography.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #10485 — `ui/Typography` (the typography sub-block) left with `ui/Theme`: +// Commit 35ad101bc — `ui/Typography` (the typography sub-block) left with `ui/Theme`: // its ONLY consumer was the retired `ThemeSchema` (the #3950 rule — an // exported value schema with no consumer reads as a capability). See // `18.ui__Theme.ts` for the retirement record and the ruling. diff --git a/packages/spec/src/migrations/entries/retired-keys/17.api__ListNotificationsRequest__cursor.ts b/packages/spec/src/migrations/entries/retired-keys/17.api__ListNotificationsRequest__cursor.ts index 05b8f08ce6d..e2b5105845c 100644 --- a/packages/spec/src/migrations/entries/retired-keys/17.api__ListNotificationsRequest__cursor.ts +++ b/packages/spec/src/migrations/entries/retired-keys/17.api__ListNotificationsRequest__cursor.ts @@ -1,8 +1,8 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #6361 — the notification-inbox pagination key, tombstoned on BOTH halves +// Commit 90bbf2510 — the notification-inbox pagination key, tombstoned on BOTH halves // of `GET /api/v1/notifications` because one capability is never half- -// deleted (maintainer ruling 2026-08-07, ruled jointly with #6363). Two +// deleted (maintainer ruling 2026-08-07, ruled jointly with the `unreadCount` fix, commit 17d095413). Two // keys, one prescription: `NOTIFICATIONS_CURSOR_REMOVED` in // `api/protocol.zod.ts` is the single string both rejection sites raise. // diff --git a/packages/spec/src/migrations/entries/retired-keys/18.api__BatchEndpointsConfig__defaultAtomic.ts b/packages/spec/src/migrations/entries/retired-keys/18.api__BatchEndpointsConfig__defaultAtomic.ts index 6db59aaa24d..2330732ab42 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.api__BatchEndpointsConfig__defaultAtomic.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.api__BatchEndpointsConfig__defaultAtomic.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #14691 — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, -// executing the #14369 liveness census (15 `dead` rows across the `crud` / +// Commit b3a63d32c — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, +// executing the liveness census commit a3d5724c8 recorded (15 `dead` rows across the `crud` / // `metadata` / `batch` / `routes` sub-schemas; 0 read sites in `packages/rest` // outside `normalizeConfig` and the normalized-config type; objectui @d4c6a86 // clean; cloud @9b6abe0f2fd5 clean STRUCTURALLY — cloud never authors a diff --git a/packages/spec/src/migrations/entries/retired-keys/18.api__BatchEndpointsConfig__operations.upsertMany.ts b/packages/spec/src/migrations/entries/retired-keys/18.api__BatchEndpointsConfig__operations.upsertMany.ts index 1eca43feaf6..6501753235b 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.api__BatchEndpointsConfig__operations.upsertMany.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.api__BatchEndpointsConfig__operations.upsertMany.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #14691 — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, -// executing the #14369 liveness census (15 `dead` rows across the `crud` / +// Commit b3a63d32c — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, +// executing the liveness census commit a3d5724c8 recorded (15 `dead` rows across the `crud` / // `metadata` / `batch` / `routes` sub-schemas; 0 read sites in `packages/rest` // outside `normalizeConfig` and the normalized-config type; objectui @d4c6a86 // clean; cloud @9b6abe0f2fd5 clean STRUCTURALLY — cloud never authors a diff --git a/packages/spec/src/migrations/entries/retired-keys/18.api__CrudEndpointsConfig__objectParamStyle.ts b/packages/spec/src/migrations/entries/retired-keys/18.api__CrudEndpointsConfig__objectParamStyle.ts index ea4b133be59..c2ec28d062d 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.api__CrudEndpointsConfig__objectParamStyle.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.api__CrudEndpointsConfig__objectParamStyle.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #14691 — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, -// executing the #14369 liveness census (15 `dead` rows across the `crud` / +// Commit b3a63d32c — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, +// executing the liveness census commit a3d5724c8 recorded (15 `dead` rows across the `crud` / // `metadata` / `batch` / `routes` sub-schemas; 0 read sites in `packages/rest` // outside `normalizeConfig` and the normalized-config type; objectui @d4c6a86 // clean; cloud @9b6abe0f2fd5 clean STRUCTURALLY — cloud never authors a diff --git a/packages/spec/src/migrations/entries/retired-keys/18.api__CrudEndpointsConfig__patterns.ts b/packages/spec/src/migrations/entries/retired-keys/18.api__CrudEndpointsConfig__patterns.ts index 6baaa110e69..21c330dca47 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.api__CrudEndpointsConfig__patterns.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.api__CrudEndpointsConfig__patterns.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #14691 — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, -// executing the #14369 liveness census (15 `dead` rows across the `crud` / +// Commit b3a63d32c — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, +// executing the liveness census commit a3d5724c8 recorded (15 `dead` rows across the `crud` / // `metadata` / `batch` / `routes` sub-schemas; 0 read sites in `packages/rest` // outside `normalizeConfig` and the normalized-config type; objectui @d4c6a86 // clean; cloud @9b6abe0f2fd5 clean STRUCTURALLY — cloud never authors a @@ -23,6 +23,6 @@ // per-operation method/path knob would make every one of them lie. The live // door for a custom path or method is a declarative `api` endpoint. Its value // def `api/CrudEndpointPattern` leaves with it (RETIRED_DEFS_BY_MAJOR[18]); its -// four ledger child rows collapse into the one `patterns` row. Closes #14365's -// question about the record's input type — there is no record left to reshape. +// four ledger child rows collapse into the one `patterns` row. Closes the open +// `z.partialRecord` question (commit f60ab90ae) — there is no record left to reshape. export const entry = 'api/CrudEndpointsConfig:patterns'; diff --git a/packages/spec/src/migrations/entries/retired-keys/18.api__ListInstalledPackagesRequest__limit.ts b/packages/spec/src/migrations/entries/retired-keys/18.api__ListInstalledPackagesRequest__limit.ts index c8f78aa6c66..1e68326cde1 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.api__ListInstalledPackagesRequest__limit.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.api__ListInstalledPackagesRequest__limit.ts @@ -31,6 +31,6 @@ // is HTTP-only — nobody authors a `ListInstalledPackagesRequest` and nothing // persists one. The prescription reaches consumers as the D3 semantic entry // `packages-list-pagination-retired` plus this tombstone, the disposition -// `api/ListNotificationsRequest:cursor` (#6361) already took for the same +// `api/ListNotificationsRequest:cursor` (commit 90bbf2510) already took for the same // shape one route over. export const entry = 'api/ListInstalledPackagesRequest:limit'; diff --git a/packages/spec/src/migrations/entries/retired-keys/18.api__MetadataEndpointsConfig__cacheTtl.ts b/packages/spec/src/migrations/entries/retired-keys/18.api__MetadataEndpointsConfig__cacheTtl.ts index 81547e10936..a6f44c0bcc2 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.api__MetadataEndpointsConfig__cacheTtl.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.api__MetadataEndpointsConfig__cacheTtl.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #14691 — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, -// executing the #14369 liveness census (15 `dead` rows across the `crud` / +// Commit b3a63d32c — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, +// executing the liveness census commit a3d5724c8 recorded (15 `dead` rows across the `crud` / // `metadata` / `batch` / `routes` sub-schemas; 0 read sites in `packages/rest` // outside `normalizeConfig` and the normalized-config type; objectui @d4c6a86 // clean; cloud @9b6abe0f2fd5 clean STRUCTURALLY — cloud never authors a diff --git a/packages/spec/src/migrations/entries/retired-keys/18.api__MetadataEndpointsConfig__endpoints.schema.ts b/packages/spec/src/migrations/entries/retired-keys/18.api__MetadataEndpointsConfig__endpoints.schema.ts index 9003c189dd0..75c966d20e4 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.api__MetadataEndpointsConfig__endpoints.schema.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.api__MetadataEndpointsConfig__endpoints.schema.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #14691 — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, -// executing the #14369 liveness census (15 `dead` rows across the `crud` / +// Commit b3a63d32c — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, +// executing the liveness census commit a3d5724c8 recorded (15 `dead` rows across the `crud` / // `metadata` / `batch` / `routes` sub-schemas; 0 read sites in `packages/rest` // outside `normalizeConfig` and the normalized-config type; objectui @d4c6a86 // clean; cloud @9b6abe0f2fd5 clean STRUCTURALLY — cloud never authors a diff --git a/packages/spec/src/migrations/entries/retired-keys/18.api__RestApiEndpoint__handlerStatus.ts b/packages/spec/src/migrations/entries/retired-keys/18.api__RestApiEndpoint__handlerStatus.ts index 750980c6274..98c1e1cba0d 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.api__RestApiEndpoint__handlerStatus.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.api__RestApiEndpoint__handlerStatus.ts @@ -34,5 +34,5 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // removal ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #11846 / #12428 grading). +// boundary where `migrate meta` users look (the commit 0c2334f6c / #12428 grading). export const entry = 'api/RestApiEndpoint:handlerStatus'; diff --git a/packages/spec/src/migrations/entries/retired-keys/18.api__RouteGenerationConfig__excludeObjects.ts b/packages/spec/src/migrations/entries/retired-keys/18.api__RouteGenerationConfig__excludeObjects.ts index b0094b22a1f..26b9e709a7a 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.api__RouteGenerationConfig__excludeObjects.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.api__RouteGenerationConfig__excludeObjects.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #14691 — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, -// executing the #14369 liveness census (15 `dead` rows across the `crud` / +// Commit b3a63d32c — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, +// executing the liveness census commit a3d5724c8 recorded (15 `dead` rows across the `crud` / // `metadata` / `batch` / `routes` sub-schemas; 0 read sites in `packages/rest` // outside `normalizeConfig` and the normalized-config type; objectui @d4c6a86 // clean; cloud @9b6abe0f2fd5 clean STRUCTURALLY — cloud never authors a diff --git a/packages/spec/src/migrations/entries/retired-keys/18.api__RouteGenerationConfig__includeObjects.ts b/packages/spec/src/migrations/entries/retired-keys/18.api__RouteGenerationConfig__includeObjects.ts index eaeb2b7c97b..f94d1f80da4 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.api__RouteGenerationConfig__includeObjects.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.api__RouteGenerationConfig__includeObjects.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #14691 — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, -// executing the #14369 liveness census (15 `dead` rows across the `crud` / +// Commit b3a63d32c — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, +// executing the liveness census commit a3d5724c8 recorded (15 `dead` rows across the `crud` / // `metadata` / `batch` / `routes` sub-schemas; 0 read sites in `packages/rest` // outside `normalizeConfig` and the normalized-config type; objectui @d4c6a86 // clean; cloud @9b6abe0f2fd5 clean STRUCTURALLY — cloud never authors a diff --git a/packages/spec/src/migrations/entries/retired-keys/18.api__RouteGenerationConfig__nameTransform.ts b/packages/spec/src/migrations/entries/retired-keys/18.api__RouteGenerationConfig__nameTransform.ts index ec65d5f4623..ba6f4eace3e 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.api__RouteGenerationConfig__nameTransform.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.api__RouteGenerationConfig__nameTransform.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #14691 — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, -// executing the #14369 liveness census (15 `dead` rows across the `crud` / +// Commit b3a63d32c — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, +// executing the liveness census commit a3d5724c8 recorded (15 `dead` rows across the `crud` / // `metadata` / `batch` / `routes` sub-schemas; 0 read sites in `packages/rest` // outside `normalizeConfig` and the normalized-config type; objectui @d4c6a86 // clean; cloud @9b6abe0f2fd5 clean STRUCTURALLY — cloud never authors a diff --git a/packages/spec/src/migrations/entries/retired-keys/18.api__RouteGenerationConfig__overrides.ts b/packages/spec/src/migrations/entries/retired-keys/18.api__RouteGenerationConfig__overrides.ts index e5465f7020c..dcbb4cc5cd8 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.api__RouteGenerationConfig__overrides.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.api__RouteGenerationConfig__overrides.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #14691 — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, -// executing the #14369 liveness census (15 `dead` rows across the `crud` / +// Commit b3a63d32c — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, +// executing the liveness census commit a3d5724c8 recorded (15 `dead` rows across the `crud` / // `metadata` / `batch` / `routes` sub-schemas; 0 read sites in `packages/rest` // outside `normalizeConfig` and the normalized-config type; objectui @d4c6a86 // clean; cloud @9b6abe0f2fd5 clean STRUCTURALLY — cloud never authors a @@ -22,5 +22,5 @@ // `enable.apiMethods`); `basePath` per object would contradict the one // deployment-wide data base (`crud.dataPrefix`) the discovery document // advertises. Its three ledger child rows collapse into the one `overrides` -// row. Closes #14365's question about `overrides.*.operations` — no record left. +// row. Closes the `z.partialRecord` question (commit f60ab90ae) on `overrides.*.operations` — no record left. export const entry = 'api/RouteGenerationConfig:overrides'; diff --git a/packages/spec/src/migrations/entries/retired-keys/18.api__SessionUser__language.ts b/packages/spec/src/migrations/entries/retired-keys/18.api__SessionUser__language.ts index 401e45d0e34..81592ff977f 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.api__SessionUser__language.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.api__SessionUser__language.ts @@ -19,7 +19,7 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // removal ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). +// boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // The schema is a non-strict `z.object`, so the route is a `retiredKey()` // tombstone (a bare delete would strip the key silently, ADR-0104). A RESPONSE // surface — the server mints a `SessionUser` and nobody authors or persists diff --git a/packages/spec/src/migrations/entries/retired-keys/18.data__Metric__filters.ts b/packages/spec/src/migrations/entries/retired-keys/18.data__Metric__filters.ts index c62af59858a..75fa5a93375 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.data__Metric__filters.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.data__Metric__filters.ts @@ -20,7 +20,7 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // removal ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). +// boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // `MetricSchema` is `strictObject`, so the route is strict deletion + a // `guidance` entry carrying the prescription (no retiredKey tombstone — the // key is out of the walked shape entirely). Sources are rewritten by the D2 diff --git a/packages/spec/src/migrations/entries/retired-keys/18.integration__Connector__errorMapping.ts b/packages/spec/src/migrations/entries/retired-keys/18.integration__Connector__errorMapping.ts index fdc56173f80..d7465bee07a 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.integration__Connector__errorMapping.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.integration__Connector__errorMapping.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #14676 — ADR-0049 enforce-or-remove on `ConnectorSchema.errorMapping` (triage +// Commit 13c48c2a5 — ADR-0049 enforce-or-remove on `ConnectorSchema.errorMapping` (triage // ruling 2026-09-02: removal via the `spec-property-retirement` playbook; the // split condition — a downstream consumer in objectui or a customer stack — // measured empty at objectui `0d8fd7c`, hotcrm not measurable). The key carried diff --git a/packages/spec/src/migrations/entries/retired-keys/18.integration__DeclarativeConnectorEntry__errorMapping.ts b/packages/spec/src/migrations/entries/retired-keys/18.integration__DeclarativeConnectorEntry__errorMapping.ts index cf7fd18b419..7f1e3f3d3b4 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.integration__DeclarativeConnectorEntry__errorMapping.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.integration__DeclarativeConnectorEntry__errorMapping.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #14676 — the same tombstone seen through the second carrier. +// Commit 13c48c2a5 — the same tombstone seen through the second carrier. // `DeclarativeConnectorEntrySchema` and `ConnectorSchema` both wrap the shared // private `ConnectorBaseSchema` in the retired-default residue stage, the entry // schema adding the ADR-0097 cross-field rules on the base before wrapping. diff --git a/packages/spec/src/migrations/entries/retired-keys/18.kernel__KernelContext__previewMode.ts b/packages/spec/src/migrations/entries/retired-keys/18.kernel__KernelContext__previewMode.ts index 95421b82cc3..d8a473198a0 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.kernel__KernelContext__previewMode.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.kernel__KernelContext__previewMode.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #11846 — ADR-0049 enforce-or-remove on the preview-mode block (maintainer +// Commit 0c2334f6c — ADR-0049 enforce-or-remove on the preview-mode block (maintainer // ruling 2026-08-27, Option A: remove). The key was declared as an auth bypass // — its docstring promised auto-login as a simulated admin and named a // production guard "the runtime must enforce" — and NOTHING implemented any of @@ -23,5 +23,5 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // removal ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). +// boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). export const entry = 'kernel/KernelContext:previewMode'; diff --git a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__capabilities.ts b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__capabilities.ts index 4c67c40dc7e..3f0dd40e739 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__capabilities.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__capabilities.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #11332 — ADR-0049 enforce-or-remove on the plugin manifest's three dead +// Commit dce5cd4f0 — ADR-0049 enforce-or-remove on the plugin manifest's three dead // top-level containers (triage graded 2026-08-23; cloud leg measured clean // 2026-08-29 on #12400 with positive controls). The census found ZERO reads // of the `capabilities` container itself in objectstack, objectui and cloud, diff --git a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__configuration.ts b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__configuration.ts index 22b1334a3fa..c908c791df0 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__configuration.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__configuration.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #11332 — ADR-0049 enforce-or-remove on the plugin manifest's three dead +// Commit dce5cd4f0 — ADR-0049 enforce-or-remove on the plugin manifest's three dead // top-level containers; census and registration major recorded once in the // sibling entry `kernel/Manifest:capabilities`, the why-no-D2-conversion // reasoning in `kernel/Manifest:loading` (the precedent); the D3 semantic diff --git a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.actions.ts b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.actions.ts index 93aa718ce05..aa5cae9e672 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.actions.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.actions.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #10724 — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` +// Commit be21955ba — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` // block; one of NINE members tombstoned together. Census, registration major, // and the why-no-D2-conversion reasoning are recorded once in the sibling // entry `kernel/Manifest:contributes.events` (this family) and in diff --git a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.commands.ts b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.commands.ts index 66074192635..12374bb0fea 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.commands.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.commands.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #10724 — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` +// Commit be21955ba — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` // block; one of NINE members tombstoned together. Census, registration major, // and the why-no-D2-conversion reasoning are recorded once in the sibling // entry `kernel/Manifest:contributes.events` (this family) and in diff --git a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.drivers.ts b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.drivers.ts index 1c6f2cff3c9..2e886ac5361 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.drivers.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.drivers.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #10724 — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` +// Commit be21955ba — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` // block; one of NINE members tombstoned together. Census, registration major, // and the why-no-D2-conversion reasoning are recorded once in the sibling // entry `kernel/Manifest:contributes.events` (this family) and in diff --git a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.events.ts b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.events.ts index b202e345aac..1ba2bbc5e81 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.events.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.events.ts @@ -1,8 +1,8 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #10724 — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` +// Commit be21955ba — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` // block (triage graded 2026-08-21; cloud leg measured clean 2026-08-24). One -// of NINE members tombstoned together: #10627 measured exactly ONE non-test +// of NINE members tombstoned together: that commit's census measured exactly ONE non-test // read of `manifest.contributes` monorepo-wide (engine.ts, member `kinds`), // with controls, re-verified across objectstack + objectui + cloud at claim // time. `events` in particular was decorative twice over: its only in-repo diff --git a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.fieldTypes.ts b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.fieldTypes.ts index 238cce21fa3..70c5e9b0155 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.fieldTypes.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.fieldTypes.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #10724 — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` +// Commit be21955ba — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` // block; one of NINE members tombstoned together. Census, registration major, // and the why-no-D2-conversion reasoning are recorded once in the sibling // entry `kernel/Manifest:contributes.events` (this family) and in diff --git a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.functions.ts b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.functions.ts index b5661b1f516..d8073099550 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.functions.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.functions.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #10724 — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` +// Commit be21955ba — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` // block; one of NINE members tombstoned together. Census, registration major, // and the why-no-D2-conversion reasoning are recorded once in the sibling // entry `kernel/Manifest:contributes.events` (this family) and in diff --git a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.menus.ts b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.menus.ts index 6f26c166fb5..9d1775c270e 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.menus.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.menus.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #10724 — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` +// Commit be21955ba — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` // block; one of NINE members tombstoned together. Census, registration major, // and the why-no-D2-conversion reasoning are recorded once in the sibling // entry `kernel/Manifest:contributes.events` (this family) and in diff --git a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.routes.ts b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.routes.ts index c09906508ff..b6901ceb2e7 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.routes.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.routes.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #10726 — ADR-0049 enforce-or-remove fork on `contributes.routes`, the ONE -// `contributes` member deliberately excluded from #10724's nine-member +// Commit bc56e1881 — ADR-0049 enforce-or-remove fork on `contributes.routes`, the ONE +// `contributes` member deliberately excluded from commit be21955ba's nine-member // retirement because removing it needed a ruling, not a tombstone: the key // was the only DECLARED channel for a real capability (serving a code-handler // endpoint), and four published surfaces — a customer-published skill among @@ -9,8 +9,8 @@ // (「接受所有」 on the decision batch carrying the four-axis analysis): remove // the key; author-facing materials redirect to the imperative `http.server` // mount, the form that actually works. The ruling's cloud precondition was -// discharged 2026-08-24 (#10812: cloud @ 5b5925a, zero `manifest.contributes` -// reads, controls green), completing #10627's three-repo census at exactly +// discharged 2026-08-24 (the cloud census: cloud @ 5b5925a, zero `manifest.contributes` +// reads, controls green), completing commit be21955ba's three-repo census at exactly // one live read (engine.ts, member `kinds` — now the block's sole survivor). // // Registered under 18, not 17: v17.0.0 was cut before this landed, so the diff --git a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.themes.ts b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.themes.ts index 9da485e3c5f..94678613d7f 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.themes.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.themes.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #10724 — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` +// Commit be21955ba — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` // block; one of NINE members tombstoned together. Census, registration major, // and the why-no-D2-conversion reasoning are recorded once in the sibling // entry `kernel/Manifest:contributes.events` (this family) and in diff --git a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.translations.ts b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.translations.ts index bc9e8a79dd3..45923c6591b 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.translations.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__contributes.translations.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #10724 — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` +// Commit be21955ba — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` // block; one of NINE members tombstoned together. Census, registration major, // and the why-no-D2-conversion reasoning are recorded once in the sibling // entry `kernel/Manifest:contributes.events` (this family) and in diff --git a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__extensions.ts b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__extensions.ts index 5d4ff8ffedf..77d84b3bc22 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__extensions.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.kernel__Manifest__extensions.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #11332 — ADR-0049 enforce-or-remove on the plugin manifest's three dead +// Commit dce5cd4f0 — ADR-0049 enforce-or-remove on the plugin manifest's three dead // top-level containers; census and registration major recorded once in the // sibling entry `kernel/Manifest:capabilities`, the why-no-D2-conversion // reasoning in `kernel/Manifest:loading` (the precedent); the D3 semantic diff --git a/packages/spec/src/migrations/entries/retired-keys/18.kernel__MetadataManagerConfig__persistence.overlayWritable.ts b/packages/spec/src/migrations/entries/retired-keys/18.kernel__MetadataManagerConfig__persistence.overlayWritable.ts index b3db94c5bf9..42f93285179 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.kernel__MetadataManagerConfig__persistence.overlayWritable.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.kernel__MetadataManagerConfig__persistence.overlayWritable.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on -// #12057, adopting retirement; re-charter #13135 executes the widened +// Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on +// #12057, adopting retirement; re-chartered, that commit executes the widened // surface). `persistence.overlayWritable` gated exactly one method — // `MetadataManager.saveOverlay()` — which belonged to the paper // metadata-customization protocol removed whole in the same change: no route diff --git a/packages/spec/src/migrations/entries/retired-keys/18.kernel__MetadataPluginConfig__additionalTypes.ts b/packages/spec/src/migrations/entries/retired-keys/18.kernel__MetadataPluginConfig__additionalTypes.ts index 3d15105b1b4..38056688856 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.kernel__MetadataPluginConfig__additionalTypes.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.kernel__MetadataPluginConfig__additionalTypes.ts @@ -11,7 +11,7 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstone ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). +// boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // // Registered here but NOT in `src/conversions/registry.ts`, for the reason // `kernel/Manifest:loading` gives: the conversion chain walks a normalized diff --git a/packages/spec/src/migrations/entries/retired-keys/18.kernel__MetadataPluginConfig__customizationPolicies.ts b/packages/spec/src/migrations/entries/retired-keys/18.kernel__MetadataPluginConfig__customizationPolicies.ts index 562347e99e4..9b1abacb129 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.kernel__MetadataPluginConfig__customizationPolicies.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.kernel__MetadataPluginConfig__customizationPolicies.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on -// #12057, adopting retirement; re-charter #13135 executes the widened +// Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on +// #12057, adopting retirement; re-chartered, that commit executes the widened // surface). `customizationPolicies` embedded the paper metadata-customization // protocol's `CustomizationPolicySchema` (lockedFields / customizableFields // whitelists) and was read by NOTHING: no code ever consulted a policy before diff --git a/packages/spec/src/migrations/entries/retired-keys/18.kernel__MetadataPluginConfig__mergeStrategy.ts b/packages/spec/src/migrations/entries/retired-keys/18.kernel__MetadataPluginConfig__mergeStrategy.ts index 7ac65d0bc6d..3164bc7b02a 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.kernel__MetadataPluginConfig__mergeStrategy.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.kernel__MetadataPluginConfig__mergeStrategy.ts @@ -1,7 +1,7 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on -// #12057, adopting retirement; re-charter #13135 executes the widened +// Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on +// #12057, adopting retirement; re-chartered, that commit executes the widened // surface). `mergeStrategy` embedded the paper protocol's // `MergeStrategyConfigSchema` (keep-custom / accept-incoming / // three-way-merge) and was read by NOTHING: no 3-way merge engine ever diff --git a/packages/spec/src/migrations/entries/retired-keys/18.kernel__TenantRuntimeContext__previewMode.ts b/packages/spec/src/migrations/entries/retired-keys/18.kernel__TenantRuntimeContext__previewMode.ts index 2ac1b87a485..9d15459c7cd 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.kernel__TenantRuntimeContext__previewMode.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.kernel__TenantRuntimeContext__previewMode.ts @@ -1,6 +1,6 @@ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. -// #11846 — the `TenantRuntimeContextSchema` copy of +// Commit 0c2334f6c — the `TenantRuntimeContextSchema` copy of // `kernel/KernelContext:previewMode`: the def is `KernelContextSchema.extend(…)`, // so the tombstone lands in this walked shape too and `authorable-surface/` // marks it `[RETIRED]` separately. Registered per key, as gate (b) reads them — diff --git a/packages/spec/src/migrations/entries/retired-keys/18.security__ObjectPermission__allowPurge.ts b/packages/spec/src/migrations/entries/retired-keys/18.security__ObjectPermission__allowPurge.ts index af47f773ea3..40fa2981ee6 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.security__ObjectPermission__allowPurge.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.security__ObjectPermission__allowPurge.ts @@ -19,7 +19,7 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // removal ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). +// boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // ObjectPermissionSchema is `strictObject` but the def is reachable from the // `permission` metadata root, so the route is the `retiredKey()` tombstone // (the `rls.priority` posture) — the key stays in the walked shape as diff --git a/packages/spec/src/migrations/entries/retired-keys/18.security__ObjectPermission__allowRestore.ts b/packages/spec/src/migrations/entries/retired-keys/18.security__ObjectPermission__allowRestore.ts index aca79e37071..2f9c147befe 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.security__ObjectPermission__allowRestore.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.security__ObjectPermission__allowRestore.ts @@ -18,7 +18,7 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // removal ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). +// boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // ObjectPermissionSchema is `strictObject` but the def is reachable from the // `permission` metadata root, so the route is the `retiredKey()` tombstone // (the `rls.priority` posture) — the key stays in the walked shape as diff --git a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__aria.ts b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__aria.ts index 277ff13d76b..ae18defbbad 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__aria.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__aria.ts @@ -16,7 +16,7 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). +// boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-filter-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the diff --git a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__fields.ts b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__fields.ts index 4fe43cda25c..34af1233f73 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__fields.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__fields.ts @@ -16,7 +16,7 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). +// boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-filter-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the diff --git a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__layout.ts b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__layout.ts index ea31605553d..1af10aac107 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__layout.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__layout.ts @@ -16,7 +16,7 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). +// boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-filter-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the diff --git a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__object.ts b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__object.ts index 51de0662a61..d22ce003a56 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__object.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__object.ts @@ -16,7 +16,7 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). +// boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-filter-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the diff --git a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__showSearch.ts b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__showSearch.ts index d20d46b4119..5afbd84ccb1 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__showSearch.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__showSearch.ts @@ -16,7 +16,7 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). +// boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-filter-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the diff --git a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__targetVariable.ts b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__targetVariable.ts index da55fbdc5b0..e12771ce038 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__targetVariable.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFilterProps__targetVariable.ts @@ -16,7 +16,7 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). +// boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-filter-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the diff --git a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__aria.ts b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__aria.ts index 6cfe9c503de..03864c478b9 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__aria.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__aria.ts @@ -18,7 +18,7 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). +// boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-form-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the diff --git a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__fields.ts b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__fields.ts index c6b6f58cfdd..249dc98084e 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__fields.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__fields.ts @@ -18,7 +18,7 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). +// boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-form-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the diff --git a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__mode.ts b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__mode.ts index 4bae07fd827..4fbbf662ac8 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__mode.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__mode.ts @@ -18,7 +18,7 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). +// boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-form-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the diff --git a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__object.ts b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__object.ts index d664a8f00fb..8ef0347b8e2 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__object.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__object.ts @@ -18,7 +18,7 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). +// boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-form-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the diff --git a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__onSubmit.ts b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__onSubmit.ts index 74629d5dd05..c365be8e6c1 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__onSubmit.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__onSubmit.ts @@ -18,7 +18,7 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). +// boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-form-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the diff --git a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__submitLabel.ts b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__submitLabel.ts index e4020feb163..b15386c4612 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__submitLabel.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementFormProps__submitLabel.ts @@ -18,7 +18,7 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). +// boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-form-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the diff --git a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementRecordPickerProps__targetVariable.ts b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementRecordPickerProps__targetVariable.ts index a7ce0f7dabf..0e809caaf0b 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementRecordPickerProps__targetVariable.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementRecordPickerProps__targetVariable.ts @@ -15,7 +15,7 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstone ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). +// boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion // `element-input-target-variable-removed`. export const entry = 'ui/ElementRecordPickerProps:targetVariable'; diff --git a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementTextInputProps__targetVariable.ts b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementTextInputProps__targetVariable.ts index c1fa58b6c07..82b1daa3f7c 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementTextInputProps__targetVariable.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.ui__ElementTextInputProps__targetVariable.ts @@ -18,7 +18,7 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstone ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). +// boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion // `element-input-target-variable-removed` (a page component IS a stack // collection member, unlike the `kernel/Manifest:loading` family). diff --git a/packages/spec/src/migrations/entries/retired-keys/18.ui__ObjectGridProps__defaultSort.ts b/packages/spec/src/migrations/entries/retired-keys/18.ui__ObjectGridProps__defaultSort.ts index 8802c07f886..6cea886bd43 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.ui__ObjectGridProps__defaultSort.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.ui__ObjectGridProps__defaultSort.ts @@ -16,7 +16,7 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // removal ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8495 / PR #8666 precedent, +// boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666, // as `data/Metric:filters` before it). Tombstoned with `retiredKey()` in // `ObjectGridPropsSchema` (the surface baseline line carries `[RETIRED]`); // sources are rewritten by the D2 conversion `object-grid-default-sort-removed` diff --git a/packages/spec/src/migrations/entries/retired-keys/18.ui__PageComponent__responsive.ts b/packages/spec/src/migrations/entries/retired-keys/18.ui__PageComponent__responsive.ts index 2c8f5587a6d..ec2d2d01ffb 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.ui__PageComponent__responsive.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.ui__PageComponent__responsive.ts @@ -23,6 +23,6 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstone ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). +// boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `page-component-responsive-removed`. export const entry = 'ui/PageComponent:responsive'; diff --git a/packages/spec/src/migrations/entries/retired-keys/18.ui__RecordHighlightsField__icon.ts b/packages/spec/src/migrations/entries/retired-keys/18.ui__RecordHighlightsField__icon.ts index 8c6aa29cc32..fd18ce25fc1 100644 --- a/packages/spec/src/migrations/entries/retired-keys/18.ui__RecordHighlightsField__icon.ts +++ b/packages/spec/src/migrations/entries/retired-keys/18.ui__RecordHighlightsField__icon.ts @@ -20,7 +20,7 @@ // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // removal ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major -// boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). +// boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // The object arm is `strictObject`, so the route is strict deletion + a // `guidance` entry carrying the prescription (no retiredKey tombstone — the // key is out of the walked shape entirely, and the refusal is the arm's own diff --git a/packages/spec/src/migrations/entries/semantic/18.client-envelope-convergence-analytics-automation.ts b/packages/spec/src/migrations/entries/semantic/18.client-envelope-convergence-analytics-automation.ts index 5d3b014d928..3734c2efd75 100644 --- a/packages/spec/src/migrations/entries/semantic/18.client-envelope-convergence-analytics-automation.ts +++ b/packages/spec/src/migrations/entries/semantic/18.client-envelope-convergence-analytics-automation.ts @@ -6,8 +6,8 @@ // resolve this repo's internal issue numbers. // // card objectstack-ai/objectstack#13079 -// landing PR objectstack-ai/objectstack#14526 -// registration objectstack-ai/objectstack#14996 +// landing commit db16b9424 +// registration commit db16b9424 (the ADR-0087 registration landed in that same squash) // precedents objectstack-ai/objectstack#13023 (the two entries this is // shaped on: `client-delete-result-success`, // `client-meta-reset-result-reset`) diff --git a/packages/spec/src/migrations/entries/semantic/18.client-oauth-applications-delete-void.ts b/packages/spec/src/migrations/entries/semantic/18.client-oauth-applications-delete-void.ts index a8d3c120bdc..0c5d2334c1b 100644 --- a/packages/spec/src/migrations/entries/semantic/18.client-oauth-applications-delete-void.ts +++ b/packages/spec/src/migrations/entries/semantic/18.client-oauth-applications-delete-void.ts @@ -13,8 +13,8 @@ // entries this is shaped on: `client-delete-result-success`, // `client-meta-reset-result-reset`, // `client-envelope-convergence-analytics-automation`) -// family objectstack-ai/objectstack#14312 (the `oauth.*` binding card -// whose ruling fenced this method out, PR #15445) +// family commit e944fdb24 (the `oauth.*` binding, which fenced this +// method out as a behaviour change, PR #15445) // pins `packages/client/src/oauth-applications-delete.test.ts`, // `packages/client/src/return-type-precision.test.ts` // vendor `StrictEndpoint<'/oauth2/delete-client', ..., void>` in diff --git a/packages/spec/src/migrations/entries/semantic/18.datasource-credentialsref-mongo-composed-no-username-refused.ts b/packages/spec/src/migrations/entries/semantic/18.datasource-credentialsref-mongo-composed-no-username-refused.ts index 5c6f4ad0a05..b0f9cd64a92 100644 --- a/packages/spec/src/migrations/entries/semantic/18.datasource-credentialsref-mongo-composed-no-username-refused.ts +++ b/packages/spec/src/migrations/entries/semantic/18.datasource-credentialsref-mongo-composed-no-username-refused.ts @@ -3,7 +3,7 @@ import type { SemanticMigration } from '../../types.js'; // The COMPOSED-branch twin of `datasource-credentialsref-mongo-url-no-user-refused` -// (#9147 widening #9041's refinement). Same silent discard, one branch over, and a +// (#9147 widening commit d491625c1's refinement). Same silent discard, one branch over, and a // DIFFERENT remedy — which is why it is its own entry rather than a widened surface // on that one: with no `url` the discrete `config.username` is the live field, so the // fix is `config.username`, not the URL's userinfo. From d4682c56253db1fadaacf6f36f835435c8fd7eb6 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 30 Sep 2026 00:39:40 +0000 Subject: [PATCH 2/3] chore(spec): regenerate migrations/registry.ts from the re-anchored entries gen:migration-registry output only. The 128 changed lines are the entry comment lines the generator carries, re-indented; no line outside the generated regions moves. spec-changes.json and the upgrade guide are unchanged, because entry comments are never projected into them. Claude-Session: https://claude.ai/code/session_014EJ1ED8X4MMrT18BhVx4tx Co-authored-by: Claude --- packages/spec/src/migrations/registry.ts | 256 +++++++++++------------ 1 file changed, 128 insertions(+), 128 deletions(-) diff --git a/packages/spec/src/migrations/registry.ts b/packages/spec/src/migrations/registry.ts index 41e36656e5d..728fb51e5ed 100644 --- a/packages/spec/src/migrations/registry.ts +++ b/packages/spec/src/migrations/registry.ts @@ -8989,7 +8989,7 @@ const step18: MigrationStep = { 'stored `sys_metadata` row or authored source.', }, // The COMPOSED-branch twin of `datasource-credentialsref-mongo-url-no-user-refused` - // (#9147 widening #9041's refinement). Same silent discard, one branch over, and a + // (#9147 widening commit d491625c1's refinement). Same silent discard, one branch over, and a // DIFFERENT remedy — which is why it is its own entry rather than a widened surface // on that one: with no `url` the discrete `config.username` is the live field, so the // fix is `config.username`, not the URL's userinfo. @@ -18752,9 +18752,9 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // that ships the login UI (objectui#4179). Until then the standing record is // `PUBLIC_AUTH_FEATURES_NOT_ADVERTISED` in `kernel/public-auth-features.ts`. 'api/AuthFeaturesConfig:passkeys', - // #6361 — the notification-inbox pagination key, tombstoned on BOTH halves + // Commit 90bbf2510 — the notification-inbox pagination key, tombstoned on BOTH halves // of `GET /api/v1/notifications` because one capability is never half- - // deleted (maintainer ruling 2026-08-07, ruled jointly with #6363). Two + // deleted (maintainer ruling 2026-08-07, ruled jointly with the `unreadCount` fix, commit 17d095413). Two // keys, one prescription: `NOTIFICATIONS_CURSOR_REMOVED` in // `api/protocol.zod.ts` is the single string both rejection sites raise. // @@ -18988,8 +18988,8 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // cannot say whether the value was ever in seconds. Registered under 18 for // the launch-window reason its neighbours state. 'api/ApiEndpoint:cacheTtl', - // #14691 — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, - // executing the #14369 liveness census (15 `dead` rows across the `crud` / + // Commit b3a63d32c — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, + // executing the liveness census commit a3d5724c8 recorded (15 `dead` rows across the `crud` / // `metadata` / `batch` / `routes` sub-schemas; 0 read sites in `packages/rest` // outside `normalizeConfig` and the normalized-config type; objectui @d4c6a86 // clean; cloud @9b6abe0f2fd5 clean STRUCTURALLY — cloud never authors a @@ -19011,8 +19011,8 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // semantics of callers who send nothing, the exact move ADR-0119 D4 refused, // so this is a remove, not an enforce. 'api/BatchEndpointsConfig:defaultAtomic', - // #14691 — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, - // executing the #14369 liveness census (15 `dead` rows across the `crud` / + // Commit b3a63d32c — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, + // executing the liveness census commit a3d5724c8 recorded (15 `dead` rows across the `crud` / // `metadata` / `batch` / `routes` sub-schemas; 0 read sites in `packages/rest` // outside `normalizeConfig` and the normalized-config type; objectui @d4c6a86 // clean; cloud @9b6abe0f2fd5 clean STRUCTURALLY — cloud never authors a @@ -19034,8 +19034,8 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // gated by `enableBatchEndpoint`. Nested key of an inline block — no // `authorable-surface/` line of its own. 'api/BatchEndpointsConfig:operations.upsertMany', - // #14691 — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, - // executing the #14369 liveness census (15 `dead` rows across the `crud` / + // Commit b3a63d32c — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, + // executing the liveness census commit a3d5724c8 recorded (15 `dead` rows across the `crud` / // `metadata` / `batch` / `routes` sub-schemas; 0 read sites in `packages/rest` // outside `normalizeConfig` and the normalized-config type; objectui @d4c6a86 // clean; cloud @9b6abe0f2fd5 clean STRUCTURALLY — cloud never authors a @@ -19054,8 +19054,8 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // segment; `'query'` was validated against the enum and mounted exactly what // `'path'` mounts. 'api/CrudEndpointsConfig:objectParamStyle', - // #14691 — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, - // executing the #14369 liveness census (15 `dead` rows across the `crud` / + // Commit b3a63d32c — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, + // executing the liveness census commit a3d5724c8 recorded (15 `dead` rows across the `crud` / // `metadata` / `batch` / `routes` sub-schemas; 0 read sites in `packages/rest` // outside `normalizeConfig` and the normalized-config type; objectui @d4c6a86 // clean; cloud @9b6abe0f2fd5 clean STRUCTURALLY — cloud never authors a @@ -19077,8 +19077,8 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // per-operation method/path knob would make every one of them lie. The live // door for a custom path or method is a declarative `api` endpoint. Its value // def `api/CrudEndpointPattern` leaves with it (RETIRED_DEFS_BY_MAJOR[18]); its - // four ledger child rows collapse into the one `patterns` row. Closes #14365's - // question about the record's input type — there is no record left to reshape. + // four ledger child rows collapse into the one `patterns` row. Closes the open + // `z.partialRecord` question (commit f60ab90ae) — there is no record left to reshape. 'api/CrudEndpointsConfig:patterns', // #15677 (stack card 2/6 of #14478) — ruling B: the unit lives in the key NAME. // `DataLoaderConfig.cacheTtl` named seconds only in its describe. Renamed to @@ -19167,7 +19167,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // is HTTP-only — nobody authors a `ListInstalledPackagesRequest` and nothing // persists one. The prescription reaches consumers as the D3 semantic entry // `packages-list-pagination-retired` plus this tombstone, the disposition - // `api/ListNotificationsRequest:cursor` (#6361) already took for the same + // `api/ListNotificationsRequest:cursor` (commit 90bbf2510) already took for the same // shape one route over. 'api/ListInstalledPackagesRequest:limit', // #19543 — ADR-0049 enforce-or-remove (director seat, decision batch #204 @@ -19199,8 +19199,8 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // D3 semantic entry `automation-runs-cursor-retired` carries the record to // `spec-changes.json`, the generated upgrade guide and `os migrate meta`. 'api/ListRunsRequest:cursor', - // #14691 — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, - // executing the #14369 liveness census (15 `dead` rows across the `crud` / + // Commit b3a63d32c — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, + // executing the liveness census commit a3d5724c8 recorded (15 `dead` rows across the `crud` / // `metadata` / `batch` / `routes` sub-schemas; 0 read sites in `packages/rest` // outside `normalizeConfig` and the normalized-config type; objectui @d4c6a86 // clean; cloud @9b6abe0f2fd5 clean STRUCTURALLY — cloud never authors a @@ -19221,8 +19221,8 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // bound, `-1` accepted — #11984 pinned it as accepted because that was the // contract) dies with the key. 'api/MetadataEndpointsConfig:cacheTtl', - // #14691 — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, - // executing the #14369 liveness census (15 `dead` rows across the `crud` / + // Commit b3a63d32c — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, + // executing the liveness census commit a3d5724c8 recorded (15 `dead` rows across the `crud` / // `metadata` / `batch` / `routes` sub-schemas; 0 read sites in `packages/rest` // outside `normalizeConfig` and the normalized-config type; objectui @d4c6a86 // clean; cloud @9b6abe0f2fd5 clean STRUCTURALLY — cloud never authors a @@ -19331,7 +19331,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // removal ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #11846 / #12428 grading). + // boundary where `migrate meta` users look (the commit 0c2334f6c / #12428 grading). 'api/RestApiEndpoint:handlerStatus', // #15677 (stack card 2/6 of #14478) — ruling B. `RestApiEndpoint.timeout` // (milliseconds) sat THREE LINES above `cacheTtl` (seconds), each unit named @@ -19363,8 +19363,8 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // local `RouteDefinition` interface for the `ai:routes` hook payload — a // different type, with no duration key at all, and untouched by this rename. 'api/RouteDefinition:timeout', - // #14691 — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, - // executing the #14369 liveness census (15 `dead` rows across the `crud` / + // Commit b3a63d32c — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, + // executing the liveness census commit a3d5724c8 recorded (15 `dead` rows across the `crud` / // `metadata` / `batch` / `routes` sub-schemas; 0 read sites in `packages/rest` // outside `normalizeConfig` and the normalized-config type; objectui @d4c6a86 // clean; cloud @9b6abe0f2fd5 clean STRUCTURALLY — cloud never authors a @@ -19384,8 +19384,8 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // `RestServerConfigSchema`'s own `@example` advertised // `routes: { excludeObjects: ['system_log'] }`; corrected in the same change. 'api/RouteGenerationConfig:excludeObjects', - // #14691 — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, - // executing the #14369 liveness census (15 `dead` rows across the `crud` / + // Commit b3a63d32c — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, + // executing the liveness census commit a3d5724c8 recorded (15 `dead` rows across the `crud` / // `metadata` / `batch` / `routes` sub-schemas; 0 read sites in `packages/rest` // outside `normalizeConfig` and the normalized-config type; objectui @d4c6a86 // clean; cloud @9b6abe0f2fd5 clean STRUCTURALLY — cloud never authors a @@ -19406,8 +19406,8 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // `enable.apiMethods` → 405), so the capability exists where the contract // belongs and this key was a second, unread dialect of it. 'api/RouteGenerationConfig:includeObjects', - // #14691 — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, - // executing the #14369 liveness census (15 `dead` rows across the `crud` / + // Commit b3a63d32c — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, + // executing the liveness census commit a3d5724c8 recorded (15 `dead` rows across the `crud` / // `metadata` / `batch` / `routes` sub-schemas; 0 read sites in `packages/rest` // outside `normalizeConfig` and the normalized-config type; objectui @d4c6a86 // clean; cloud @9b6abe0f2fd5 clean STRUCTURALLY — cloud never authors a @@ -19427,8 +19427,8 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // `name` is the canonical id on every surface including the REST path segment // (Prime Directive #6) — a URL transform would contradict the one-name rule. 'api/RouteGenerationConfig:nameTransform', - // #14691 — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, - // executing the #14369 liveness census (15 `dead` rows across the `crud` / + // Commit b3a63d32c — ADR-0049 enforce-or-remove on the `RestServerConfig` sub-objects, + // executing the liveness census commit a3d5724c8 recorded (15 `dead` rows across the `crud` / // `metadata` / `batch` / `routes` sub-schemas; 0 read sites in `packages/rest` // outside `normalizeConfig` and the normalized-config type; objectui @d4c6a86 // clean; cloud @9b6abe0f2fd5 clean STRUCTURALLY — cloud never authors a @@ -19449,7 +19449,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // `enable.apiMethods`); `basePath` per object would contradict the one // deployment-wide data base (`crud.dataPrefix`) the discovery document // advertises. Its three ledger child rows collapse into the one `overrides` - // row. Closes #14365's question about `overrides.*.operations` — no record left. + // row. Closes the `z.partialRecord` question (commit f60ab90ae) on `overrides.*.operations` — no record left. 'api/RouteGenerationConfig:overrides', // #14788 — ADR-0049 enforce-or-remove (maintainer ruling 2026-09-03, option // D). `SessionUserSchema.language` (`api/auth.zod.ts`) was declared with a @@ -19470,7 +19470,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // removal ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). + // boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // The schema is a non-strict `z.object`, so the route is a `retiredKey()` // tombstone (a bare delete would strip the key silently, ADR-0104). A RESPONSE // surface — the server mints a `SessionUser` and nobody authors or persists @@ -19767,7 +19767,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // removal ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). + // boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // `MetricSchema` is `strictObject`, so the route is strict deletion + a // `guidance` entry carrying the prescription (no retiredKey tombstone — the // key is out of the walked shape entirely). Sources are rewritten by the D2 @@ -19953,7 +19953,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // boundary where `migrate meta` users look — the disposition // `18.integration__Connector__errorMapping.ts` records for the same schema. 'integration/Connector:connectionTimeoutMs', - // #14676 — ADR-0049 enforce-or-remove on `ConnectorSchema.errorMapping` (triage + // Commit 13c48c2a5 — ADR-0049 enforce-or-remove on `ConnectorSchema.errorMapping` (triage // ruling 2026-09-02: removal via the `spec-property-retirement` playbook; the // split condition — a downstream consumer in objectui or a customer stack — // measured empty at objectui `0d8fd7c`, hotcrm not measurable). The key carried @@ -20136,7 +20136,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // carry the key — measured, not assumed, before the tombstone landed. // See `18.integration__Connector__connectionTimeoutMs.ts` for the retirement record. 'integration/DeclarativeConnectorEntry:connectionTimeoutMs', - // #14676 — the same tombstone seen through the second carrier. + // Commit 13c48c2a5 — the same tombstone seen through the second carrier. // `DeclarativeConnectorEntrySchema` and `ConnectorSchema` both wrap the shared // private `ConnectorBaseSchema` in the retired-default residue stage, the entry // schema adding the ADR-0097 cross-field rules on the base before wrapping. @@ -20282,7 +20282,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // declaration, and the registration-time refusal in // `HotReloadManager.registerPlugin` is the door for the audience that exists. 'kernel/HotReloadConfig:watchPatterns', - // #11846 — ADR-0049 enforce-or-remove on the preview-mode block (maintainer + // Commit 0c2334f6c — ADR-0049 enforce-or-remove on the preview-mode block (maintainer // ruling 2026-08-27, Option A: remove). The key was declared as an auth bypass // — its docstring promised auto-login as a simulated admin and named a // production guard "the runtime must enforce" — and NOTHING implemented any of @@ -20305,7 +20305,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // removal ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). + // boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). 'kernel/KernelContext:previewMode', // #15676 — the epoch-instant half of #14478 ruling B. `KernelContext.startTime` // is the boot INSTANT: it moved onto the shared `EpochMs` schema and was renamed @@ -20336,7 +20336,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // `KernelSecurityPolicy` is a plugin security manifest's policy block, never a // stack collection member. See `kernel-plugin-security-durations-unit-in-key`. 'kernel/KernelSecurityPolicy:authentication.tokenExpiration', - // #11332 — ADR-0049 enforce-or-remove on the plugin manifest's three dead + // Commit dce5cd4f0 — ADR-0049 enforce-or-remove on the plugin manifest's three dead // top-level containers (triage graded 2026-08-23; cloud leg measured clean // 2026-08-29 on #12400 with positive controls). The census found ZERO reads // of the `capabilities` container itself in objectstack, objectui and cloud, @@ -20364,7 +20364,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // and through the D3 semantic entry // `plugin-manifest-dead-containers-retired`. 'kernel/Manifest:capabilities', - // #11332 — ADR-0049 enforce-or-remove on the plugin manifest's three dead + // Commit dce5cd4f0 — ADR-0049 enforce-or-remove on the plugin manifest's three dead // top-level containers; census and registration major recorded once in the // sibling entry `kernel/Manifest:capabilities`, the why-no-D2-conversion // reasoning in `kernel/Manifest:loading` (the precedent); the D3 semantic @@ -20380,7 +20380,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // composition: the options object passed to the plugin's constructor in // `defineStack({ plugins: [new MyPlugin({ … })] })`. 'kernel/Manifest:configuration', - // #10724 — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` + // Commit be21955ba — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` // block; one of NINE members tombstoned together. Census, registration major, // and the why-no-D2-conversion reasoning are recorded once in the sibling // entry `kernel/Manifest:contributes.events` (this family) and in @@ -20391,7 +20391,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // working surfaces are the stack `actions` collection (METADATA_ARRAY_KEYS, // registered by the engine) and `engine.registerAction`. 'kernel/Manifest:contributes.actions', - // #10724 — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` + // Commit be21955ba — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` // block; one of NINE members tombstoned together. Census, registration major, // and the why-no-D2-conversion reasoning are recorded once in the sibling // entry `kernel/Manifest:contributes.events` (this family) and in @@ -20404,7 +20404,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // "The `objectstack.config.ts` plugins array no longer determines CLI // commands"). 'kernel/Manifest:contributes.commands', - // #10724 — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` + // Commit be21955ba — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` // block; one of NINE members tombstoned together. Census, registration major, // and the why-no-D2-conversion reasoning are recorded once in the sibling // entry `kernel/Manifest:contributes.events` (this family) and in @@ -20416,9 +20416,9 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // `registerDriver` on it); the only in-repo author (driver-memory) was // registered that way, not by its declaration. 'kernel/Manifest:contributes.drivers', - // #10724 — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` + // Commit be21955ba — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` // block (triage graded 2026-08-21; cloud leg measured clean 2026-08-24). One - // of NINE members tombstoned together: #10627 measured exactly ONE non-test + // of NINE members tombstoned together: that commit's census measured exactly ONE non-test // read of `manifest.contributes` monorepo-wide (engine.ts, member `kinds`), // with controls, re-verified across objectstack + objectui + cloud at claim // time. `events` in particular was decorative twice over: its only in-repo @@ -20438,7 +20438,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // `os plugin build` → `ManifestSchema.safeParse` and through the D3 semantic // entry `plugin-manifest-contributes-dead-members-retired`. 'kernel/Manifest:contributes.events', - // #10724 — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` + // Commit be21955ba — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` // block; one of NINE members tombstoned together. Census, registration major, // and the why-no-D2-conversion reasoning are recorded once in the sibling // entry `kernel/Manifest:contributes.events` (this family) and in @@ -20449,7 +20449,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // there is no `registerFieldType` seam anywhere — zero hits monorepo-wide. // The field-type vocabulary is the spec `FieldType` enum. 'kernel/Manifest:contributes.fieldTypes', - // #10724 — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` + // Commit be21955ba — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` // block; one of NINE members tombstoned together. Census, registration major, // and the why-no-D2-conversion reasoning are recorded once in the sibling // entry `kernel/Manifest:contributes.events` (this family) and in @@ -20486,7 +20486,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // `os plugin build` → `ManifestSchema.safeParse` and through the D3 semantic // entry `plugin-manifest-kind-globs-retired`. 'kernel/Manifest:contributes.kinds.globs', - // #10724 — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` + // Commit be21955ba — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` // block; one of NINE members tombstoned together. Census, registration major, // and the why-no-D2-conversion reasoning are recorded once in the sibling // entry `kernel/Manifest:contributes.events` (this family) and in @@ -20499,8 +20499,8 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // `navigation` / `manifest.navigationContributions` (ADR-0029 D7), which the // engine registers. 'kernel/Manifest:contributes.menus', - // #10726 — ADR-0049 enforce-or-remove fork on `contributes.routes`, the ONE - // `contributes` member deliberately excluded from #10724's nine-member + // Commit bc56e1881 — ADR-0049 enforce-or-remove fork on `contributes.routes`, the ONE + // `contributes` member deliberately excluded from commit be21955ba's nine-member // retirement because removing it needed a ruling, not a tombstone: the key // was the only DECLARED channel for a real capability (serving a code-handler // endpoint), and four published surfaces — a customer-published skill among @@ -20508,8 +20508,8 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // (「接受所有」 on the decision batch carrying the four-axis analysis): remove // the key; author-facing materials redirect to the imperative `http.server` // mount, the form that actually works. The ruling's cloud precondition was - // discharged 2026-08-24 (#10812: cloud @ 5b5925a, zero `manifest.contributes` - // reads, controls green), completing #10627's three-repo census at exactly + // discharged 2026-08-24 (the cloud census: cloud @ 5b5925a, zero `manifest.contributes` + // reads, controls green), completing commit be21955ba's three-repo census at exactly // one live read (engine.ts, member `kinds` — now the block's sole survivor). // // Registered under 18, not 17: v17.0.0 was cut before this landed, so the @@ -20524,7 +20524,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // `os plugin build` → `ManifestSchema.safeParse` and through the D3 semantic // entry `plugin-manifest-contributes-routes-retired`. 'kernel/Manifest:contributes.routes', - // #10724 — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` + // Commit be21955ba — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` // block; one of NINE members tombstoned together. Census, registration major, // and the why-no-D2-conversion reasoning are recorded once in the sibling // entry `kernel/Manifest:contributes.events` (this family) and in @@ -20537,7 +20537,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // stack-level theme hits reach the registry through top-level metadata // collections, never through `contributes.themes`. 'kernel/Manifest:contributes.themes', - // #10724 — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` + // Commit be21955ba — ADR-0049 enforce-or-remove on the plugin manifest's `contributes` // block; one of NINE members tombstoned together. Census, registration major, // and the why-no-D2-conversion reasoning are recorded once in the sibling // entry `kernel/Manifest:contributes.events` (this family) and in @@ -20549,7 +20549,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // `translations` collection (`defineTranslationBundle`), governed by // `packages/spec/liveness/translation.json`. 'kernel/Manifest:contributes.translations', - // #11332 — ADR-0049 enforce-or-remove on the plugin manifest's three dead + // Commit dce5cd4f0 — ADR-0049 enforce-or-remove on the plugin manifest's three dead // top-level containers; census and registration major recorded once in the // sibling entry `kernel/Manifest:capabilities`, the why-no-D2-conversion // reasoning in `kernel/Manifest:loading` (the precedent); the D3 semantic @@ -20624,8 +20624,8 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // metadata-manager config is not a stack collection member. D3 semantic entry: // `metadata-manager-config-inert-cache-keys-retired`. 'kernel/MetadataManagerConfig:cache.ttlSeconds', - // #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on - // #12057, adopting retirement; re-charter #13135 executes the widened + // Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on + // #12057, adopting retirement; re-chartered, that commit executes the widened // surface). `persistence.overlayWritable` gated exactly one method — // `MetadataManager.saveOverlay()` — which belonged to the paper // metadata-customization protocol removed whole in the same change: no route @@ -20658,7 +20658,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstone ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). + // boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // // Registered here but NOT in `src/conversions/registry.ts`, for the reason // `kernel/Manifest:loading` gives: the conversion chain walks a normalized @@ -20670,8 +20670,8 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // The prescription reaches authors through the tombstone (`tsc` + the parse) // and the D3 semantic entry `metadata-plugin-additional-types-retired`. 'kernel/MetadataPluginConfig:additionalTypes', - // #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on - // #12057, adopting retirement; re-charter #13135 executes the widened + // Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on + // #12057, adopting retirement; re-chartered, that commit executes the widened // surface). `customizationPolicies` embedded the paper metadata-customization // protocol's `CustomizationPolicySchema` (lockedFields / customizableFields // whitelists) and was read by NOTHING: no code ever consulted a policy before @@ -20698,8 +20698,8 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // through the tombstone (`tsc` + the parse) and the D3 semantic entry // `metadata-customization-protocol-retired`. 'kernel/MetadataPluginConfig:customizationPolicies', - // #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on - // #12057, adopting retirement; re-charter #13135 executes the widened + // Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on + // #12057, adopting retirement; re-chartered, that commit executes the widened // surface). `mergeStrategy` embedded the paper protocol's // `MergeStrategyConfigSchema` (keep-custom / accept-incoming / // three-way-merge) and was read by NOTHING: no 3-way merge engine ever @@ -21124,7 +21124,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // conversion: the result is EMITTED at the end of a boot, never authored. See // `kernel-startup-orchestrator-durations-unit-in-key`. 'kernel/StartupOrchestrationResult:totalDuration', - // #11846 — the `TenantRuntimeContextSchema` copy of + // Commit 0c2334f6c — the `TenantRuntimeContextSchema` copy of // `kernel/KernelContext:previewMode`: the def is `KernelContextSchema.extend(…)`, // so the tombstone lands in this walked shape too and `authorable-surface/` // marks it `[RETIRED]` separately. Registered per key, as gate (b) reads them — @@ -21213,7 +21213,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // removal ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). + // boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // ObjectPermissionSchema is `strictObject` but the def is reachable from the // `permission` metadata root, so the route is the `retiredKey()` tombstone // (the `rls.priority` posture) — the key stays in the walked shape as @@ -21244,7 +21244,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // removal ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). + // boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // ObjectPermissionSchema is `strictObject` but the def is reachable from the // `permission` metadata root, so the route is the `retiredKey()` tombstone // (the `rls.priority` posture) — the key stays in the walked shape as @@ -22117,7 +22117,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). + // boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-filter-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the @@ -22139,7 +22139,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). + // boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-filter-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the @@ -22161,7 +22161,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). + // boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-filter-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the @@ -22183,7 +22183,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). + // boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-filter-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the @@ -22205,7 +22205,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). + // boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-filter-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the @@ -22227,7 +22227,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). + // boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-filter-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the @@ -22251,7 +22251,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). + // boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-form-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the @@ -22275,7 +22275,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). + // boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-form-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the @@ -22299,7 +22299,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). + // boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-form-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the @@ -22323,7 +22323,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). + // boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-form-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the @@ -22347,7 +22347,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). + // boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-form-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the @@ -22371,7 +22371,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstones ship on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). + // boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `element-form-removed`, which // strips all six keys and leaves the bare node — which the parse then refuses // by name (`RETIRED_PAGE_COMPONENT_TYPES`), with the prescription to delete the @@ -22392,7 +22392,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstone ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). + // boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion // `element-input-target-variable-removed`. 'ui/ElementRecordPickerProps:targetVariable', @@ -22414,7 +22414,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstone ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). + // boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion // `element-input-target-variable-removed` (a page component IS a stack // collection member, unlike the `kernel/Manifest:loading` family). @@ -22492,7 +22492,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // removal ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8495 / PR #8666 precedent, + // boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666, // as `data/Metric:filters` before it). Tombstoned with `retiredKey()` in // `ObjectGridPropsSchema` (the surface baseline line carries `[RETIRED]`); // sources are rewritten by the D2 conversion `object-grid-default-sort-removed` @@ -22593,7 +22593,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // tombstone ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). + // boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // Sources are rewritten by the D2 conversion `page-component-responsive-removed`. 'ui/PageComponent:responsive', // #10054 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-21, executing @@ -22616,7 +22616,7 @@ export const RETIRED_KEYS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // removal ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8495 / PR #8666 precedent). + // boundary where `migrate meta` users look (the precedent of commit 4bfe1a539, PR #8666). // The object arm is `strictObject`, so the route is strict deletion + a // `guidance` entry carrying the prescription (no retiredKey tombstone — the // key is out of the walked shape entirely, and the refusal is the arm's own @@ -22832,7 +22832,7 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // entry id by `gen:migration-registry` (#7297). Add an entry by adding a // FILE — never by editing between the markers, which is generated. // - // #6239 — api/protocol.zod.ts view-management operations + // Commit f549a0d4a — api/protocol.zod.ts view-management operations 'api/CreateViewRequest', 'api/CreateViewResponse', 'api/DeleteViewRequest', @@ -22994,7 +22994,7 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // conversion — this table plus the D3 semantic entry // `export-job-family-retired` are the declaration. 'api/CreateExportJobResponse', - // #14691 — `api/CrudEndpointPattern` (the `{ method, path, summary, description }` + // Commit b3a63d32c — `api/CrudEndpointPattern` (the `{ method, path, summary, description }` // value shape of `crud.patterns`) leaves with its carrier key: its ONLY consumer // was `CrudEndpointsConfigSchema.patterns`, tombstoned in the same change under // ADR-0049 enforce-or-remove, and an exported value schema with no consumer @@ -23114,8 +23114,8 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // See `18.api__ListFlowsRequest.ts` and the D3 semantic entry // `automation-flow-list-route-retired` for the record. 'api/ListFlowsResponse', - // #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on - // #12057: retirement adopted, re-scope rejected; re-charter #13135 executes + // Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on + // #12057: retirement adopted, re-scope rejected; re-chartered, that commit executes // the widened surface). Part of the whole-module removal of // `kernel/metadata-customization.zod.ts` — the paper three-layer // customization protocol ADR-0126 §6 wall 4 supersedes on the record @@ -23135,11 +23135,11 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // boundary where `migrate meta` users look. No carrier key survives for // these defs and no authored document embedded them, so no tombstone and no // D2 conversion — this table plus the D3 semantic entry - // `metadata-customization-protocol-retired` ARE the declaration (the #8715 + // `metadata-customization-protocol-retired` ARE the declaration (commit 2c86fe3ea's // route-3 shape). 'api/MetadataEffectiveResponse', - // #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on - // #12057: retirement adopted, re-scope rejected; re-charter #13135 executes + // Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on + // #12057: retirement adopted, re-scope rejected; re-chartered, that commit executes // the widened surface). Part of the whole-module removal of // `kernel/metadata-customization.zod.ts` — the paper three-layer // customization protocol ADR-0126 §6 wall 4 supersedes on the record @@ -23158,11 +23158,11 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // boundary where `migrate meta` users look. No carrier key survives for // these defs and no authored document embedded them, so no tombstone and no // D2 conversion — this table plus the D3 semantic entry - // `metadata-customization-protocol-retired` ARE the declaration (the #8715 + // `metadata-customization-protocol-retired` ARE the declaration (commit 2c86fe3ea's // route-3 shape). 'api/MetadataOverlayResponse', - // #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on - // #12057: retirement adopted, re-scope rejected; re-charter #13135 executes + // Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on + // #12057: retirement adopted, re-scope rejected; re-chartered, that commit executes // the widened surface). Part of the whole-module removal of // `kernel/metadata-customization.zod.ts` — the paper three-layer // customization protocol ADR-0126 §6 wall 4 supersedes on the record @@ -23180,7 +23180,7 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // boundary where `migrate meta` users look. No carrier key survives for // these defs and no authored document embedded them, so no tombstone and no // D2 conversion — this table plus the D3 semantic entry - // `metadata-customization-protocol-retired` ARE the declaration (the #8715 + // `metadata-customization-protocol-retired` ARE the declaration (commit 2c86fe3ea's // route-3 shape). 'api/MetadataOverlaySaveRequest', // #12038 — `api/package-api.zod.ts` `PackageRollbackResponseSchema`, retired @@ -23195,7 +23195,7 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // §5.2): only its own unit test and the #11925 negative guard, both updated // in the retiring PR. No carrier key, no authored document, so no tombstone // and no D2 conversion — this table plus the D3 semantic entry - // `package-rollback-response-retired` ARE the declaration (the #8715 route-3 + // `package-rollback-response-retired` ARE the declaration (commit 2c86fe3ea's route-3 // shape). The live route's true contract is // `RollbackToPackageCommitResponseSchema` (`api/package-lifecycle.zod.ts`), // authored in the same PR AFTER this retirement per the ruling's sequencing. @@ -23203,7 +23203,7 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // removal ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8586 / #8715 precedent). + // boundary where `migrate meta` users look (the #8586 / commit 2c86fe3ea precedent). 'api/PackageRollbackResponse', // #13823 — `api/RouteCoverageEntry` (one declared endpoint's coverage row: // `path` / `method` / `category` / `handlerStatus` / `service` / @@ -23580,7 +23580,7 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // the cloud repo's own declarations, not an open-source protocol). Prescription: the // `cloud-subpath-retired` semantic entry of this major. 'cloud/VersionRelease', - // #8715 — identity/identity.zod.ts `ApiKeySchema`, retired whole (ADR-0049 + // Commit 2c86fe3ea — identity/identity.zod.ts `ApiKeySchema`, retired whole (ADR-0049 // enforce-or-remove; maintainer ruling 2026-08-15, disposition B: delete). // The schema documented better-auth's `apiKey` PLUGIN shape — a plugin this // platform does not load: `start`, `lastRefetchAt`, `enabled` (the real @@ -23613,7 +23613,7 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // deliberately exempts. See `retired-keys/18.integration__Connector__health.ts` // for the retirement record. 'integration/CircuitBreakerConfig', - // #14676 — `integration/ConnectorErrorCategory` (the 8-value connector-side + // Commit 13c48c2a5 — `integration/ConnectorErrorCategory` (the 8-value connector-side // error category enum) left with its two carriers: `ErrorMappingRule.targetCategory` // and `ErrorMappingConfig.defaultCategory`, both retired in this same major // (`RETIRED_DEFS_BY_MAJOR[18]`). Measured before removal: outside the declaring @@ -23651,7 +23651,7 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // `retired-keys/18.integration__Connector__triggers.ts` for the retirement // record. 'integration/ConnectorTrigger', - // #14676 — `integration/ErrorMappingConfig` (`rules`, `defaultCategory`, + // Commit 13c48c2a5 — `integration/ErrorMappingConfig` (`rules`, `defaultCategory`, // `unmappedBehavior`, `logUnmapped`) leaves with its only carrier: // `ConnectorSchema.errorMapping`, tombstoned in this same major under ADR-0049 // enforce-or-remove (`RETIRED_KEYS_BY_MAJOR[18]`). Nothing outside the declaring @@ -23663,7 +23663,7 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // no default). See `retired-keys/18.integration__Connector__errorMapping.ts` // for the retirement record. 'integration/ErrorMappingConfig', - // #14676 — `integration/ErrorMappingRule` (`sourceCode`, `sourceMessage`, + // Commit 13c48c2a5 — `integration/ErrorMappingRule` (`sourceCode`, `sourceMessage`, // `targetCode`, `targetCategory`, `severity`, `retryable`, `userMessage`) leaves // with `integration/ErrorMappingConfig`, whose `rules[]` was its only carrier. // The `userMessage` member is the reason the census filed the card: its @@ -23739,7 +23739,7 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // (ADR-0049 enforce-or-remove; triage graded 2026-08-25, the exported // orphan-value-schema class — #3950). The pair described a "CLI Command // Contribution declaration in the manifest" and claimed retention "for - // describing command metadata in plugin manifests" — but after #10724 + // describing command metadata in plugin manifests" — but after commit be21955ba // tombstoned `manifest.contributes.commands`, no manifest surface could // legally carry these entries: the exported schema advertised a shape whose // only declared carrier rejects it. The manifest never referenced this schema @@ -23760,8 +23760,8 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // narrowings ride minor releases) and the prescription lives at the major // boundary where `migrate meta` users look (the #8586 / PR #8702 precedent). 'kernel/CLICommandContribution', - // #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on - // #12057: retirement adopted, re-scope rejected; re-charter #13135 executes + // Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on + // #12057: retirement adopted, re-scope rejected; re-chartered, that commit executes // the widened surface). Part of the whole-module removal of // `kernel/metadata-customization.zod.ts` — the paper three-layer // customization protocol ADR-0126 §6 wall 4 supersedes on the record @@ -23779,11 +23779,11 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // boundary where `migrate meta` users look. No carrier key survives for // these defs and no authored document embedded them, so no tombstone and no // D2 conversion — this table plus the D3 semantic entry - // `metadata-customization-protocol-retired` ARE the declaration (the #8715 + // `metadata-customization-protocol-retired` ARE the declaration (commit 2c86fe3ea's // route-3 shape). 'kernel/CustomizationOrigin', - // #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on - // #12057: retirement adopted, re-scope rejected; re-charter #13135 executes + // Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on + // #12057: retirement adopted, re-scope rejected; re-chartered, that commit executes // the widened surface). Part of the whole-module removal of // `kernel/metadata-customization.zod.ts` — the paper three-layer // customization protocol ADR-0126 §6 wall 4 supersedes on the record @@ -23803,7 +23803,7 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // boundary where `migrate meta` users look. No carrier key survives for // these defs and no authored document embedded them, so no tombstone and no // D2 conversion — this table plus the D3 semantic entry - // `metadata-customization-protocol-retired` ARE the declaration (the #8715 + // `metadata-customization-protocol-retired` ARE the declaration (commit 2c86fe3ea's // route-3 shape). 'kernel/CustomizationPolicy', // #12340 — kernel/plugin-lifecycle-advanced.zod.ts @@ -23842,8 +23842,8 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // receive a parse-time tombstone. This table plus the D3 semantic entry // `hot-reload-inert-state-strategies-retired` ARE the declaration. 'kernel/DistributedStateConfig', - // #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on - // #12057: retirement adopted, re-scope rejected; re-charter #13135 executes + // Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on + // #12057: retirement adopted, re-scope rejected; re-chartered, that commit executes // the widened surface). Part of the whole-module removal of // `kernel/metadata-customization.zod.ts` — the paper three-layer // customization protocol ADR-0126 §6 wall 4 supersedes on the record @@ -23864,7 +23864,7 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // boundary where `migrate meta` users look. No carrier key survives for // these defs and no authored document embedded them, so no tombstone and no // D2 conversion — this table plus the D3 semantic entry - // `metadata-customization-protocol-retired` ARE the declaration (the #8715 + // `metadata-customization-protocol-retired` ARE the declaration (commit 2c86fe3ea's // route-3 shape). 'kernel/FieldChange', // #11825 — `kernel/GracefulDegradation` left with @@ -23948,8 +23948,8 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // module `kernel/plugin-security.zod.ts`. Those are separate defs with their own // self-test and are outside this ruling. 'kernel/KernelSecurityVulnerability', - // #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on - // #12057: retirement adopted, re-scope rejected; re-charter #13135 executes + // Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on + // #12057: retirement adopted, re-scope rejected; re-chartered, that commit executes // the widened surface). Part of the whole-module removal of // `kernel/metadata-customization.zod.ts` — the paper three-layer // customization protocol ADR-0126 §6 wall 4 supersedes on the record @@ -23967,11 +23967,11 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // boundary where `migrate meta` users look. No carrier key survives for // these defs and no authored document embedded them, so no tombstone and no // D2 conversion — this table plus the D3 semantic entry - // `metadata-customization-protocol-retired` ARE the declaration (the #8715 + // `metadata-customization-protocol-retired` ARE the declaration (commit 2c86fe3ea's // route-3 shape). 'kernel/MergeConflict', - // #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on - // #12057: retirement adopted, re-scope rejected; re-charter #13135 executes + // Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on + // #12057: retirement adopted, re-scope rejected; re-chartered, that commit executes // the widened surface). Part of the whole-module removal of // `kernel/metadata-customization.zod.ts` — the paper three-layer // customization protocol ADR-0126 §6 wall 4 supersedes on the record @@ -23989,11 +23989,11 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // boundary where `migrate meta` users look. No carrier key survives for // these defs and no authored document embedded them, so no tombstone and no // D2 conversion — this table plus the D3 semantic entry - // `metadata-customization-protocol-retired` ARE the declaration (the #8715 + // `metadata-customization-protocol-retired` ARE the declaration (commit 2c86fe3ea's // route-3 shape). 'kernel/MergeResult', - // #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on - // #12057: retirement adopted, re-scope rejected; re-charter #13135 executes + // Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on + // #12057: retirement adopted, re-scope rejected; re-chartered, that commit executes // the widened surface). Part of the whole-module removal of // `kernel/metadata-customization.zod.ts` — the paper three-layer // customization protocol ADR-0126 §6 wall 4 supersedes on the record @@ -24015,7 +24015,7 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // boundary where `migrate meta` users look. No carrier key survives for // these defs and no authored document embedded them, so no tombstone and no // D2 conversion — this table plus the D3 semantic entry - // `metadata-customization-protocol-retired` ARE the declaration (the #8715 + // `metadata-customization-protocol-retired` ARE the declaration (commit 2c86fe3ea's // route-3 shape). 'kernel/MergeStrategyConfig', // #14180 — kernel/cluster.zod.ts `MetadataChangeOperationSchema` / @@ -24073,8 +24073,8 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // narrowings ride minor releases) and the prescription lives at the major // boundary where `migrate meta` users look. 'kernel/MetadataChangedEventPayload', - // #13135 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on - // #12057: retirement adopted, re-scope rejected; re-charter #13135 executes + // Commit 9e0ba21a1 — ADR-0049 enforce-or-remove (maintainer ruling 2026-08-29 on + // #12057: retirement adopted, re-scope rejected; re-chartered, that commit executes // the widened surface). Part of the whole-module removal of // `kernel/metadata-customization.zod.ts` — the paper three-layer // customization protocol ADR-0126 §6 wall 4 supersedes on the record @@ -24096,7 +24096,7 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // boundary where `migrate meta` users look. No carrier key survives for // these defs and no authored document embedded them, so no tombstone and no // D2 conversion — this table plus the D3 semantic entry - // `metadata-customization-protocol-retired` ARE the declaration (the #8715 + // `metadata-customization-protocol-retired` ARE the declaration (commit 2c86fe3ea's // route-3 shape). 'kernel/MetadataOverlay', // #11825 — `kernel/PluginUpdateStrategy` left with @@ -24115,7 +24115,7 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // implementation first. See `18.kernel__AdvancedPluginLifecycleConfig.ts` // for the family record. 'kernel/PluginUpdateStrategy', - // #11846 — `kernel/PreviewModeConfig` (the six-key preview/demo config block: + // Commit 0c2334f6c — `kernel/PreviewModeConfig` (the six-key preview/demo config block: // `autoLogin` default true, `simulatedRole` default 'admin', // `simulatedUserName`, `readOnly`, `expiresInSeconds`, `bannerMessage`). Its // only carrier key, `KernelContext.previewMode`, is tombstoned in this same @@ -24130,7 +24130,7 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // never implemented by any layer; preview DEPLOYMENTS belong to the // deployment layer, whose `OS_PREVIEW_MODE` is routing-only and stays. If a // preview experience becomes a product capability it re-declares fresh, with - // the production-posture hard-refusal as the first-landed half (#11846 ruling + // the production-posture hard-refusal as the first-landed half (commit 0c2334f6c's ruling // record). 'kernel/PreviewModeConfig', // #16059 — `StartupOptionsSchema` (`timeoutMs`, `rollbackOnFailure`, @@ -24174,7 +24174,7 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // deliberate `z.string()` — the ruling adds no constraint there. No authored // document is invalidated (the accept set at the three fields widens), so no // tombstone and no D2 conversion — this table plus the D3 semantic entry - // `event-name-schema-retired` are the declaration (the #8715 route-3 shape). + // `event-name-schema-retired` are the declaration (commit 2c86fe3ea's route-3 shape). 'shared/EventName', // #13612 — ADR-0049 enforce-or-remove (maintainer ruling 2026-09-01, director // batch C: retire; binding was weighed and not adopted). One of the six @@ -24209,7 +24209,7 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // five surfaces' real validators as the contract of record). No authored // document ever embedded a branded value, so no tombstone and no D2 // conversion — this table plus the D3 semantic entry - // `branded-identifier-schemas-retired` are the declaration (the #8715 + // `branded-identifier-schemas-retired` are the declaration (commit 2c86fe3ea's // route-3 shape). 'shared/ObjectName', // #13612 — ADR-0049 enforce-or-remove (maintainer ruling 2026-09-01, director @@ -24701,7 +24701,7 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // entries stay as history — gate (b2) of build-schemas.ts accepts an entry // naming a key the build no longer emits. 'system/TrainingRecord', - // #10485 — `ui/BorderRadius` (the border-radius scale sub-block) left with `ui/Theme`: + // Commit 35ad101bc — `ui/BorderRadius` (the border-radius scale sub-block) left with `ui/Theme`: // its ONLY consumer was the retired `ThemeSchema` (the #3950 rule — an // exported value schema with no consumer reads as a capability). See // `18.ui__Theme.ts` for the retirement record and the ruling. @@ -24727,7 +24727,7 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // with no consumer reads as a capability). See `18.ui__ResponsiveConfig.ts` // for the retirement record and the measurement. 'ui/BreakpointOrderMap', - // #10485 — `ui/ColorPalette` (the colour palette sub-block) left with `ui/Theme`: + // Commit 35ad101bc — `ui/ColorPalette` (the colour palette sub-block) left with `ui/Theme`: // its ONLY consumer was the retired `ThemeSchema` (the #3950 rule — an // exported value schema with no consumer reads as a capability). See // `18.ui__Theme.ts` for the retirement record and the ruling. @@ -24744,12 +24744,12 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // which stays. The Tailwind-style layout vocabulary returns if and when a // renderer implements it — in one change, with the engine (the #4834 rule). 'ui/ResponsiveConfig', - // #10485 — `ui/Shadow` (the shadow scale sub-block) left with `ui/Theme`: + // Commit 35ad101bc — `ui/Shadow` (the shadow scale sub-block) left with `ui/Theme`: // its ONLY consumer was the retired `ThemeSchema` (the #3950 rule — an // exported value schema with no consumer reads as a capability). See // `18.ui__Theme.ts` for the retirement record and the ruling. 'ui/Shadow', - // #10485 — `ui/theme.zod.ts` `ThemeSchema`, retired whole with its + // Commit 35ad101bc — `ui/theme.zod.ts` `ThemeSchema`, retired whole with its // `defineStack({ themes })` carrier key (ADR-0049 enforce-or-remove; // maintainer ruling 2026-08-21, disposition B: 退役授权面 — `app.branding` // stays the one colour surface; objectui's ThemeEngine/ThemeContext and their @@ -24765,14 +24765,14 @@ export const RETIRED_DEFS_BY_MAJOR: Readonly> // Registered under 18, not 17: v17.0.0 was cut before this landed, so the // removal ships on the 17.x line (launch-window convention: accept-set // narrowings ride minor releases) and the prescription lives at the major - // boundary where `migrate meta` users look (the #8586 / #8715 precedent). + // boundary where `migrate meta` users look (the #8586 / commit 2c86fe3ea precedent). 'ui/Theme', - // #10485 — `ui/ThemeMode` (the theme mode enum (light/dark/auto)) left with `ui/Theme`: + // Commit 35ad101bc — `ui/ThemeMode` (the theme mode enum (light/dark/auto)) left with `ui/Theme`: // its ONLY consumer was the retired `ThemeSchema` (the #3950 rule — an // exported value schema with no consumer reads as a capability). See // `18.ui__Theme.ts` for the retirement record and the ruling. 'ui/ThemeMode', - // #10485 — `ui/Typography` (the typography sub-block) left with `ui/Theme`: + // Commit 35ad101bc — `ui/Typography` (the typography sub-block) left with `ui/Theme`: // its ONLY consumer was the retired `ThemeSchema` (the #3950 rule — an // exported value schema with no consumer reads as a capability). See // `18.ui__Theme.ts` for the retirement record and the ruling. From 15c282d6b984a81ce150f78e4f742aaef47a3161 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 30 Sep 2026 00:40:08 +0000 Subject: [PATCH 3/3] chore(changeset): patch note for the re-anchored migration-entry comments Claude-Session: https://claude.ai/code/session_014EJ1ED8X4MMrT18BhVx4tx Co-authored-by: Claude --- .../spec-migration-entries-provenance-anchors.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .changeset/spec-migration-entries-provenance-anchors.md diff --git a/.changeset/spec-migration-entries-provenance-anchors.md b/.changeset/spec-migration-entries-provenance-anchors.md new file mode 100644 index 00000000000..d62834d677c --- /dev/null +++ b/.changeset/spec-migration-entries-provenance-anchors.md @@ -0,0 +1,15 @@ +--- +'@objectstack/spec': patch +--- + +The ADR-0087 migration entries cite the commit that decided each retirement instead of a tracker number that no longer resolves + +Clause-②: no + +The source comments of the migration registry's retired-key, retired-def and semantic +entries named GitHub issues that no longer exist, so a reader could not tell a rule kept +on purpose from one nobody could explain. Each of those comments now names the commit +that made the decision and, where the number alone carried the meaning, says what was +decided. The compiled `@objectstack/spec/migrations` entry carries these comments, which +is why this is a release note at all. Comment text only: no entry id, retired key or def, +prescription, projected upgrade-guide text, schema, export or runtime behaviour changes.