Skip to content

types: re-judge the 27 SCHEMA-NODE-bucketed keys of zod-mirror-parity per UNION ARM — a per-key verdict over per-arm facts let DashboardComponentSchema.widgets' concrete gap hide behind a schema-node sibling (census ordered by the #7952 ruling) #8252

Description

@os-zhuang

Filed by the director seat under the objectui#7952 ruling (decision batch #68, 2026-09-07).

Why

zod-mirror-parity.test.ts's WiderThanDeclared ledger sorts keys into a SCHEMA-NODE bucket (the recursion-breaking unknown on schema-node mirrors — an instrument artifact, per #7759, excluded from that card's disposition lane). #7952 measured that the verdict is per key while the fact is per arm: DashboardComponentSchema.widgets is a two-arm union whose second arm is a schema-node slot (artifact, correctly bucketed) and whose first arm is a concrete BaseSchema.extend({ type: z.enum(...) }) node with a real TypeScript gap (the ruled-legal metric-card node parses green and tsc refuses it). One key, two arms; the artifact in one absorbed the divergence in the other. #7759 sorted 27 keys out of its lane on that verdict.

Scope

Acceptance

  • per-arm table for all 27 keys
  • each concrete-arm divergence re-filed with a link
  • ledger granularity changed and pinned

Refs #7952 (the instance and ruling), #7759 (the lane), objectstack#8593 (the ruling that admits the component-node arm).

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions