From 4f412d5a8580f1e2847c400db0e425e47e78ce56 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 29 Sep 2026 04:09:44 +0000 Subject: [PATCH] docs(changeset): date-note three pending entries on the pivot node's drillDown that PR #10972 made false (objectui#10974) PR objectui#10972 (objectui#10932) retired `drillDown` on the bare `pivot` node on both faces in this same release: `PivotTableSchema.drillDown` is a `?: never` tombstone and the zod `pivot` arm declares it as a `retirementTombstone()`. Three pending entries still read it as the shared `DrillDownConfigSchema`, so each gets a dated 2026-09-29 supersession note, appended at the end of the file: - 10859-pivot-object-block-zod-arms.md - 7352-drill-down-config-mirror.md (its 2026-09-28 note) - 10685-drilldown-per-block.md (its 2026-09-28 note) Append only: frontmatter byte-identical, no existing line edited or deleted, per the maintainer's 2026-09-29 ruling recorded on the card. Claude-Session: https://claude.ai/code/session_012UwY3ahMixEFkfTUxMVkYm Co-authored-by: Claude --- .changeset/10685-drilldown-per-block.md | 13 +++++++++++++ .changeset/10859-pivot-object-block-zod-arms.md | 2 ++ .changeset/7352-drill-down-config-mirror.md | 16 ++++++++++++++++ 3 files changed, 31 insertions(+) diff --git a/.changeset/10685-drilldown-per-block.md b/.changeset/10685-drilldown-per-block.md index b0fb24de6a..9dae1a1700 100644 --- a/.changeset/10685-drilldown-per-block.md +++ b/.changeset/10685-drilldown-per-block.md @@ -53,3 +53,16 @@ zod mirror whose `drillDown` is the shared `DrillDownConfigSchema`, so a validat the members of a `pivot` node's `drillDown`, and accepts `mode` there, as `DrillDownConfig` declares it. `object-pivot` still has no mirror, so what the paragraph above says of a stored `object-pivot` config stands. The rest of this entry is kept as the reading of this change. + +⚠️ **Dated note, 2026-09-29 — the `pivot` node refuses `drillDown` whole now — objectui#10932.** +Later in this same release `drillDown` was retired on the `pivot` node on both faces: +`PivotTableSchema.drillDown` is a `?: never` tombstone, and the `pivot` arm of the zod mirror +declares it as a `retirementTombstone()`, which refuses the key by name whatever it holds +(`invalid_type` at `drillDown`). So "a validator does read the members of a `pivot` node's +`drillDown`, and accepts `mode` there" in the 2026-09-28 note above no longer holds: the +validator refuses the whole key before reading any member, so it accepts no `mode` on a `pivot` +node. Nothing ever drilled a `pivot` node; a pivot drill is authored on `object-pivot`, whose +`drillDown` type, `ObjectPivotDrillDownConfig`, refuses `mode` at the TypeScript door, as this +entry says. `object-pivot` still has no zod mirror, so what this entry says of a stored +`object-pivot` config stands. `.changeset/10932-pivot-drilldown-retired.md` (PR objectui#10972) +states what ships; the text above is kept as the reading of this change. diff --git a/.changeset/10859-pivot-object-block-zod-arms.md b/.changeset/10859-pivot-object-block-zod-arms.md index 0d3adc3015..1e3c33d119 100644 --- a/.changeset/10859-pivot-object-block-zod-arms.md +++ b/.changeset/10859-pivot-object-block-zod-arms.md @@ -13,3 +13,5 @@ - `@object-ui/types/zod` exports `PivotTableSchema`, a member for member restatement of the TypeScript `PivotTableSchema`: `rowField`, `columnField`, `valueField` and `data` are required, as they are there; `aggregation` is one of `sum`, `count`, `avg`, `min`, `max`; `drillDown` is the shared `DrillDownConfigSchema`; `body` and `children` are refused by name, as the declaration's `?: never` members refuse them (objectui#9256). `DataDisplaySchema` lists it. - `@object-ui/types/zod` exports `ObjectMetricBlockSchema` and `ObjectMasterDetailFormBlockSchema`, built the way the objectui#10872 public-block arms are: `BaseSchema`, the `type` literal, and `properties`, which is the block's `ComponentPropsMap` row by reference, so the spec's members, value types and strictness apply to the bag unchanged. `ObjectMasterDetailFormBlockSchema` also refuses `onSuccess`, `onError` and `onCancel` by name: they are runtime slots a React host fills (objectui#6124). Both reach `AnyComponentSchema` through a new union, `ObjectQLPublicBlockComponentSchema`. - The strict authoring face (`StrictAnyComponentSchema`) derives from `AnyComponentSchema` and accepts the same three types, closed to undeclared keys like every other arm. As on the public blocks, a prop written flat on an `object-metric` or `object-master-detail-form` node instead of inside `properties` is not judged against the spec row. A key `BaseSchema` does not declare passes the tolerant face unjudged and is refused by name on the strict face; a key it does declare (`label` and `description`, both also members of the `object-metric` row) is judged by `BaseSchema`'s own type on both faces. + +⚠️ **Dated note, 2026-09-29 — `drillDown` is retired on the `pivot` node — objectui#10932.** Later in this same release `drillDown` was retired on the `pivot` node on both faces: the TypeScript `PivotTableSchema.drillDown` is a `?: never` tombstone, and the `pivot` arm of `@object-ui/types/zod` declares `drillDown` as a `retirementTombstone()`, which refuses the key by name whatever it holds (`invalid_type` at `drillDown`, with a message naming `object-pivot`). So "`drillDown` is the shared `DrillDownConfigSchema`" above no longer holds: the arm accepts no `drillDown` at all. Nothing ever drilled a `pivot` node; a pivot whose cells open the records behind a value is authored as `object-pivot`, whose `drillDown` is typed `ObjectPivotDrillDownConfig`. The rest of the `PivotTableSchema` bullet stands, including "a member for member restatement of the TypeScript `PivotTableSchema`", because both faces retired the key together. `.changeset/10932-pivot-drilldown-retired.md` (PR objectui#10972) states what ships; the text above is kept as the reading of this change. diff --git a/.changeset/7352-drill-down-config-mirror.md b/.changeset/7352-drill-down-config-mirror.md index 09adc9f781..f41764b95e 100644 --- a/.changeset/7352-drill-down-config-mirror.md +++ b/.changeset/7352-drill-down-config-mirror.md @@ -52,3 +52,19 @@ drawer they open. The rest of this entry is kept as the reading of this change. Later in this same release `PivotTableSchema` gains a zod mirror, and its `drillDown` is this entry's `DrillDownConfigSchema`, so the opening paragraph's two referencing declarations are three for the release, and the first half of the second "Unchanged" bullet above (`PivotTableSchema.drillDown` has no zod mirror at all) is this change's reading, not the release's. The rest of this entry is kept as the reading of this change. + +⚠️ **Dated note, 2026-09-29 — the `pivot` arm no longer references this mirror — +objectui#10932.** Later in this same release `drillDown` was retired on the `pivot` +node on both faces: `PivotTableSchema.drillDown` is a `?: never` tombstone on the +TypeScript face, and the zod arm declares it as a `retirementTombstone()`, which +refuses the key by name whatever it holds. So "its `drillDown` is this entry's +`DrillDownConfigSchema`, so the opening paragraph's two referencing declarations +are three for the release" in the 2026-09-28 note above no longer holds: for the +release the referencing declarations are the opening paragraph's two, `ChartSchema` +and `ObjectDataTableSchema` (whose member extends this mirror per block, +objectui#10685). The rest of that note stands: `PivotTableSchema` does have a zod +mirror, so "`PivotTableSchema.drillDown` has no zod mirror at all" is still this +change's reading, not the release's, and that mirror's `drillDown` member refuses +the key rather than mirroring it. `.changeset/10932-pivot-drilldown-retired.md` +(PR objectui#10972) states what ships; the text above is kept as the reading of +this change.