Skip to content

Catalog fixtures declare child icon keys that button-group, breadcrumb and command never read — two of them are named with-icons.json and render none #5931

Description

@claude

Observation, filed unassigned while measuring the icon-name population for #5633. Not a user-visible failure by itself — it is authored surface that nothing reads.

Measured

Three catalog fixtures declare an icon on child items whose renderer never reads icon at all. Verified by reading each renderer, not by inference:

fixture key renderer reads icon?
examples/schema-catalog/.../components-basic-button-group/with-icons.json buttons[].icon ("grid", "list") packages/components/src/renderers/basic/button-group.tsx no — the only icon in the file is the 'icon' member of the size enum
examples/schema-catalog/.../components-data-display-breadcrumb/with-icons.json items[].icon ("home", "book", "layout") packages/components/src/renderers/data-display/breadcrumb.tsx no — no icon anywhere in the file
examples/schema-catalog/.../components-form-command/command-menu.json groups[].items[].icon ("smile", …) packages/components/src/renderers/form/command.tsx no — no icon anywhere in the file

Two of the fixtures are named with-icons.json and render none.

The command one was already recorded in #5633's own comment thread as inert; the other two are new here, and the shape is the same in all three.

Why it stayed invisible

Worth deciding

The declared-but-unenforced pattern is the one ADR-0049's enforce-or-remove reasoning exists for. Either these components should render an authored icon (which is #5930's question, one component over), or the key should leave the fixtures so the catalog stops advertising an affordance the renderer does not have. A fixture named with-icons.json that renders no icons is the worst of the two states, because it reads as coverage.


Generated by Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    domain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatneeds-user-decision

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions