Skip to content

docs(changeset): date-note three pending entries on the pivot node's drillDown that PR #10972 made false (objectui#10974) - #11045

Merged
objectstack-fleet[bot] merged 1 commit into
mainfrom
claude/issue-10974-pivot-drilldown-dated-notes
Sep 29, 2026
Merged

objectstack-fleet[bot] merged 1 commit into
mainfrom
claude/issue-10974-pivot-drilldown-dated-notes

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Fixes #10974
Clause-②: no — release-note prose only; no accept set or public surface changes.

What this does

PR objectui#10972 (objectui#10932, merged as cc4e47638) retired drillDown on the bare pivot node in this same unreleased batch: PivotTableSchema.drillDown is a ?: never tombstone on the TypeScript face, and the zod pivot arm declares it as a retirementTombstone(). Three pending changesets still read that key as the shared DrillDownConfigSchema, and they publish verbatim into the @object-ui/types CHANGELOG before the objectui#10972 entry's correction is met. Each now carries one dated 2026-09-29 supersession note, appended at the end of the file, in the objectui#10877 / PR objectui#10891 form: a bold headline naming the date and objectui#10932, what holds now, the superseding entry by file and PR, and "the text above is kept as the reading of this change".

Authorisation. The maintainer's 2026-09-29 ruling, recorded on this card as comment 5883365010 (and on objectui#4356 as 5883360525), quoted:

You allow developers to append dated correction notes to pending .changeset files (appended only, no existing line or frontmatter edited).

The three sentences and the appended notes

Each before-sentence was re-quoted from main 2eaf5be27 before writing.

1. .changeset/10859-pivot-object-block-zod-arms.md

Before: "drillDown is the shared DrillDownConfigSchema"

Appended:

⚠️ 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.

2. .changeset/7352-drill-down-config-mirror.md (its 2026-09-28 dated note)

Before: "its drillDown is this entry's DrillDownConfigSchema, so the opening paragraph's two referencing declarations are three for the release"

Appended:

⚠️ 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.

3. .changeset/10685-drilldown-per-block.md (its 2026-09-28 dated note)

Before: "a validator does read the members of a pivot node's drillDown, and accepts mode there"

Appended:

⚠️ 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.

What the notes state, measured on main 2eaf5be27

  • PivotTableSchema.drillDown?: never on the TypeScript face; the zod arm's drillDown is retirementTombstone(PIVOT_DRILL_DOWN_RETIRED), i.e. z.never(...).optional(), so any present value is refused at drillDown whatever it holds. The pin pivot-drilldown-retired-10932.test.ts ran 8 of 8 passed on this tree, including "the arm refuses it at drillDown, invalid_type against never" and "the refusal names the remedy, object-pivot, in one string on both channels".
  • DrillDownConfigSchema is referenced by ChartSchema (drillDown: DrillDownConfigSchema.optional()) and by ObjectDataTableSchema (drillDown: DrillDownConfigSchema.extend({), and by no pivot member: two referencing declarations for the release.
  • The node that drills is object-pivot: ObjectPivotTable passes onDrillDown={handleDrillDown} to PivotTable, whose drillEnabled is typeof onDrillDown === 'function'. object-pivot has no zod arm (every object-pivot mention under packages/types/src/zod is a comment or a message string; the control literals z.literal('chart') / z.literal('pivot') hit).

Verification, per file

File frontmatter md5, base = head base file is a byte prefix of head git diff --numstat vs 2eaf5be27 angle brackets in note
10859-pivot-object-block-zod-arms.md ecedb10c = ecedb10c yes 2 / 0 0
7352-drill-down-config-mirror.md ecedb10c = ecedb10c yes 16 / 0 0
10685-drilldown-per-block.md ac1bfd04 = ac1bfd04 yes 13 / 0 0

No note cites a line address; sentences are cited by quotation.

Completeness sweep (pending changesets only)

Enumerated from git ls-tree --name-only 2eaf5be27 .changeset/ (2325 .md, equal to the working-tree count):

  • pivot (case-insensitive) AND drillDown: 10 files. Three are this PR's carriers and one is 10932-pivot-drilldown-retired.md itself. The other six (10528-grid-object-table-fetch, 10778-dashboard-bus-readers, 8885-object-chart-drilldown-title-compareto, 8970-object-metric-shared-drill-drawer, 9000-drill-columns-header-labels, 9002-metric-drilldown-refusal) were read: each speaks of object-pivot or the shared DrillDownConfig type, and none is made false by PR objectui#10972.
  • Widened, pivot AND drill without drillDown: 4 more (10789-render-time-filter-refusals, 9024-pivot-drill-filter-composition, 9137-dataset-drill-conjoin-widget-filter, dashboard-table-widget-polish-5827), all about object-pivot drill filters or the cross-tab renderer; none false.
  • DrillDownConfigSchema: 4 files, all inside the first set.
  • Positive control: the three named carriers are hits of the first query.
  • 7759-dashboard-header-global-filters-spec.md is untouched; that note belongs to PR feat(core)!: retire the bare-string globalFilters[].options lift (objectui#4356) #10930 (objectui#4356 W4).

No same-class extra sentence was found, so no fourth note.

Changeset presence

check-changeset-presence exit 0: "no changeset is owed". The diff is .changeset/ only, so no new changeset is added.

Gates (head 4f412d5a8)

  • node scripts/check-changeset-presence.mjs: exit 0
  • node scripts/check-changeset-no-major.mjs: exit 0
  • node scripts/check-changeset-fixed.mjs: exit 0
  • node scripts/check-changeset-claims.mjs: exit 0 ("Corpus: 3 changeset(s) this change adds or modifies")
  • node scripts/check-changeset-overwrite.mjs: exit 0, report-only; it lists the three files as modified with the same declarations at base and now (its case 2, a prose correction)
  • pnpm check:pending-changeset-literals: exit 0
  • pnpm check:control-bytes: exit 0
  • pnpm check:new-line-citations: exit 0, "0 new citation(s)"
  • pnpm exec vitest run over the five scripts/__tests__/check-changeset-*.test.ts files and check-pending-changeset-literals.test.ts: 6 files, 220 of 220 tests passed
  • node scripts/check-governed-queue-guard.mjs --test over the three paths: exit 0, NOT GOVERNED

Implemented by a dispatched os-dev agent for the domain:spec @ objectui seat, session https://claude.ai/code/session_012UwY3ahMixEFkfTUxMVkYm.


Generated by Claude Code

…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 <noreply@anthropic.com>
@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

Contract review

Served-tier: CONTRACT_REVIEW_TIER
Head-sha: 4f412d5a8580f1e2847c400db0e425e47e78ce56
Local-runs: none

Director seat (objectstack#12708, session_01AsCNgFBs8HCjwhyHQsFbx3), on the maintainer's ask 「契约复审」 — the second of the two release-note PRs held for it (5883646603, and the maintainer's 「11045 也切换到等契约复审」). Inputs: card objectui#10974 (the claim 5883404626, the dev report 5883541571, the seat's note 5883646603), the ruling records 5883365010 (this card) and 5883360525 (objectui#4356), the PR body, the 3-file diff against the base 2eaf5be27 (+31 / −0), the check-runs on the head, and read-only git show / git grep at the base, the head and main. Nothing built or run.

① Derived judgments

  1. Inside the ruling's form — right. Three pending changesets each gain one dated 2026-09-29 note appended at the end of the file: the frontmatter block hashes identically at the base and the head for all three, git diff --numstat is 31 insertions and 0 deletions, and each old file is a byte prefix of the new one. Each note names objectui#10932 and PR objectui#10972, quotes the sentence it supersedes, states what holds now, points at .changeset/10932-pivot-drilldown-retired.md as the entry that states what ships, and closes with "the text above is kept as the reading of this change" — the objectui#10877 / PR objectui#10891 form.
  2. The three sentences are false on main, and the notes say why correctly — right. Re-read here on main: PivotTableSchema.drillDown?: never on the TypeScript face (data-display.ts), and the zod pivot arm declares drillDown: retirementTombstone(PIVOT_DRILL_DOWN_RETIRED), so "drillDown is the shared DrillDownConfigSchema" (10859) and "a validator does read the members of a pivot node's drillDown, and accepts mode there" (10685) no longer hold; DrillDownConfigSchema is referenced by exactly two arms, the chart's and ObjectDataTableSchema's .extend in objectql.zod.ts, so "three for the release" in 7352's 2026-09-28 note is two again, as its new note says; object-pivot still has no zod arm, so what 10685 says of a stored object-pivot config stands, as its note keeps. Each quoted before-sentence is present verbatim at the base; .changeset/10932-pivot-drilldown-retired.md exists on main.
  3. Complete for its class. The dev's sweep of the pending entries found no fourth sentence reading pivot.drillDown as the shared schema; 7759-… (the objectui#4356 W4 carrier) is untouched and disjoint, as the claim's serial check required.
  4. No changeset owed — right. .changeset/ prose only; Changeset Declaration is success on the head. Clause-②: no is the right reading.

② Semver level

None: release-note prose only, no package bump, no public surface, no accept set. The three bodies publish with their supersession notes attached, so the @object-ui/types CHANGELOG stops contradicting the objectui#10972 entry it ships beside.

③ Boundary flags

  • CI on the head: 41 check runs, 38 success, 3 skipped, 0 failure.
  • Merge: a driver-free git merge-tree --write-tree against main 30f912a0 is clean; the file set is disjoint from objectui#11046's nine and from 7759-….
  • Governed: none of the 3 paths; not Tier H.
  • State: draft, needs:contract-review, assignee huangyiirene (domain:spec @ objectui seat 1, session_012UwY3ahMixEFkfTUxMVkYm); the landing is the seat's, on this record, and it must come before release PR objectui#5400 merges (open, ready, no auto-merge at read).

Implemented-by: claude/issue-10974-pivot-drilldown-dated-notes
Reviewed-by: session_01AsCNgFBs8HCjwhyHQsFbx3

VERDICT: PASS

@objectstack-fleet
objectstack-fleet Bot marked this pull request as ready for review September 29, 2026 07:22
@objectstack-fleet
objectstack-fleet Bot added this pull request to the merge queue Sep 29, 2026
Merged via the queue into main with commit 338482f Sep 29, 2026
43 checks passed
@objectstack-fleet
objectstack-fleet Bot deleted the claude/issue-10974-pivot-drilldown-dated-notes branch September 29, 2026 07:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants