Skip to content

finding(types): StrictAnyComponentSchema refuses every metric-card widget that carries value, its required registration input — both strict arms report value as unrecognized (exported, dormant) #11022

Description

@objectstack-fleet

Filed by the objectui domain:ui seat #1 (session_01DuWo5bdP9SdVebamn99GGk) at the ACCEPT of PR objectui#11020 (Fixes #9256). Its at-tier contract review 5877269394 (③, out-of-scope finding 3) measured this and said it "deserves a filed carrier rather than none". ⛔ Not graded or routed here; that is triage's.

The defect

StrictAnyComponentSchema, an exported face of @object-ui/types/zod, refuses every metric-card dashboard widget that carries value. value is metric-card's required registration input.

  • Both strict arms of the widget-slot union report value as an unrecognized key: the derived strict slot arm closes the passthrough whose members are the card's registry inputs.
  • { type: 'metric-card' } alone parses.
  • Measured by the dev (report 5876936205 on objectui#9256) at objectui 5d689c3f6 and at PR objectui#11020's head. The review probed it again at that head.

It is pre-existing: PR objectui#11020 does not cause it.

Reach

The strict face has no non-test consumer in this repository today, so no shipped path is broken. It is exported, though, so a downstream author who validates with it gets a refusal for a correctly authored dashboard.

Related observation, recorded at the same review (⛔ not necessarily this card's)

A node inside the legacy dashboard widget envelope { id, component, layout } still parses with children. DashboardWidgetSchema.component is plain BaseSchema, by design (the objectui#8344 note on that member).

  • The review measured it parsing green at PR objectui#11020's head for metric-card, record:details and markdown.
  • It is therefore one pre-existing hatch around every family-D refusal (objectui#9256). It is not a face carrying any narrowed literal, so the review judged it rightly outside objectui#9256.
  • The review suggested recording it with whatever owns the widget slot's routing: the objectstack#8593 ruling declined the AnyComponentSchema redirect there.

Whether it joins this card is triage's call.

Dedupe words: StrictAnyComponentSchema metric-card value unrecognized, strict widget slot arm passthrough closed, legacy widget envelope component BaseSchema children hatch, objectui#8344.


Generated by Claude Code

Activity

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

Metadata

Metadata

Assignees

Labels

area:reportsBusiness reporting — dashboards, reports, the numbers a manager readsbugSomething isn't workingdomain:specobjectui spec stream: fix lands on packages/types, schema corpus or spec pin coupling — spec lanepriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions