diff --git a/.changeset/6296-conditionbuilder-subject-vocabulary.md b/.changeset/6296-conditionbuilder-subject-vocabulary.md index 267e341d6f..1b2f31b038 100644 --- a/.changeset/6296-conditionbuilder-subject-vocabulary.md +++ b/.changeset/6296-conditionbuilder-subject-vocabulary.md @@ -15,6 +15,16 @@ entry condition, where the trigger record's fields *are* the top-level evaluatio `includePrevious`), and objectstack's `packages/formula/src/validate.ts` defines the two scopes. +⚠️ **Dated note, 2026-09-29 — the mount count above has since moved — objectui#6226.** +"all five files that mount it today — six mount sites" above held when this change landed +(`88b15fddc`). Later in this same release objectui#6226 (PR objectui#6668) mounted it in +`FlowNodeConfigField` for the flow Start node's entry condition, a flattened-scope site +that passes its own `subjects`. Re-measured for objectui#10979 on `main` at `2eaf5be27`, +six non-test files mounted `ConditionBuilder`, at seven sites, so "every one of them is a +record-scoped site" no longer held either. `.changeset/flow-entry-condition-builder.md` +(PR objectui#6668) states what ships; the text above is kept as the reading of this +change. + A new optional `subjects` prop declares what a site actually binds: - `fieldPrefix` — defaults to `'record.'`; `''` declares a flattened scope. diff --git a/.changeset/6487-visibility-advice-per-tier.md b/.changeset/6487-visibility-advice-per-tier.md index 3c10f6d887..04b970ce06 100644 --- a/.changeset/6487-visibility-advice-per-tier.md +++ b/.changeset/6487-visibility-advice-per-tier.md @@ -20,6 +20,18 @@ to `'page-component'`, so a five-argument call keeps printing the bytes it printed before. All three in-repo call sites pass their tier explicitly rather than lean on that default. +⚠️ **Dated note, 2026-09-29 — the call-site count above has since moved — +objectui#6445.** "All three in-repo call sites" above held when this change landed +(`c71e14d1c`), counting gates: `reportUnresolvableVisibilityPredicate` was called from +`SchemaRenderer`'s node visibility gate (twice), the `page:tabs` item gate and +`ExpressionProvider`'s chrome gate, four calls in three files. Later in this same release +objectui#6445 (PR objectui#6510) added a fourth gate, `SchemaRenderer`'s `disabled` / +`disabledOn` enablement gate. Re-measured for objectui#10979 on `main` at `2eaf5be27`, +the reporter was called five times outside its own module, from four gates in the same +three files, and all five calls passed their tier explicitly, so none leaned on the +default. `.changeset/6445-disabled-gate-fault-diagnostic.md` (PR objectui#6510) states +what ships; the text above is kept as the reading of this change. + Each tier's root set was derived from the code that builds the bag, not from the prose that described it: diff --git a/.changeset/6837-reference-to-arm-deletion.md b/.changeset/6837-reference-to-arm-deletion.md index 46a3c7b3b0..1037200bab 100644 --- a/.changeset/6837-reference-to-arm-deletion.md +++ b/.changeset/6837-reference-to-arm-deletion.md @@ -86,6 +86,16 @@ warning at all**. On that path the failure is exactly as silent as before. A reader-side or shared-resolver diagnostic, which would cover it, remains open on objectui#6837. +⚠️ **Dated note, 2026-09-29 — the call-site count above has since moved — +objectui#7650.** "exactly two production call sites" above held when this change landed +(`045d20ba8`). Later in this same release objectui#7650 (PR objectui#8868) added a call +on `MetadataProvider`'s by-name object-schema serve path. Re-measured for objectui#10979 +on `main` at `2eaf5be27`, `normalizeSchemaReferenceKeys` had three production call sites: +two in `MetadataProvider`, on its list path and on its by-name path, and one in +`ObjectStackAdapter.getObjectSchema`. +`.changeset/7650-metadata-item-reference-canonicalisation.md` (PR objectui#8868) states +what ships; the text above is kept as the reading of this change. + ## What did NOT change **Every key these readers EMIT is byte-identical**, and that was verified diff --git a/.changeset/7415-action-type-input-rename.md b/.changeset/7415-action-type-input-rename.md index 085c2a2d95..84f1290dff 100644 --- a/.changeset/7415-action-type-input-rename.md +++ b/.changeset/7415-action-type-input-rename.md @@ -46,6 +46,16 @@ the count independently matches the corpus census already recorded in `SchemaRen ("`action:button` (5 nodes)"). No docs page documents the input; no catalog entry uses the components. So the rename breaks no authored document in this repo. +⚠️ **Dated note, 2026-09-29 — the census above is a reading of one commit — +objectui#10979.** The census above was taken before the rename. On the commit this change +landed on (`6411def250`) two of its figures re-derive: 433 JSON files under +`examples/schema-catalog/src/schemas`, and the control, 127 plain `button` nodes in the +JSON of the four trees. Re-measured on `main` at `2eaf5be27`, the catalog held 432 such +files and the control read 119 nodes, while the zero still held: no JSON file in the four +trees carried an `action:button` or `action:icon` node. The 4,797-file, 517-file and +2,410-node figures are not re-derived here, and the fenced blocks in md and mdx were not +re-walked. The text above is kept as the reading of this change. + **What changes for a consumer.** The renderers no longer fall back to `schema.type` when `actionType` is absent — that fallback is the old spelling, and the ruling forbids an alias. A node that declares neither now forwards `type: undefined`, and `ActionRunner` falls diff --git a/.changeset/7561-filter-builder-operator-trigger-label.md b/.changeset/7561-filter-builder-operator-trigger-label.md index acd89a76f6..f1ff083d0c 100644 --- a/.changeset/7561-filter-builder-operator-trigger-label.md +++ b/.changeset/7561-filter-builder-operator-trigger-label.md @@ -14,6 +14,16 @@ operator under another spelling — `@objectstack/spec`'s canonical Radix drew a **blank** operator cell over a row that went on filtering correctly: the user's own operator, invisible and unreachable. +⚠️ **Dated note, 2026-09-29 — the three catalog entries no longer author the alias +spellings — objectui#6939.** "which three schema-catalog entries author today" above held +when this change landed (`9ae871d00`): three `components-complex-filter-builder` fixtures +spelled seven operators `eq`, `lt` or `gt`. Later in this same release objectui#6939 (PR +objectui#9558) respelled all seven to `equals` / `less_than` / `greater_than`, the +members the mirror declares. Re-measured for objectui#10979 on `main` at `2eaf5be27`, no +file under `examples/schema-catalog` spelled an operator `eq`, `lt` or `gt`, and the same +three fixtures carried the canonical spellings. The text above is kept as the reading of +this change. + Everywhere the operator's *meaning* matters this component already folded through the spec's `normalizeFilterOperator` (`filterValueArity`, `reconcileOperatorForField`). The one site that did not was this identity diff --git a/.changeset/8450-inspector-select-placeholder.md b/.changeset/8450-inspector-select-placeholder.md index 415678f5e3..1bb176db8b 100644 --- a/.changeset/8450-inspector-select-placeholder.md +++ b/.changeset/8450-inspector-select-placeholder.md @@ -25,3 +25,20 @@ offering a "none" row, and those now show `'—'` where they showed nothing — flow-node config selects, the app-nav item type, the curated page-block props, the report dataset/chart-axis pickers and the action target/variant/mode/component pickers. The other 32 render exactly as before. + +⚠️ **Dated note, 2026-09-29 — the call-site figures above have since moved — +objectui#6830, objectui#7551 and objectui#7597.** "all 45 call sites, none of which passes +a placeholder of its own" above held when this change landed (`0c4694437`): 45 +`InspectorSelectField` mounts in 13 files, none passing a `placeholder`. Later in this +same release objectui#6830 (PR objectui#9110) made the flow-node config select pass its +declared default as its `placeholder`, so a flow-node select whose descriptor declares a +default shows that default rather than `'—'`; and objectui#7551 (PR objectui#9972) and +objectui#7597 (PR objectui#10527) each added a mount, the action inspector's operation +select and the field inspector's `valueDomain` select, both of which offer a `''` row. +Re-measured for objectui#10979 on `main` at `2eaf5be27`, there were 47 mounts in 13 +files, one of them passing a `placeholder`. This note does not re-classify the 45, so "13 +of the 45" and "The other 32" above stay the reading of this change. +`.changeset/6830-flownode-select-declared-default.md` (PR objectui#9110), +`.changeset/7551-action-operation-update-executor.md` (PR objectui#9972) and +`.changeset/7597-field-inspector-value-domain.md` (PR objectui#10527) state what ships; +the text above is kept as the reading of this change. diff --git a/.changeset/component-meta-converge-and-deprecate-alias-5893.md b/.changeset/component-meta-converge-and-deprecate-alias-5893.md index 657412bdca..648fdaa260 100644 --- a/.changeset/component-meta-converge-and-deprecate-alias-5893.md +++ b/.changeset/component-meta-converge-and-deprecate-alias-5893.md @@ -58,6 +58,19 @@ converts a silent break into a warned one before stage 2 lands. Stage 2 removes and the now-dead re-export in `plugin-scope.ts` that exists only to feed it, and ships as a `minor` under this repo's policy that its own breaking changes never declare `major`. +⚠️ **Dated note, 2026-09-29 — the one-occurrence reading above has since moved — +objectui#10979.** "In-repo, `PluginComponentMeta` has exactly one occurrence — its own +export line" above is the reading of the commit this change landed on (`575b71c850`), +where a whole-tree search for the name returned that one line, in +`packages/types/src/index.ts`. This change then added its own pins and this entry, and +later in this same release objectui#5674's retirement of the sibling alias +`PluginComponentInput` (PR objectui#10826) added mentions in its test and its entry. +Re-measured on `main` at `2eaf5be27`, the name occurred on 19 lines in 7 files. In +non-test source it appeared only on the export line and on one doc-comment line in +`plugin-scope.ts`, and the one file that imported it was this change's own +`component-meta-single-declaration.test.ts`. The text above is kept as the reading of +this change. + ## Pinned by identity, not by member set A new test asserts that `plugin-scope.ts` re-exports the declaration and declares no diff --git a/.changeset/list-view-nested-aria-label-i18n-5134.md b/.changeset/list-view-nested-aria-label-i18n-5134.md index f330b77a6a..fef6f7521d 100644 --- a/.changeset/list-view-nested-aria-label-i18n-5134.md +++ b/.changeset/list-view-nested-aria-label-i18n-5134.md @@ -14,6 +14,14 @@ a screen reader announces as the list view's accessible name — in every locale read now goes through the spec's own `resolveI18nLabel` (the resolver four other in-repo read sites already use) against `useDisplayLocale()`. +⚠️ **Dated note, 2026-09-29 — the read-site count above does not re-derive — +objectui#10979.** "the resolver four other in-repo read sites already use" above does not +hold even at this change's own base. On the commit this change landed on (`e40b8579bd`), +ten non-test source files already imported `@objectstack/spec`'s `resolveI18nLabel` (each +as `resolveInlineI18nLabel`) and called it on 17 lines. Re-measured on `main` at +`2eaf5be27`, fourteen non-test files besides `ListView` imported it, calling it on 27 +lines. The text above is kept as the reading of this change. + Reachability, stated plainly: the path is **live but unexercised**. `I18nLabel` was a plain `string` through `@objectstack/spec` 17.0.0-rc.5, so no stored map-valued label predates rc.6, and no measured author writes one today — but map values are legitimate diff --git a/.changeset/queryparams-closed-keys-7497.md b/.changeset/queryparams-closed-keys-7497.md index 0e341c38ba..884fff44e2 100644 --- a/.changeset/queryparams-closed-keys-7497.md +++ b/.changeset/queryparams-closed-keys-7497.md @@ -39,6 +39,14 @@ is reserved for following `@objectstack` across a major (see AGENTS.md, version alignment). A `patch` would be wrong: this is a deliberate narrowing, not a fix inside the accepted set. +⚠️ **Dated note, 2026-09-29 — the file count above is a reading of one commit — +objectui#10979.** "(4,362 files)" above is the census this change's commit message dates +to its base, `7dcda9cd4`. A tracked-file count does not re-derive it there: the five +trees held 5,203 tracked files at that commit, 4,344 of them TypeScript or JavaScript +sources. Re-measured on `main` at `2eaf5be27`, the same five trees held 6,700 tracked +files, 5,819 of them sources. The census itself was not re-run for this note. The text +above is kept as the reading of this change. + Migration for a downstream caller that did pass an extra key: if an adapter of yours reads it, declare it on your own params type and widen at your adapter's boundary; if nothing reads it, it was already being dropped — delete it.