Background
Documented as a Phase 5 audit partial in specification/v2_ux_interfaces.md (PR #1236). ResourceListItem's prop interface matches the spec target ({ resource: Resource | ResourceTemplate, selected, onClick }), but the spec entry's Internal refactors bullet — "Actually render the annotations currently received but unused; use title ?? name" — is half-done: the title fallback is in, but the component still ignores resource.annotations entirely.
AnnotationBadge already exists as the canonical renderer for one annotation facet (audience, priority, plus the four ToolAnnotations hint fields), and ResourcePreviewPanel already uses it for resource annotations. ResourceListItem should follow the same pattern in its compact row layout.
Acceptance criteria
Test plan
Out of scope
- Adding click behavior or tooltips to badges in the row (they remain decorative).
- Rendering the four
ToolAnnotations hints — those belong on ToolListItem, not here.
- Changing
AnnotationBadge itself.
Related
Background
Documented as a Phase 5 audit partial in
specification/v2_ux_interfaces.md(PR #1236).ResourceListItem's prop interface matches the spec target ({ resource: Resource | ResourceTemplate, selected, onClick }), but the spec entry's Internal refactors bullet — "Actually render the annotations currently received but unused; usetitle ?? name" — is half-done: the title fallback is in, but the component still ignoresresource.annotationsentirely.AnnotationBadgealready exists as the canonical renderer for one annotation facet (audience, priority, plus the fourToolAnnotationshint fields), andResourcePreviewPanelalready uses it for resource annotations.ResourceListItemshould follow the same pattern in its compact row layout.Acceptance criteria
resource.annotations.audienceis non-empty, render anAnnotationBadge facet="audience" value={...}inside the row.resource.annotations.priorityis defined (any number), render anAnnotationBadge facet="priority" value={...}.annotationsis absent or both fields are empty/undefined, the row renders identically to today (no extra elements, no extra spacing leaked).Groupwrapbehavior is fine).ResourceListItem.tsx.ResourceTemplatewith annotations.Test plan
npm run format && npm run lint && npm run buildclean.ResourceListItem.stories.tsxcontinues to render visually unchanged in the no-annotations story.ResourcesScreen.stories.tsx) — fixtures with annotated resources should now show badges in the sidebar list.Out of scope
ToolAnnotationshints — those belong onToolListItem, not here.AnnotationBadgeitself.Related
specification/v2_ux_interfaces.md§ ResourceListItemspecification/v2_ux_interfaces.md§ "Audit results (Phase 5 close-out, 2026-04-26)"