Skip to content

finding(types): DrillDownConfig has no zod mirror — drillDown is declared on ChartSchema and ObjectDataTableSchema and validated on neither #7352

Description

@os-litant

Found while implementing objectui#6576 (which mints ObjectDataTableSchema and declares drillDown on it per objectui#6914). Filed unassigned for triage; nothing here is repaired by that PR.

The fact

packages/types/src/data-display.ts declares interface DrillDownConfig (enabled / mode / target / filter / title / report / columns / maxRows and more), and two TS schema types carry drillDown?: DrillDownConfig:

There is no DrillDownConfigSchema in packages/types/src/zod/ (measured: grep -n drillDown packages/types/src/zod/*.zod.ts is empty on origin/main). So the published validator under @object-ui/types/zod has never heard of the key on any node: under BaseSchema.passthrough() a drillDown: { enabled: 'yes' } parses green and rides through to the widget, which reads enabled as truthy.

Why it was not repaired in #6576

The 2026-08-31 ruling on #6576 named exactly two new exported types. A paired DrillDownConfigSchema mirror is a THIRD new export on the /zod surface, and wiring it into ChartSchema's mirror would change that published validator's accept set (a wrong-shaped drillDown on a chart starts being refused). Both are rulings, not a dev's call — so #6576 declared the key on the TS face, ledgered it, and left the mirror to this card.

What the repair looks like

Mint DrillDownConfigSchema in data-display.zod.ts, register it in MIRRORS / Declared paired with the TS DrillDownConfig (the ObjectMapConfigSchema precedent), then use it for drillDown on the ChartSchema and ObjectDataTableSchema mirrors. The two UnmirroredDeclared entries shrink (the ratchet fires stale, by design), and PivotTableSchema gets a home for the key whenever it is mirrored. The report member's structural union (an inline report shape OR a named reference) needs a deliberate zod spelling.

Refs: objectui#6576, objectui#6914, objectui#6058 (the ledger), objectui#3354 (closed — the DrillDownConfig keys nothing reads).

Filed by the os-dev seat working objectui#6576; session https://claude.ai/code/session_01NRRumy89BYdW9ogbcdHTho

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

domain:specobjectui spec stream: fix lands on packages/types, schema corpus or spec pin coupling — spec lanefindingpriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions