Repository navigation
fix(spec): tombstones for keys live in @objectstack/spec 17.7.0 name 18 as their removal version - #23186
Conversation
…18 as their removal version The v18 train runs in Changesets pre mode, so the first release that refuses a retirement stamped `retiredAfter: '17.7.0'` is 18.0.0, not a 17.x minor. Seven prescriptions named 17 (or 17.8.0, or no version) for shapes the 17.7.0 tarball still accepts: the ten element flat-binding keys (one shared string), object-grid `defaultFilters`, email_template `category` / `isSystem`, the package-manifest permission-string list, StorageScope `public`, and the `allowOrgOverride` rename. Tests pinning the literal follow. Claude-Session: https://claude.ai/code/session_012uFegdfR6K6uqvLzt7XsdZ Co-authored-by: Claude <noreply@anthropic.com>
…e its registry entry derives The pin reads `retiredAfter` off each joined ADR-0087 conversion, the newest published stable release off the tree (the census, every stamp, a stable label) and the next release's major off PROTOCOL_MAJOR, and asserts every tombstone or refusal for that surface names that major, and that its `os migrate meta --from N` is toMajor - 1. Every entry retired after the newest published stable release must be joined, so a future retirement cannot ship its prescription unjudged. Claude-Session: https://claude.ai/code/session_012uFegdfR6K6uqvLzt7XsdZ Co-authored-by: Claude <noreply@anthropic.com>
…apes 17.7.0 still accepts Claude-Session: https://claude.ai/code/session_012uFegdfR6K6uqvLzt7XsdZ Co-authored-by: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012uFegdfR6K6uqvLzt7XsdZ Co-authored-by: Claude <noreply@anthropic.com>
📓 Docs Drift CheckThis PR changes 1 package(s): 1 hand-written doc(s) NAME something this change touched and may need an implementation-accuracy re-verification:
What this run could not see
Coarse fallback — 141 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): Which tree this was computed onThis run read A worktree cut from an older # while this PR is open — GitHub drops the merge commit once it closes
git fetch origin fadfc9acc8ec12a7ecaaa8b55feac525596b8df0 && git checkout fadfc9acc8ec12a7ecaaa8b55feac525596b8df0
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin 6f4c518b012a3959ba6c7d414b5fa085ad135c17 38728b3e1b37ed00bed9da54be08198fd7fe1bd8 && git checkout -B drift-repro 6f4c518b012a3959ba6c7d414b5fa085ad135c17 && git merge --no-ff 38728b3e1b37ed00bed9da54be08198fd7fe1bd8
node scripts/docs-audit/affected-docs.mjs --json 6f4c518b012a3959ba6c7d414b5fa085ad135c17
|
…mbstone-removal-version
…e that removed it `TimeUpdateInterval` accepted `second` / `minute` / `hour` through the 17.4.0 tarball and refuses them from 17.5.0 (the D2 entry `cube-sub-day-granularities-removed` is `retiredAfter: '17.4.0'`), but the refusal said "retired in protocol 18". It now says "was removed in @objectstack/spec 17.5.0", and the derived removal-version pin joins the entry, so it guards the 17.x-shipped direction too. Claude-Session: https://claude.ai/code/session_012uFegdfR6K6uqvLzt7XsdZ Co-authored-by: Claude <noreply@anthropic.com>
…criptions as they now read (deliberate correction) `.changeset/22876-email-template-category-is-system-retired.md` lines 29 and 31 quote the two `email_template` prescriptions, which now name @objectstack/spec 18; the quotes said 17. Nothing else in that file changes. This PR's own changeset records the sub-day time-interval correction too. Claude-Session: https://claude.ai/code/session_012uFegdfR6K6uqvLzt7XsdZ Co-authored-by: Claude <noreply@anthropic.com>
|
DELIBERATE CORRECTION: What changed. This PR changes Why it is not restored. The gate's verdict at head The other by-design red, Generated by Claude Code |
…mbstone-removal-version
…ared and removed them `RETIRED_SUB_DAY_INTERVALS`' TSDoc, which ships in the `.d.ts`, said the enum declared the three names "until protocol 18". The 17.4.0 tarball is the last release declaring them, and 17.5.0 removed them. This PR's changeset also notes that the 18.0.0-next.0 release notes quoted the two email_template prescriptions with the earlier version. Claude-Session: https://claude.ai/code/session_012uFegdfR6K6uqvLzt7XsdZ Co-authored-by: Claude <noreply@anthropic.com>
|
Supersedes the gate-and-reason note 6140567986. What moved. The Why it is kept (seat decision A). At
So the correction reaches the stable The gate's verdict at head
Generated by Claude Code |
…0 the first that refuses these shapes `@objectstack/spec@18.0.0-next.0` was published after this changeset was written, so "17.7.0, the newest published release" stopped being true where the sentence is read. Every shape in the table is refused by the published 18.0.0-next.0 tarball and accepted by 17.7.0. Claude-Session: https://claude.ai/code/session_012uFegdfR6K6uqvLzt7XsdZ Co-authored-by: Claude <noreply@anthropic.com>
|
Supersedes 6143438580.
Verdict at Generated by Claude Code |
…mbstone-removal-version
Contract reviewServed-tier: Verdict in one paragraph. Everything this head's own diff changes is right: the seven strings and the interval refusal name the release that actually stops accepting each shape, the pin derives that release correctly in both directions under the prerelease label, the changeset is true sentence by sentence at Inputs read. Card #23145 body and all 10 comments; PR #23186 body in full, its 4 comments, its 21-file list and the net diff against Check-runs on the head. First read (about 10:55Z): 50 runs — 28 success, 10 skipped, 3 failure (all ① Derived judgmentsAccept set: unchanged — verified, not only claimed. The diff edits string literals and one TSDoc sentence: Public surface that does change, each named right:
The 219 unchanged rows, sampled adversarially — on the head. The same sample on The pin (
② Semver level
The changeset, sentence by sentence against the head and the published line:
③ Boundary flagsThe DELIBERATE CORRECTION on
Dev flags, each answered.
The docs-drift advisory ( What the fix round owes before the next at-tier review (the FAIL's remedy, in full). The seat's dispatched round (card comment 6144192235) covers items 1, 2 and 5; its amended surface is "the prescription string of each of these two entries only", which does not reach item 3 — the seat should widen it in the same act, or the next review fails on the same ground.
Implemented-by: VERDICT: FAIL |
`content/docs/references/ui/component.mdx` merged without a text merge (both sides changed it); regenerated with gen:schema + gen:docs from the merged source. It differs from origin/main by exactly this branch's eleven corrected rows. Claude-Session: https://claude.ai/code/session_012uFegdfR6K6uqvLzt7XsdZ Co-authored-by: Claude <noreply@anthropic.com>
…; the pin joins two new retirements Two retirements reached main with `retiredAfter: '17.7.0'` (`page-action-row-navigation-executor-to-url`, `cbp-master-detail-required-defaulted`), and the derived removal-version pin refused them as unjoined. They are joined now. Their prescriptions named no release: the page action rows' `'navigation'` refusal now says the alias is "refused on page action rows since @objectstack/spec 18", and the controlled-by-parent refusal says the one-required-master rule holds "since @objectstack/spec 18". `view.data.provider: 'api'` (D3-only, outside the pin) said "removed in @objectstack/spec 17" for a shape 17.7.0 accepts; it now says 18. 17.7.0 and 18.0.0-next.0 both accept all three shapes. The literal pins follow; `view.data.provider: 'api'` and `StorageScope.public` gain a one-line release pin. The pending changesets 23082 and 23103 quote the corrected text as it now reads (deliberate correction). Claude-Session: https://claude.ai/code/session_012uFegdfR6K6uqvLzt7XsdZ Co-authored-by: Claude <noreply@anthropic.com>
… second table for the three it still accepts `view.data.provider: 'api'`, the page action rows' `'navigation'` executor and the controlled-by-parent one-required-master rule are accepted by both 17.7.0 and the published 18.0.0-next.0, so the first release that refuses them is the one after next.0. They get their own table, and the first table's sentence names next.0 for its own rows only. Claude-Session: https://claude.ai/code/session_012uFegdfR6K6uqvLzt7XsdZ Co-authored-by: Claude <noreply@anthropic.com>
|
Supersedes 6143855611.
Verdict at No other gate at this head is red: 113 derived, 112 exit 0, this one exit 1; CI's TypeScript Type Check, Test Core, Build Core and Lint & Repo Gates are green. Generated by Claude Code |
Contract reviewServed-tier: Verdict in one paragraph. Round 2 on the fix-round head. The round-1 FAIL (6144306153) was about the tree, not the diff; this head removes both grounds. The merge of Inputs read. Card #23145: body and all 13 comments (seat notes 6144192235 and 6144323612, dev report 6146077819 included). PR #23186: body in full (59230 bytes), all 6 comments (docs-drift bot, the three superseded notes, round-1 record 6144306153, the live designed-red note 6146032386), the 30-file list, the net diff against Check-runs on the head (48). 39 success, 7 skipped, 2 failure. The two failures are ① Derived judgments1. The merge and the regeneration carry only this branch's rows — RIGHT. 2. The pin joins both new entries and the completeness guard holds — RIGHT. 3. The two prescriptions that named no release now name 18 — TRUE for each, and each is still a well-formed prescription.
4. 5. The changeset split — TRUE sentence by sentence; counts consistent.
6. The three DELIBERATE CORRECTIONS — each CONFIRMED.
7. Sweep, head and 8. Overlap with PR #23244 (head
9. Carry-over from round 1 (6144306153), unchanged on this head and re-read where the tree moved. The accept set is unchanged — the round delta's branch commits edit string literals, test assertions, one changeset and one regenerated page; no ② Semver level
③ Boundary flagsDELIBERATE CORRECTIONS. Three, each CONFIRMED in ①.6: Dev flags on this head (report 6146077819), each answered.
Seat-surface conformance. The amended surface (6144323612): the two entries' prescriptions (text only), Sequencing with #23244. A finding for the seat, not a ground against this head (①.8): either order merges clean; the second lander restates the shared Not measured here. The dev's local 113-gate run, the vitest counts and the ablation legs ⑥ and ⑦ (read-only review; CI's green Implemented-by: VERDICT: PASS |
Fixes #23145
Clause-②: no (prescription text only: no key, value or shape is accepted or refused differently)
Block lifted.
check:future-spec-majorwent green when the Version Packages pull request #21988 merged andpackages/spec/package.jsonread18.0.0-next.0.Fix round (seat notes 6144192235 and 6144323612)
maingained tworetiredAfter: '17.7.0'entries after the last merge. Unjoined, they trip the pin's completeness guard; on the previous head CI'sTest Core (1/6)failed inpackages/specpnpm run test(its annotation; the job log is not readable from this container).mainalso gained a string of this class,view.data.provider: 'api'"removed in @objectstack/spec 17" (1912af47b, D3-only).page-action-row-navigation-executor-to-url: the'navigation'refusal on all four row shapes.cbp-master-detail-required-defaulted: the parse's refusal atsharingModel.'navigation'refusal named no release. It now says the alias is "refused on page action rows since @objectstack/spec 18".view.data.provider: 'api'now says "removed in @objectstack/spec 18".controlled_by_parentvariant (no master, optional master, required lookup, two masters), are accepted by 17.7.0 and by 18.0.0-next.0;18.0.0-next.0still accepts them, so the first release that refuses them is the one after it.view-data-api-provider-retirement.test.tspins "@objectstack/spec 18";view.test.tsandobject-storage.test.tsgain one line each.23082:25(provider: 'api', byte-equal to the emitted string) and23103:36(the'navigation'first sentence, equal to the emitted one).pre/22876:29,31stay byte-equal.check-empty-changesetstays red by design (DELIBERATE CORRECTION). Verdict at38728b3e1, verbatim:Each note quotes a prescription this PR corrects, and each corrected quote is equal to the emitted text. Restoring any of them from the base would publish a false sentence.
'navigation'refusal without its release: red, 1 failed / 18 passed, "names no release". The first try was refused by the tool (the replacement was a substring of the anchor; nothing ran).mainsince: 9 commits to6d7f4df3c. None touchespackages/specor adds aretiredAfterline;git merge-treewith it is clean.page-default-record-page-one-per-object-refused,ui-page-action-row-on-success-shape-closed) whose refusals name no release. They are outside this surface.Patch round (seat note 6143582707)
@objectstack/spec@18.0.0-next.0reached npmnextat 2026-10-13T08:35:43Z, so the changeset's "17.7.0, the newest published release" was false where it is read. It now names 17.7.0 as the newest 17.x release (npmlatest) and names18.0.0-next.0(56d63b4e7; the fix round split that sentence per table).npm packinto its own directory; integritysha512-ASTh6…2Ow==matches the packument) refuses all 16 first-table rows with the text this PR replaces, and the sub-day intervals too. ItsCHANGELOG.md:2091and:2093quote theemail_templateprescriptions as "…17".56d63b4e7: 20 derived, 20 run, 19 exit 0, 1 exit 1 (check-empty-changeset, by design).Landing round (seat review 6140670883)
071dbdb24(parents1ee37155dandd889448b9, the18.0.0-next.0version commit), no conflict. The release moved22876to.changeset/pre/; git followed the rename, so the two-line correction sits there.changeset pre exitthe consumedpre/changesets are read again into the stable18.0.0CHANGELOG:@changesets/read@1.0.1dist/index.mjs:29,@changesets/assemble-release-plan@7.0.0dist/index.mjs:328(dropspre/only whilepreState.mode !== "exit"),@changesets/apply-release-plan@8.1.1dist/index.mjs:301-319.RETIRED_SUB_DAY_INTERVALSTSDoc (data/analytics.zod.ts:104, shipped in the.d.ts) now reads "declared through @objectstack/spec 17.4.0; 17.5.0 removed them". Docblock text, not a row.check-issue-citations: the one added citation (#17296) resolves locally ("1 resolves"); the CI annotation was exit 3, the could-not-measure class.Patch round (seat answer 6139390852)
7bfd6b035(parents936750950and20949e7a7), no conflicts, viascripts/pm/os-regen-merge.sh;check:generatedgreen at1ee37155d.TimeUpdateIntervalacceptssecond/minute/hourin the 17.4.0 tarball (src/data/analytics.zod.ts:53-55) and refuses them in 17.5.0 (:145-148); its D2cube-sub-day-granularities-removedisretiredAfter: '17.4.0'. The refusal said "retired in protocol 18"; it now says "was removed in @objectstack/spec 17.5.0". It is joined to the pin; its two literal pins follow (spec/src/data/analytics.test.ts,drivers/driver-memory/src/memory-analytics-time-granularity.test.ts).e81cae014; the18.0.0-next.0release has since moved each of these files into.changeset/pre/:22876-email-template-category-is-system-retired.md:29(email_template.category)22876-…md:31(email_template.isSystem)22161-lint-slice-6-one-line.md:17(element:filter)element-filter-removedisretiredAfter: '17.0.0', first retired in the 17.1.0 tarball (census), and the tag carries the same prescription (ui/page.zod.ts:114)22876-…md:36toMajor, not a release22340-registry-allow-environment-overlay.md:3722130-protocol-18.md:10cube-sub-day-granularities-removed)23082-view-data-api-provider-retired.md:25(fix round)23103-page-action-row-on-success-and-executor.md:36(fix round)'navigation'refusal's first sentence, no releasepre/22340-s3-governed-text-rename.md:9(landing-round re-sweep)allowEnvironmentOverlayin protocol 18"PROTOCOL_VERSION18.0.0), not a quote of the prescriptionNo other changeset quotes a changed prescription. The landing round re-swept the remaining root stock and
.changeset/pre/. The sweep covered every.changeset/*.mdfor each changed sentence and for "17.8.0", "retired in protocol 18", "renamed toallowEnvironmentOverlay" and "legacy form of a package manifest". 22876's frontmatter and marker block are byte-identical (first 12 lines, same md5). This PR's own changeset gains the interval correction.check-empty-changesetstays red by design (ruling D on #17712, DELIBERATE CORRECTION class): the consumedpre/22876note still feeds the stable18.0.0notes at pre exit, so restoring it from the base would put a false sentence into them. Decision A, seat-confirmed. The current three-file verdict is in the fix-round section.What changed
Eleven prescription strings named the wrong removal release, or none. Ten are for shapes the
@objectstack/spec@17.7.0tarball still accepts, and they now name 18. The eleventh is the interval refusal above.elementFlatBindingRetired(ui/component.zod.ts): one shared string rendering ten tombstones (element:numberobject/filter;element:record_pickerandelement:repeaterobject/filter/sort/limit). Was 17.object-griddefaultFilters(ui/component.zod.ts). Was 17.email_template.categoryandemail_template.isSystem(system/email-template.zod.ts). Was 17.kernel/manifest.zod.ts, the union armManifestPermissionsSchemadropped; D2manifest-permissions-string-list-removed,retiredAfter: '17.7.0'). Was 17.publicinStorageScope(system/object-storage.zod.ts,enumWithRetiredValues; D3storage-scope-public-retired). Was 17.8.0, a release this train will not cut.MetadataTypeRegistryEntry.allowOrgOverride→allowEnvironmentOverlay(kernel/metadata-plugin.zod.ts). Named no release, an omission against the governing text ("the version that removed it"). The seat ratified the edit.'navigation'row-executor refusal and the controlled-by-parent no-required-master refusal (both named no release), andview.data.provider: 'api'(was 17).Every
os migrate meta --from 17sentence is unchanged and correct (H6 below). The test files that pinned the old literals follow. Thecontent/docs/references/**projection is regenerated (14 rows). One changeset,@objectstack/specpatch. One new pin,packages/spec/src/shared/retired-key-removal-version.pin.test.ts. The two non-retiredKeyrenderers (manifest list,StorageScope.public) and the interval message are seat-ratified surface additions (6139390852).The enumeration
Population (H2): every
RETIRED_KEYS_BY_MAJOR[18]id (232), joined by position (category/Def:key) to its tombstone. Added to those:retiredAfter: '17.7.0'entries and the D3-onlyview.data.provider: 'api'.239 rows: 20 edited, 219 unchanged. Edited rows render 11 strings; the 10 element rows share one. Entries at
retiredAfter: '17.7.0': 7.How each column was read:
121847a7d(row 236: at936750950).@objectstack/spec@17.7.0tarball, integrity-verified against the packument, and against tag commit4e4e88142. Paths are relative topackages/spec/at4e4e88142;tarball json-schema/…is the published JSON Schema.yesrows cite the live declaration.norows cite a[RETIRED]authorable-surface line, a[REMOVED]describe, the tombstone's source line, or the def's retired-defs entry.retiredAfter: '17.7.0'is LIVE at the tag and every earlier stamp is tombstoned there: zero disagreements.| # | key (type:key) | registry entry (D2 named in the retired-keys entry file) | toMajor | retiredAfter | live at the tag | before | after |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 1 |
ai/Agent:lifecycle|agent-lifecycle-removed| 18 | 17.6.0 | no · authorable-surface/ai.json:29[RETIRED]| 17.7.0 | unchanged || 2 |
ai/Agent:memory.longTerm.store|agent-memory-long-term-store-removed| 18 | 17.6.0 | no · tarball json-schema/ai/Agent.json:140[REMOVED]| 17.7.0 | unchanged || 3 |
ai/ConversationAnalytics:duration| retired-keys only | — | — | no · authorable-surface/ai.json:96[RETIRED]| 17 | unchanged || 4 |
api/ApiEndpoint:cacheTtl|api-endpoint-cache-ttl-to-cache-ttl-seconds| 18 | 17.3.0 | no · authorable-surface/api.json:120[RETIRED]| 17 | unchanged || 5 |
api/BatchEndpointsConfig:defaultAtomic| retired-keys only | — | — | no · authorable-surface/api.json:262[RETIRED]| 17 | unchanged || 6 |
api/BatchEndpointsConfig:operations.upsertMany| retired-keys only | — | — | no · tarball json-schema/api/BatchEndpointsConfig.json:37[REMOVED]| 17 | unchanged || 7 |
api/CrudEndpointsConfig:objectParamStyle| retired-keys only | — | — | no · authorable-surface/api.json:425[RETIRED]| 17 | unchanged || 8 |
api/CrudEndpointsConfig:patterns| retired-keys only | — | — | no · authorable-surface/api.json:427[RETIRED]| 17 | unchanged || 9 |
api/DataLoaderConfig:cacheTtl| retired-keys only | — | — | no · authorable-surface/api.json:453[RETIRED]| 17 | unchanged || 10 |
api/DeviceRequestResponse:interval| retired-keys only | — | — | no · authorable-surface/api.json:514[RETIRED]| 17 | unchanged || 11 |
api/EnhancedApiError:retryAfter| retired-keys only | — | — | no · authorable-surface/api.json:603[RETIRED]| 17 | unchanged || 12 |
api/ListInstalledPackagesRequest:cursor| retired-keys only | — | — | no · authorable-surface/api.json:998[RETIRED]| 17.5.0 | unchanged || 13 |
api/ListInstalledPackagesRequest:limit| retired-keys only | — | — | no · authorable-surface/api.json:1000[RETIRED]| 17.5.0 | unchanged || 14 |
api/ListRunsRequest:cursor| retired-keys only | — | — | no · authorable-surface/api.json:1025[RETIRED]| 17.5.0 | unchanged || 15 |
api/MetadataEndpointsConfig:cacheTtl| retired-keys only | — | — | no · authorable-surface/api.json:1073[RETIRED]| 17 | unchanged || 16 |
api/MetadataEndpointsConfig:endpoints.schema| retired-keys only | — | — | no · tarball json-schema/api/MetadataEndpointsConfig.json:49[REMOVED]| 17 | unchanged || 17 |
api/RestApiConfig:documentation.enabled| retired-keys only | — | — | no · tarball json-schema/api/RestApiConfig.json:79[REMOVED]| 17.5.0 | unchanged || 18 |
api/RestApiConfig:documentation.version| retired-keys only | — | — | no · tarball json-schema/api/RestApiConfig.json:91[REMOVED]| 17.5.0 | unchanged || 19 |
api/RestApiConfig:responseFormat| retired-keys only | — | — | no · authorable-surface/api.json:1437[RETIRED]| 17.5.0 | unchanged || 20 |
api/RestApiEndpoint:cacheTtl| retired-keys only | — | — | no · authorable-surface/api.json:1439[RETIRED]| 17 | unchanged || 21 |
api/RestApiEndpoint:handlerStatus| retired-keys only | — | — | no · authorable-surface/api.json:1445[RETIRED]| 17 | unchanged || 22 |
api/RestApiEndpoint:timeout| retired-keys only | — | — | no · authorable-surface/api.json:1455[RETIRED]| 17 | unchanged || 23 |
api/RestApiPluginConfig:performance.defaultCacheTtl| retired-keys only | — | — | no · tarball json-schema/api/RestApiPluginConfig.json:812[REMOVED]| 17 | unchanged || 24 |
api/RouteDefinition:timeout| retired-keys only | — | — | no · authorable-surface/api.json:1512[RETIRED]| 17 | unchanged || 25 |
api/RouteGenerationConfig:excludeObjects| retired-keys only | — | — | no · authorable-surface/api.json:1514[RETIRED]| 17 | unchanged || 26 |
api/RouteGenerationConfig:includeObjects| retired-keys only | — | — | no · authorable-surface/api.json:1515[RETIRED]| 17 | unchanged || 27 |
api/RouteGenerationConfig:nameTransform| retired-keys only | — | — | no · authorable-surface/api.json:1516[RETIRED]| 17 | unchanged || 28 |
api/RouteGenerationConfig:overrides| retired-keys only | — | — | no · authorable-surface/api.json:1517[RETIRED]| 17 | unchanged || 29 |
api/SessionUser:language| retired-keys only | — | — | no · authorable-surface/api.json:1600[RETIRED]| 17.4.0 | unchanged || 30 |
api/SimplePresenceState:lastSeen| retired-keys only | — | — | no · authorable-surface/api.json:1615[RETIRED]| 17 | unchanged || 31 |
api/WebSocketConfig:pingInterval| retired-keys only | — | — | no · authorable-surface/api.json:1771[RETIRED]| 17 | unchanged || 32 |
api/WebSocketConfig:reconnectInterval| retired-keys only | — | — | no · authorable-surface/api.json:1775[RETIRED]| 17 | unchanged || 33 |
api/WebSocketConfig:timeout| retired-keys only | — | — | no · authorable-surface/api.json:1777[RETIRED]| 17 | unchanged || 34 |
api/WebSocketEvent:timestamp| retired-keys only | — | — | no · authorable-surface/api.json:1783[RETIRED]| 17 | unchanged || 35 |
api/WebSocketServerConfig:heartbeatInterval| retired-keys only | — | — | no · authorable-surface/api.json:1787[RETIRED]| 17 | unchanged || 36 |
data/AutoPersistenceConfig:autoSaveInterval|memory-persistence-auto-save-interval-to-ms| 18 | 17.3.0 | no · authorable-surface/data.json:38[RETIRED]| 17 | unchanged || 37 |
data/Cube:refreshKey|cube-refresh-key-removed| 18 | 17.5.0 | no · authorable-surface/data.json:100[RETIRED]| 17 | unchanged || 38 |
data/CubeJoin:relationship|cube-join-sql-and-relationship-removed| 18 | 17.4.0 | no · src/data/analytics.zod.ts:573 | 17 | unchanged || 39 |
data/CubeJoin:sql|cube-join-sql-and-relationship-removed| 18 | 17.4.0 | no · src/data/analytics.zod.ts:572 | 17 | unchanged || 40 |
data/CurrencyConfig:precision|currency-config-precision-removed| 18 | 17.4.0 | no · src/data/field.zod.ts:453 | 17.5.0 | unchanged || 41 |
data/Dimension:name|cube-member-inner-name-removed| 18 | 17.4.0 | no · authorable-surface/data.json:197[RETIRED]| 17.5.0 | unchanged || 42 |
data/DriverOptions:timeout| retired-keys only | — | — | no · authorable-surface/data.json:279[RETIRED]| 17 | unchanged || 43 |
data/ESignatureConfig:expirationDays| retired-keys only | — | — | no · authorable-surface/data.json:288[RETIRED]| n/a (def retired at HEAD) | unchanged || 44 |
data/ESignatureConfig:reminderDays| retired-keys only | — | — | no · authorable-surface/data.json:290[RETIRED]| n/a (def retired at HEAD) | unchanged || 45 |
data/FilePersistenceConfig:autoSaveInterval|memory-persistence-auto-save-interval-to-ms| 18 | 17.3.0 | no · authorable-surface/data.json:444[RETIRED]| 17 | unchanged || 46 |
data/FileValue:duration| retired-keys only | — | — | no · authorable-surface/data.json:449[RETIRED]| 17 | unchanged || 47 |
data/Metric:filters|metric-filters-removed| 18 | 17.1.0 | no · src/data/analytics.zod.ts:367 | 17 | unchanged || 48 |
data/Metric:name|cube-member-inner-name-removed| 18 | 17.4.0 | no · authorable-surface/data.json:602[RETIRED]| 17.5.0 | unchanged || 49 |
data/NoSQLQueryOptions:timeout| retired-keys only | — | — | no · authorable-surface/data.json:663[RETIRED]| 17 | unchanged || 50 |
data/TenancyConfig:organizationField|object-tenancy-organization-field-removed| 18 | 17.4.0 | no · src/data/object.zod.ts:543 | 17 | unchanged || 51 |
data/TursoConfig:timeout|turso-config-timeout-to-timeout-ms| 18 | 17.3.0 | no · authorable-surface/data.json:1014[RETIRED]| 17 | unchanged || 52 |
integration/CircuitBreakerConfig:monitoringWindow|connector-resilience-keys-removed| 18 | 17.4.0 | no · def retired whole: src/migrations/entries/retired-defs/18.integration__CircuitBreakerConfig.ts | n/a (def retired at HEAD) | unchanged || 53 |
integration/Connector:connectionTimeoutMs|connector-connection-timeout-ms-removed| 18 | 17.4.0 | no · authorable-surface/integration.json:15[RETIRED]| 17 | unchanged || 54 |
integration/Connector:errorMapping|connector-error-mapping-removed| 18 | 17.3.0 | no · authorable-surface/integration.json:18[RETIRED]| 17 | unchanged || 55 |
integration/Connector:fieldMappings| retired-keys only | — | — | no · authorable-surface/integration.json:19[RETIRED]| 17 | unchanged || 56 |
integration/Connector:health|connector-resilience-keys-removed| 18 | 17.4.0 | no · authorable-surface/integration.json:20[RETIRED]| 17 | unchanged || 57 |
integration/Connector:status|connector-resilience-keys-removed| 18 | 17.4.0 | no · authorable-surface/integration.json:30[RETIRED]| 17 | unchanged || 58 |
integration/Connector:syncConfig|connector-sync-keys-removed| 18 | 17.5.0 | no · authorable-surface/integration.json:31[RETIRED]| 17 | unchanged || 59 |
integration/Connector:triggers|connector-triggers-removed| 18 | 17.5.0 | no · authorable-surface/integration.json:32[RETIRED]| 17 | unchanged || 60 |
integration/Connector:webhooks|connector-resilience-keys-removed| 18 | 17.4.0 | no · authorable-surface/integration.json:34[RETIRED]| 17 | unchanged || 61 |
integration/ConnectorTrigger:interval|connector-triggers-removed| 18 | 17.5.0 | no · def retired whole: src/migrations/entries/retired-defs/18.integration__ConnectorTrigger.ts | n/a (def retired at HEAD) | unchanged || 62 |
integration/DeclarativeConnectorEntry:connectionTimeoutMs| retired-keys only | — | — | no · authorable-surface/integration.json:61[RETIRED]| 17 | unchanged || 63 |
integration/DeclarativeConnectorEntry:errorMapping| retired-keys only | — | — | no · authorable-surface/integration.json:64[RETIRED]| 17 | unchanged || 64 |
integration/DeclarativeConnectorEntry:fieldMappings| retired-keys only | — | — | no · authorable-surface/integration.json:65[RETIRED]| 17 | unchanged || 65 |
integration/DeclarativeConnectorEntry:health| retired-keys only | — | — | no · authorable-surface/integration.json:66[RETIRED]| 17 | unchanged || 66 |
integration/DeclarativeConnectorEntry:status| retired-keys only | — | — | no · authorable-surface/integration.json:76[RETIRED]| 17 | unchanged || 67 |
integration/DeclarativeConnectorEntry:syncConfig| retired-keys only | — | — | no · authorable-surface/integration.json:77[RETIRED]| 17 | unchanged || 68 |
integration/DeclarativeConnectorEntry:triggers| retired-keys only | — | — | no · authorable-surface/integration.json:78[RETIRED]| 17 | unchanged || 69 |
integration/DeclarativeConnectorEntry:webhooks| retired-keys only | — | — | no · authorable-surface/integration.json:80[RETIRED]| 17 | unchanged || 70 |
kernel/CompatibilityMatrixEntry:estimatedMigrationTime| retired-keys only | — | — | no · authorable-surface/kernel.json:33[RETIRED]| 17 | unchanged || 71 |
kernel/EventPersistence:retention| retired-keys only | — | — | no · authorable-surface/kernel.json:130[RETIRED]| 17 | unchanged || 72 |
kernel/EventSourcingConfig:retention| retired-keys only | — | — | no · authorable-surface/kernel.json:149[RETIRED]| 17 | unchanged || 73 |
kernel/HealthStatus:timestamp| retired-keys only | — | — | no · def retired whole: src/migrations/entries/retired-defs/18.kernel__HealthStatus.ts | n/a (def retired at HEAD) | unchanged || 74 |
kernel/HotReloadConfig:debounceDelay| retired-keys only | — | — | no · authorable-surface/kernel.json:212[RETIRED]| 17 | unchanged || 75 |
kernel/HotReloadConfig:watchPatterns| retired-keys only | — | — | no · authorable-surface/kernel.json:218[RETIRED]| 17.3.0 | unchanged || 76 |
kernel/KernelContext:previewMode| retired-keys only | — | — | no · authorable-surface/kernel.json:243[RETIRED]| 17 | unchanged || 77 |
kernel/KernelContext:startTime| retired-keys only | — | — | no · authorable-surface/kernel.json:244[RETIRED]| 17 | unchanged || 78 |
kernel/KernelSecurityPolicy:auditLog.retention| retired-keys only | — | — | no · tarball json-schema/kernel/KernelSecurityPolicy.json:195[REMOVED]| 17 | unchanged || 79 |
kernel/KernelSecurityPolicy:authentication.tokenExpiration| retired-keys only | — | — | no · tarball json-schema/kernel/KernelSecurityPolicy.json:134[REMOVED]| 17 | unchanged || 80 |
kernel/Manifest:capabilities| retired-keys only | — | — | no · authorable-surface/kernel.json:259[RETIRED]| 17 | unchanged || 81 |
kernel/Manifest:configuration| retired-keys only | — | — | no · authorable-surface/kernel.json:260[RETIRED]| 17 | unchanged || 82 |
kernel/Manifest:contributes.actions| retired-keys only | — | — | no · tarball json-schema/kernel/Manifest.json:180[REMOVED]| 17 | unchanged || 83 |
kernel/Manifest:contributes.commands| retired-keys only | — | — | no · tarball json-schema/kernel/Manifest.json:200[REMOVED]| 17 | unchanged || 84 |
kernel/Manifest:contributes.drivers| retired-keys only | — | — | no · tarball json-schema/kernel/Manifest.json:184[REMOVED]| 17 | unchanged || 85 |
kernel/Manifest:contributes.events| retired-keys only | — | — | no · tarball json-schema/kernel/Manifest.json:164[REMOVED]| 17 | unchanged || 86 |
kernel/Manifest:contributes.fieldTypes| retired-keys only | — | — | no · tarball json-schema/kernel/Manifest.json:188[REMOVED]| 17 | unchanged || 87 |
kernel/Manifest:contributes.functions| retired-keys only | — | — | no · tarball json-schema/kernel/Manifest.json:192[REMOVED]| 17 | unchanged || 88 |
kernel/Manifest:contributes.kinds.globs| retired-keys only | — | — | no · tarball json-schema/kernel/Manifest.json:149[REMOVED]| 17 | unchanged || 89 |
kernel/Manifest:contributes.menus| retired-keys only | — | — | no · tarball json-schema/kernel/Manifest.json:168[REMOVED]| 17 | unchanged || 90 |
kernel/Manifest:contributes.routes| retired-keys only | — | — | no · tarball json-schema/kernel/Manifest.json:196[REMOVED]| 17 | unchanged || 91 |
kernel/Manifest:contributes.themes| retired-keys only | — | — | no · tarball json-schema/kernel/Manifest.json:172[REMOVED]| 17 | unchanged || 92 |
kernel/Manifest:contributes.translations| retired-keys only | — | — | no · tarball json-schema/kernel/Manifest.json:176[REMOVED]| 17 | unchanged || 93 |
kernel/Manifest:extensions| retired-keys only | — | — | no · authorable-surface/kernel.json:269[RETIRED]| 17 | unchanged || 94 |
kernel/MetadataManagerConfig:cache.enabled| retired-keys only | — | — | no · tarball json-schema/kernel/MetadataManagerConfig.json:52[REMOVED]| 17 | unchanged || 95 |
kernel/MetadataManagerConfig:cache.maxSize| retired-keys only | — | — | no · tarball json-schema/kernel/MetadataManagerConfig.json:64[REMOVED]| 17 | unchanged || 96 |
kernel/MetadataManagerConfig:cache.ttl| retired-keys only | — | — | no · tarball json-schema/kernel/MetadataManagerConfig.json:60[REMOVED]| 17 | unchanged || 97 |
kernel/MetadataManagerConfig:cache.ttlSeconds| retired-keys only | — | — | no · tarball json-schema/kernel/MetadataManagerConfig.json:56[REMOVED]| 17 | unchanged || 98 |
kernel/MetadataManagerConfig:persistence.overlayWritable| retired-keys only | — | — | no · tarball json-schema/kernel/MetadataManagerConfig.json:177[REMOVED]| 17 | unchanged || 99 |
kernel/MetadataPluginConfig:additionalTypes| retired-keys only | — | — | no · authorable-surface/kernel.json:310[RETIRED]| 17 | unchanged || 100 |
kernel/MetadataPluginConfig:customizationPolicies| retired-keys only | — | — | no · authorable-surface/kernel.json:313[RETIRED]| 17 | unchanged || 101 |
kernel/MetadataPluginConfig:mergeStrategy| retired-keys only | — | — | no · authorable-surface/kernel.json:316[RETIRED]| 17 | unchanged || 102 |
kernel/MetadataTypeRegistryEntry:allowOrgOverride| retired-keys only | — | — | yes · src/kernel/metadata-plugin.zod.ts:267 | none | 18 || 103 |
kernel/MultiVersionSupport:rollout.duration| retired-keys only | — | — | no · tarball json-schema/kernel/MultiVersionSupport.json:139[REMOVED]| 17 | unchanged || 104 |
kernel/PackageDependencyResolutionResult:resolvedIn| retired-keys only | — | — | no · authorable-surface/kernel.json:397[RETIRED]| 17 | unchanged || 105 |
kernel/PluginHealthCheck:autoRestart| retired-keys only | — | — | no · authorable-surface/kernel.json:439[RETIRED]| 17.3.0 | unchanged || 106 |
kernel/PluginHealthCheck:interval| retired-keys only | — | — | no · authorable-surface/kernel.json:442[RETIRED]| 17 | unchanged || 107 |
kernel/PluginHealthCheck:maxRestartAttempts| retired-keys only | — | — | no · authorable-surface/kernel.json:444[RETIRED]| 17.3.0 | unchanged || 108 |
kernel/PluginHealthCheck:restartBackoff| retired-keys only | — | — | no · authorable-surface/kernel.json:445[RETIRED]| 17.3.0 | unchanged || 109 |
kernel/PluginHealthCheck:timeout| retired-keys only | — | — | no · authorable-surface/kernel.json:447[RETIRED]| 17 | unchanged || 110 |
kernel/PluginHealthReport:metrics.responseTime| retired-keys only | — | — | no · tarball json-schema/kernel/PluginHealthReport.json:57[REMOVED]| 17 | unchanged || 111 |
kernel/PluginHealthReport:metrics.uptime| retired-keys only | — | — | no · tarball json-schema/kernel/PluginHealthReport.json:53[REMOVED]| 17 | unchanged || 112 |
kernel/PluginQualityMetrics:securityScan| retired-keys only | — | — | no · authorable-surface/kernel.json:511[RETIRED]| 17 | unchanged || 113 |
kernel/PluginSecurityManifest:scanResults| retired-keys only | — | — | no · authorable-surface/kernel.json:552[RETIRED]| 17 | unchanged || 114 |
kernel/PluginSecurityManifest:vulnerabilities| retired-keys only | — | — | no · authorable-surface/kernel.json:555[RETIRED]| 17 | unchanged || 115 |
kernel/PluginSecurityManifest:vulnerabilityDisclosure.responseTime| retired-keys only | — | — | no · tarball json-schema/kernel/PluginSecurityManifest.json:824[REMOVED]| 17 | unchanged || 116 |
kernel/PluginStartupResult:duration| retired-keys only | — | — | no · authorable-surface/kernel.json:557[RETIRED]| 17 | unchanged || 117 |
kernel/PluginStartupResult:health| retired-keys only | — | — | no · authorable-surface/kernel.json:560[RETIRED]| 17 | unchanged || 118 |
kernel/PluginStartupResult:plugin| retired-keys only | — | — | no · authorable-surface/kernel.json:561[RETIRED]| 17 | unchanged || 119 |
kernel/PluginStartupResult:startTime| retired-keys only | — | — | no · authorable-surface/kernel.json:563[RETIRED]| 17 | unchanged || 120 |
kernel/RuntimeConfig:resourceLimits.timeout| retired-keys only | — | — | no · tarball json-schema/kernel/RuntimeConfig.json:146[REMOVED]| 17 | unchanged || 121 |
kernel/SandboxConfig:process.timeout| retired-keys only | — | — | no · tarball json-schema/kernel/SandboxConfig.json:165[REMOVED]| 17 | unchanged || 122 |
kernel/StartupOptions:timeout| retired-keys only | — | — | no · def retired whole: src/migrations/entries/retired-defs/18.kernel__StartupOptions.ts | n/a (def retired at HEAD) | unchanged || 123 |
kernel/StartupOrchestrationResult:totalDuration| retired-keys only | — | — | no · def retired whole: src/migrations/entries/retired-defs/18.kernel__StartupOrchestrationResult.ts | n/a (def retired at HEAD) | unchanged || 124 |
kernel/TenantRuntimeContext:previewMode| retired-keys only | — | — | no · authorable-surface/kernel.json:732[RETIRED]| 17 | unchanged || 125 |
kernel/TenantRuntimeContext:startTime| retired-keys only | — | — | no · authorable-surface/kernel.json:733[RETIRED]| 17 | unchanged || 126 |
kernel/UpgradePlan:estimatedDuration| retired-keys only | — | — | no · authorable-surface/kernel.json:763[RETIRED]| 17 | unchanged || 127 |
qa/TestScenario:requires.plugins| retired-keys only | — | — | no · tarball json-schema/qa/TestScenario.json:403[REMOVED]| 17.5.0 | unchanged || 128 |
security/EffectiveObjectPermission:allowPurge|permission-allow-restore-purge-removed| 18 | 17.2.0 | no · authorable-surface/security.json:56[RETIRED]| 17 | unchanged || 129 |
security/EffectiveObjectPermission:allowRestore|permission-allow-restore-purge-removed| 18 | 17.2.0 | no · authorable-surface/security.json:58[RETIRED]| 17 | unchanged || 130 |
security/ObjectPermission:allowPurge|permission-allow-restore-purge-removed| 18 | 17.2.0 | no · authorable-surface/security.json:101[RETIRED]| 17 | unchanged || 131 |
security/ObjectPermission:allowRestore|permission-allow-restore-purge-removed| 18 | 17.2.0 | no · authorable-surface/security.json:103[RETIRED]| 17 | unchanged || 132 |
security/RowLevelSecurityPolicy:tags|permission-rls-tags-removed| 18 | 17.4.0 | no · authorable-surface/security.json:153[RETIRED]| 17.5.0 | unchanged || 133 |
system/AccessControlConfig:maxAge| retired-keys only | — | — | no · authorable-surface/system.json:13[RETIRED]| 17 | unchanged || 134 |
system/CacheAvalanchePrevention:circuitBreaker.resetTimeout| retired-keys only | — | — | no · tarball json-schema/system/CacheAvalanchePrevention.json:46[REMOVED]| 17 | unchanged || 135 |
system/CacheTier:ttl| retired-keys only | — | — | no · authorable-surface/system.json:193[RETIRED]| 17 | unchanged || 136 |
system/ChangeImpact:downtime.durationMinutes| retired-keys only | — | — | no · def retired whole: src/migrations/entries/retired-defs/18.system__ChangeImpact.ts | n/a (def retired at HEAD) | unchanged || 137 |
system/ChangeRequest:implementation.steps.estimatedMinutes| retired-keys only | — | — | no · def retired whole: src/migrations/entries/retired-defs/18.system__ChangeRequest.ts | n/a (def retired at HEAD) | unchanged || 138 |
system/CollaborationSessionConfig:idleTimeout| retired-keys only | — | — | no · authorable-surface/system.json:223[RETIRED]| 17 | unchanged || 139 |
system/CollaborationSessionConfig:snapshot.interval| retired-keys only | — | — | no · tarball json-schema/system/CollaborationSessionConfig.json:77[REMOVED]| 17 | unchanged || 140 |
system/EmailTemplateDefinition:category|email-template-category-is-system-removed| 18 | 17.7.0 | yes · src/system/email-template.zod.ts:106 | 17 | 18 || 141 |
system/EmailTemplateDefinition:isSystem|email-template-category-is-system-removed| 18 | 17.7.0 | yes · src/system/email-template.zod.ts:193 | 17 | 18 || 142 |
system/FailoverConfig:healthCheckInterval| retired-keys only | — | — | no · authorable-surface/system.json:426[RETIRED]| 17 | unchanged || 143 |
system/HttpDestinationConfig:batch.flushInterval| retired-keys only | — | — | no · tarball json-schema/system/HttpDestinationConfig.json:79[REMOVED]| 17 | unchanged || 144 |
system/HttpDestinationConfig:retry.initialDelay| retired-keys only | — | — | no · tarball json-schema/system/HttpDestinationConfig.json:106[REMOVED]| 17 | unchanged || 145 |
system/HttpDestinationConfig:timeout| retired-keys only | — | — | no · authorable-surface/system.json:466[RETIRED]| 17 | unchanged || 146 |
system/IncidentNotificationMatrix:escalationTimeoutMinutes| retired-keys only | — | — | no · def retired whole: src/migrations/entries/retired-defs/18.system__IncidentNotificationMatrix.ts | n/a (def retired at HEAD) | unchanged || 147 |
system/IncidentNotificationRule:regulatorDeadlineHours| retired-keys only | — | — | no · def retired whole: src/migrations/entries/retired-defs/18.system__IncidentNotificationRule.ts | n/a (def retired at HEAD) | unchanged || 148 |
system/IncidentNotificationRule:withinMinutes| retired-keys only | — | — | no · def retired whole: src/migrations/entries/retired-defs/18.system__IncidentNotificationRule.ts | n/a (def retired at HEAD) | unchanged || 149 |
system/IncidentResponsePhase:targetHours| retired-keys only | — | — | no · def retired whole: src/migrations/entries/retired-defs/18.system__IncidentResponsePhase.ts | n/a (def retired at HEAD) | unchanged || 150 |
system/IncidentResponsePolicy:retentionDays| retired-keys only | — | — | no · def retired whole: src/migrations/entries/retired-defs/18.system__IncidentResponsePolicy.ts | n/a (def retired at HEAD) | unchanged || 151 |
system/IncidentResponsePolicy:triageDeadlineHours| retired-keys only | — | — | no · def retired whole: src/migrations/entries/retired-defs/18.system__IncidentResponsePolicy.ts | n/a (def retired at HEAD) | unchanged || 152 |
system/Job:timeout|job-timeout-to-timeout-ms| 18 | 17.3.0 | no · authorable-surface/system.json:488[RETIRED]| 17 | unchanged || 153 |
system/LoggingConfig:buffer.flushInterval| retired-keys only | — | — | no · tarball json-schema/system/LoggingConfig.json:408[REMOVED]| 17 | unchanged || 154 |
system/MetricAggregationConfig:window.size| retired-keys only | — | — | no · tarball json-schema/system/MetricAggregationConfig.json:34[REMOVED]| 17 | unchanged || 155 |
system/MetricDefinition:summary.maxAge| retired-keys only | — | — | no · tarball json-schema/system/MetricDefinition.json:174[REMOVED]| 17 | unchanged || 156 |
system/MetricExportConfig:interval| retired-keys only | — | — | no · authorable-surface/system.json:739[RETIRED]| 17 | unchanged || 157 |
system/MetricsConfig:collectionInterval| retired-keys only | — | — | no · authorable-surface/system.json:744[RETIRED]| 17 | unchanged || 158 |
system/MetricsConfig:retention.period| retired-keys only | — | — | no · tarball json-schema/system/MetricsConfig.json:737[REMOVED]| 17 | unchanged || 159 |
system/OpenTelemetryCompatibility:exporter.batch.exportTimeout| retired-keys only | — | — | no · tarball json-schema/system/OpenTelemetryCompatibility.json:96[REMOVED]| 17 | unchanged || 160 |
system/OpenTelemetryCompatibility:exporter.batch.scheduledDelay| retired-keys only | — | — | no · tarball json-schema/system/OpenTelemetryCompatibility.json:100[REMOVED]| 17 | unchanged || 161 |
system/OpenTelemetryCompatibility:exporter.timeout| retired-keys only | — | — | no · tarball json-schema/system/OpenTelemetryCompatibility.json:55[REMOVED]| 17 | unchanged || 162 |
system/QueueConfig:rateLimit.duration| retired-keys only | — | — | no · tarball json-schema/system/QueueConfig.json:33[REMOVED]| 17 | unchanged || 163 |
system/RegistryConfig:cache.ttl| retired-keys only | — | — | no · tarball json-schema/system/RegistryConfig.json:236[REMOVED]| 17 | unchanged || 164 |
system/RegistryUpstream:syncInterval| retired-keys only | — | — | no · authorable-surface/system.json:930[RETIRED]| 17 | unchanged || 165 |
system/RegistryUpstream:timeout| retired-keys only | — | — | no · authorable-surface/system.json:933[RETIRED]| 17 | unchanged || 166 |
system/RollbackPlan:steps.estimatedMinutes| retired-keys only | — | — | no · def retired whole: src/migrations/entries/retired-defs/18.system__RollbackPlan.ts | n/a (def retired at HEAD) | unchanged || 167 |
system/SchemaLevelIsolationStrategy:performance.schemaCacheTTL| retired-keys only | — | — | no · tarball json-schema/system/SchemaLevelIsolationStrategy.json:94[REMOVED]| 17 | unchanged || 168 |
system/ServiceLevelIndicator:window.size| retired-keys only | — | — | no · tarball json-schema/system/ServiceLevelIndicator.json:76[REMOVED]| 17 | unchanged || 169 |
system/ServiceLevelObjective:errorBudget.burnRateWindows.window| retired-keys only | — | — | no · tarball json-schema/system/ServiceLevelObjective.json:91[REMOVED]| 17 | unchanged || 170 |
system/ServiceLevelObjective:period.duration| retired-keys only | — | — | no · tarball json-schema/system/ServiceLevelObjective.json:46[REMOVED]| 17 | unchanged || 171 |
system/Span:duration| retired-keys only | — | — | no · authorable-surface/system.json:1062[RETIRED]| 17 | unchanged || 172 |
system/StorageConnection:timeout| retired-keys only | — | — | no · authorable-surface/system.json:1125[RETIRED]| 17 | unchanged || 173 |
system/TracingConfig:performance.exportInterval| retired-keys only | — | — | no · tarball json-schema/system/TracingConfig.json:608[REMOVED]| 17 | unchanged || 174 |
system/TrainingCourse:durationMinutes| retired-keys only | — | — | no · def retired whole: src/migrations/entries/retired-defs/18.system__TrainingCourse.ts | n/a (def retired at HEAD) | unchanged || 175 |
system/TrainingCourse:validityDays| retired-keys only | — | — | no · def retired whole: src/migrations/entries/retired-defs/18.system__TrainingCourse.ts | n/a (def retired at HEAD) | unchanged || 176 |
system/TrainingPlan:gracePeriodDays| retired-keys only | — | — | no · def retired whole: src/migrations/entries/retired-defs/18.system__TrainingPlan.ts | n/a (def retired at HEAD) | unchanged || 177 |
system/TrainingPlan:recertificationIntervalDays| retired-keys only | — | — | no · def retired whole: src/migrations/entries/retired-defs/18.system__TrainingPlan.ts | n/a (def retired at HEAD) | unchanged || 178 |
system/TrainingPlan:reminderDaysBefore| retired-keys only | — | — | no · def retired whole: src/migrations/entries/retired-defs/18.system__TrainingPlan.ts | n/a (def retired at HEAD) | unchanged || 179 |
ui/Action:aria|action-aria-removed| 18 | 17.4.0 | no · authorable-surface/ui.json:13[RETIRED]| 17.5.0 | unchanged || 180 |
ui/ChartConfig:aria|chart-config-aria-removed| 18 | 17.4.0 | no · authorable-surface/ui.json:262[RETIRED]| 17 | unchanged || 181 |
ui/Dashboard:refreshInterval|dashboard-refresh-interval-to-refresh-interval-seconds| 18 | 17.3.0 | no · authorable-surface/ui.json:327[RETIRED]| 17 | unchanged || 182 |
ui/DashboardWidgetChartConfig:series|dashboard-widget-chart-config-structure-removed| 18 | 17.4.0 | no · authorable-surface/ui.json:377[RETIRED]| 17.5.0 | unchanged || 183 |
ui/DashboardWidgetChartConfig:type|dashboard-widget-chart-config-structure-removed| 18 | 17.4.0 | no · authorable-surface/ui.json:382[RETIRED]| 17.5.0 | unchanged || 184 |
ui/DashboardWidgetChartConfig:xAxis|dashboard-widget-chart-config-structure-removed| 18 | 17.4.0 | no · authorable-surface/ui.json:383[RETIRED]| 17.5.0 | unchanged || 185 |
ui/DashboardWidgetChartConfig:yAxis|dashboard-widget-chart-config-structure-removed| 18 | 17.4.0 | no · authorable-surface/ui.json:384[RETIRED]| 17.5.0 | unchanged || 186 |
ui/ElementFilterProps:aria|element-filter-removed| 18 | 17.0.0 | no · authorable-surface/ui.json:448[RETIRED]| 17 | unchanged || 187 |
ui/ElementFilterProps:fields|element-filter-removed| 18 | 17.0.0 | no · authorable-surface/ui.json:449[RETIRED]| 17 | unchanged || 188 |
ui/ElementFilterProps:layout|element-filter-removed| 18 | 17.0.0 | no · authorable-surface/ui.json:450[RETIRED]| 17 | unchanged || 189 |
ui/ElementFilterProps:object|element-filter-removed| 18 | 17.0.0 | no · authorable-surface/ui.json:451[RETIRED]| 17 | unchanged || 190 |
ui/ElementFilterProps:showSearch|element-filter-removed| 18 | 17.0.0 | no · authorable-surface/ui.json:452[RETIRED]| 17 | unchanged || 191 |
ui/ElementFilterProps:targetVariable|element-filter-removed| 18 | 17.0.0 | no · authorable-surface/ui.json:453[RETIRED]| 17 | unchanged || 192 |
ui/ElementFormProps:aria|element-form-removed| 18 | 17.2.0 | no · authorable-surface/ui.json:454[RETIRED]| 17 | unchanged || 193 |
ui/ElementFormProps:fields|element-form-removed| 18 | 17.2.0 | no · authorable-surface/ui.json:455[RETIRED]| 17 | unchanged || 194 |
ui/ElementFormProps:mode|element-form-removed| 18 | 17.2.0 | no · authorable-surface/ui.json:456[RETIRED]| 17 | unchanged || 195 |
ui/ElementFormProps:object|element-form-removed| 18 | 17.2.0 | no · authorable-surface/ui.json:457[RETIRED]| 17 | unchanged || 196 |
ui/ElementFormProps:onSubmit|element-form-removed| 18 | 17.2.0 | no · authorable-surface/ui.json:458[RETIRED]| 17 | unchanged || 197 |
ui/ElementFormProps:submitLabel|element-form-removed| 18 | 17.2.0 | no · authorable-surface/ui.json:459[RETIRED]| 17 | unchanged || 198 |
ui/ElementNumberProps:filter|element-flat-data-binding-to-data-source| 18 | 17.7.0 | yes · src/ui/component.zod.ts:2606 | 17 | 18 || 199 |
ui/ElementNumberProps:object|element-flat-data-binding-to-data-source| 18 | 17.7.0 | yes · src/ui/component.zod.ts:2585 | 17 | 18 || 200 |
ui/ElementRecordPickerProps:filter|element-flat-data-binding-to-data-source| 18 | 17.7.0 | yes · src/ui/component.zod.ts:3041 | 17 | 18 || 201 |
ui/ElementRecordPickerProps:limit|element-flat-data-binding-to-data-source| 18 | 17.7.0 | yes · src/ui/component.zod.ts:3064 | 17 | 18 || 202 |
ui/ElementRecordPickerProps:object|element-flat-data-binding-to-data-source| 18 | 17.7.0 | yes · src/ui/component.zod.ts:2995 | 17 | 18 || 203 |
ui/ElementRecordPickerProps:sort|element-flat-data-binding-to-data-source| 18 | 17.7.0 | yes · src/ui/component.zod.ts:3054 | 17 | 18 || 204 |
ui/ElementRecordPickerProps:targetVariable|element-input-target-variable-removed| 18 | 17.0.0 | no · authorable-surface/ui.json:491[RETIRED]| 17 | unchanged || 205 |
ui/ElementRepeaterProps:filter|element-flat-data-binding-to-data-source| 18 | 17.7.0 | yes · src/ui/component.zod.ts:4093 | 17 | 18 || 206 |
ui/ElementRepeaterProps:limit|element-flat-data-binding-to-data-source| 18 | 17.7.0 | yes · src/ui/component.zod.ts:4097 | 17 | 18 || 207 |
ui/ElementRepeaterProps:object|element-flat-data-binding-to-data-source| 18 | 17.7.0 | yes · src/ui/component.zod.ts:4075 | 17 | 18 || 208 |
ui/ElementRepeaterProps:sort|element-flat-data-binding-to-data-source| 18 | 17.7.0 | yes · src/ui/component.zod.ts:4095 | 17 | 18 || 209 |
ui/ElementTextInputProps:targetVariable|element-input-target-variable-removed| 18 | 17.0.0 | no · authorable-surface/ui.json:509[RETIRED]| 17 | unchanged || 210 |
ui/FormField:publicPicker|form-field-public-picker-removed| 18 | 17.5.0 | no · authorable-surface/ui.json:538[RETIRED]| 17.6.0 | unchanged || 211 |
ui/JoinedReportBlock:chart|report-joined-chart-removed| 18 | 17.4.0 | no · src/ui/report.zod.ts:289 | 17.5.0 | unchanged || 212 |
ui/ListView:pageName|view-page-mount-removed| 18 | 17.4.0 | no · authorable-surface/ui.json:757[RETIRED]| 17.5.0 | unchanged || 213 |
ui/ListView:tabs|view-list-tabs-removed| 18 | 17.4.0 | no · authorable-surface/ui.json:771[RETIRED]| 17.5.0 | unchanged || 214 |
ui/NavigationConfig:view| retired-keys only | — | — | no · authorable-surface/ui.json:787[RETIRED]| 17.5.0 | unchanged || 215 |
ui/ObjectGridProps:defaultFilters|object-grid-default-filters-removed| 18 | 17.7.0 | yes · src/ui/component.zod.ts:4498 | 17 | 18 || 216 |
ui/ObjectGridProps:defaultSort|object-grid-default-sort-removed| 18 | 17.2.0 | no · authorable-surface/ui.json:867[RETIRED]| 17 | unchanged || 217 |
ui/ObjectGridProps:resizableColumns|object-grid-resizable-columns-removed| 18 | 17.6.0 | no · authorable-surface/ui.json:885[RETIRED]| 17.7.0 | unchanged || 218 |
ui/ObjectKanbanProps:quickAdd|object-kanban-quick-add-removed| 18 | 17.4.0 | no · authorable-surface/ui.json:911[RETIRED]| 17 | unchanged || 219 |
ui/ObjectListView:pageName|view-page-mount-removed| 18 | 17.4.0 | no · authorable-surface/ui.json:943[RETIRED]| 17.5.0 | unchanged || 220 |
ui/ObjectListView:tabs|view-list-tabs-removed| 18 | 17.4.0 | no · authorable-surface/ui.json:957[RETIRED]| 17.5.0 | unchanged || 221 |
ui/ObjectMasterDetailFormProps:details.sortField|object-master-detail-form-detail-sort-field-removed| 18 | 17.6.0 | no · tarball json-schema/ui/ObjectMasterDetailFormProps.json:1321[REMOVED]| 17 | unchanged || 222 |
ui/Page:assignedProfiles|page-assigned-profiles-removed| 18 | 17.4.0 | no · authorable-surface/ui.json:1053[RETIRED]| 17.5.0 | unchanged || 223 |
ui/PageComponent:responsive|page-component-responsive-removed| 18 | 17.2.0 | no · authorable-surface/ui.json:1087[RETIRED]| 17 | unchanged || 224 |
ui/PageHeaderProps:breadcrumb|page-header-breadcrumb-removed| 18 | 17.5.0 | no · authorable-surface/ui.json:1096[RETIRED]| 17 | unchanged || 225 |
ui/RecordHighlightsField:icon|record-highlights-field-icon-removed| 18 | 17.1.0 | no · src/ui/component.zod.ts:1626 | 17 | unchanged || 226 |
ui/ReportChart:aria|chart-config-aria-removed| 18 | 17.4.0 | no · authorable-surface/ui.json:1251[RETIRED]| 17 | unchanged || 227 |
ui/ViewItem:hidden|view-item-owner-hidden-removed| 18 | 17.4.0 | no · tarball json-schema/ui/ViewItem.json:2355[REMOVED]| 17.5.0 | unchanged || 228 |
ui/ViewItem:owner|view-item-owner-hidden-removed| 18 | 17.4.0 | no · tarball json-schema/ui/ViewItem.json:2351[REMOVED]| 17.5.0 | unchanged || 229 |
ui/ViewItemWire:hidden|view-item-owner-hidden-removed| 18 | 17.4.0 | no · tarball json-schema/ui/ViewItemWire.json:2355[REMOVED]| 17.5.0 | unchanged || 230 |
ui/ViewItemWire:owner|view-item-owner-hidden-removed| 18 | 17.4.0 | no · tarball json-schema/ui/ViewItemWire.json:2351[REMOVED]| 17.5.0 | unchanged || 231 |
ui/ViewMetadata:hidden|view-overlay-owner-hidden-removed| 18 | 17.4.0 | no · src/ui/view.zod.ts:5025 | 17.5.0 | unchanged || 232 |
ui/ViewMetadata:owner|view-overlay-owner-hidden-removed| 18 | 17.4.0 | no · src/ui/view.zod.ts:5024 | 17.5.0 | unchanged || 233 | manifest
permissionsas a string list (union arm;ManifestPermissionsSchema) |manifest-permissions-string-list-removed| 18 | 17.7.0 | yes · src/kernel/manifest.zod.ts:94-95 | 17 | 18 || 234 |
StorageScopevaluepublic(enumWithRetiredValues) | D3storage-scope-public-retired| — | — | yes · src/system/object-storage.zod.ts:40 | 17.8.0 | 18 || 235 |
indexes[].unique: true(value;IndexSchema.unique) |declared-index-unique-scope| 18 | 17.7.0 | yes · src/data/object.zod.ts:490 | protocol 18 | unchanged || 236 |
TimeUpdateIntervalmemberssecond/minute/hour(value; its error map) — patch round |cube-sub-day-granularities-removed| 18 | 17.4.0 | no · src/data/analytics.zod.ts:169 already refuses; 17.4.0 tarball src/data/analytics.zod.ts:53-55 accepts them, 17.5.0 tarball :145-148 refuses | protocol 18 | 17.5.0 || 237 |
'navigation'as a page action row's executor (action:button/action:iconactionType,action:group/action:menumembertype) — fix round |page-action-row-navigation-executor-to-url| 18 | 17.7.0 | yes · accepted by the 17.7.0 tarball (measured) and by 18.0.0-next.0 | none | 18 || 238 |
controlled_by_parentobject with nomaster_detaildeclaredrequired: true— fix round |cbp-master-detail-required-defaulted| 18 | 17.7.0 | yes · accepted by the 17.7.0 tarball (measured; the tag has no one-master refusal) and by 18.0.0-next.0 | none | 18 || 239 |
view.data.provider: 'api'(union arm; D3 only, out of the pin's reach) — fix round | D3view-data-api-provider-retired| — | — | yes · src/ui/view.zod.ts:190 (provider: z.literal('api')); accepted by the 17.7.0 tarball and by 18.0.0-next.0 | 17 | 18 |Zero-hit controls on the join:
retiredAfterstamps disagreeing with the tarballs: 0 of 117.git diff 4e4e88142 936750950: added non-commentretiredKey(lines are exactly the 14 LIVE rows, and the one addedenumWithRetiredValues(isStorageScope.Controls kept at 17, all
toMajor: 18:page-header-breadcrumb-removed(17.5.0),object-grid-default-sort-removed(17.2.0) andobject-kanban-quick-add-removed(17.4.0).Zone 2, measured
conversions/registry.tsholds 5 entries withretiredAfter: '17.7.0', not 4; the fifth isdeclared-index-unique-scope, whose prescription already says "protocol 18" and is unchanged. (At the fix-round head: 7, aftermainadded the two entries the fix round joins.) The tag@objectstack/spec@17.7.0peels to4e4e88142, anddefaultFiltersis live there atsrc/ui/component.zod.ts:4498.retiredAfter. The retired-keys registry holds ids only, under one major 18 for both shipped and unshipped keys.17.7.0set and are all live at the tag.17.7.0. The census trails at17.4.0, and the census test's helpers are test-local. The pin reads the highest stable version the tree records: census, stamps, and the label when it is stable. It takes the next major fromPROTOCOL_MAJOR. Simulated facts pin four windows: a stable 17.x label on the v18 train, a prerelease label, label18.0.0, and the 17.x minor line.composeMigrationChainkeeps majors above N, so--from 17replays step 18. The pin asserts--fromequalstoMajor - 1.The pin
For each joined retired conversion, the pin derives the removal major from
retiredAfter. It then reads every tombstone parse refusal and[REMOVED]describe (or the refusal, for a value or arm) and asserts they name that major and nothing else. Two guards:PROTOCOL_MAJORand an older major.Joined: the seven unpublished entries, three 17.x controls, and
cube-sub-day-granularities-removed: 19 cases. Out of reach by construction: a retirement with no D2 entry (allowOrgOverride,StorageScope.public,view.data.provider: 'api'); the last two carry a one-line literal release pin instead.Ablation via
node scripts/ablation-replace.mjs … -- vitest runon the pin, each leg from committed state and restored to blob == HEAD withgit diff HEADempty:defaultFilters18→17: red, 1 failed / 15 passed. Head8d3a9c21b.8d3a9c21b.breadcrumb17→18: red, 1/15. Head8d3a9c21b. The first try was an anchor miss the tool refused (exit 3, nothing written).8d3a9c21b.1ee37155d) the interval string back to "was retired in protocol 18": red, 1 failed / 16 passed, oncube-sub-day-granularities-removed: "retiredAfter 17.4.0 (newest published stable 17.7.0) derives @objectstack/spec 17, but the prescription names 18". Restored to blobb7e1a037def1== HEAD.38728b3e1): the'navigation'and controlled-by-parent refusals without their release: red, 1 failed / 18 passed each. Restored to blobsfb3ad73747acand6347359316f2== HEAD.Verification (head
38728b3e1, fix round)b24018c07(parents56d63b4e7and197fbe2c0) viaos-regen-merge.sh.content/docs/references/ui/component.mdxmerged without a text merge; it was regenerated (gen:schema+gen:docs,d0b4cfd1a) and differs fromorigin/mainby exactly this branch's 11 rows.check:generated: "All 14 generated artifacts are up to date". Theprovider: 'api'text lives in an error map, so there is no references row to regenerate.--project local: 668 files, 20229 passed, 1 todo (the pin's 19 cases included);--project repo, allsrc/**members plusreferences-banner: 35 files, 473 passed;parent-write-reach.test.ts: 10 passed.typecheck: spec and lint exit 0.dispatch-gates --commands: 113, all run.check-empty-changeset, by design (see the fix-round section).--ran: "113 derived, 113 run, 0 NOT-MEASURED, 0 UNRUN".check:future-spec-major: "✓ … no@objectstack/speccitation names a major above 18".38728b3e1: TypeScript Type Check (4/4 lanes), Test Core, Build Core and Lint & Repo Gates are green;Check Changesetis red by design.Acceptance notes
scripts/**members of spec'srepoproject (none reads an edited file);retired-after.census.jsontrails the published line (17.5.0–17.7.0, and now18.0.0-next.0, which the census never records as a prerelease). No live defect: every stamp agrees with the tarballs.Generated by Claude Code