Share canonical resource change labels

This commit is contained in:
rcourtman
2026-03-19 00:33:06 +00:00
parent af05d195b9
commit d00bb48bb2
6 changed files with 199 additions and 139 deletions
@@ -88,13 +88,16 @@ the unified table as well, so PBS and PMG entries must keep the same bounded
presentation and verification surface as the primary fleet rows. The shared
`ResourceFacetSummary` component now owns that chip rendering path, so any
future summary changes must preserve the same bounded row budget instead of
forking separate table-only presentation logic. Row summaries now also prefer
canonical `facetCounts` on each resource when they are available, so the hot
path can stay within the same budget while still reading totals from the
shared resource contract. The drawer history surface reuses the same governed
resource route helpers for relationship and related-resource links, so cross-
resource navigation stays within the existing infrastructure surface rather
than branching into custom detail-only routing.
forking separate table-only presentation logic. That component now also
consumes the shared `frontend-modern/src/utils/resourceChangePresentation.ts`
label helper for canonical change kinds, source types, and adapter provenance
so the chip wording stays consistent without adding extra hot-path branching.
Row summaries now also prefer canonical `facetCounts` on each resource when
they are available, so the hot path can stay within the same budget while
still reading totals from the shared resource contract. The drawer history
surface reuses the same governed resource route helpers for relationship and
related-resource links, so cross-resource navigation stays within the existing
infrastructure surface rather than branching into custom detail-only routing.
Governance metadata such as sensitivity and routing scope may be visible in
the table, but it must remain on the same bounded row-windowing and mounted-row
budget proved by `UnifiedResourceTable.performance.contract.test.tsx` rather
@@ -229,6 +229,10 @@ timeline endpoint is paginated. Relationship and timeline references in that
drawer now route through the canonical infrastructure resource filter, so the
resource graph remains navigable from the history surface instead of being
purely descriptive text.
`ResourceFacetSummary` now consumes the shared
`frontend-modern/src/utils/resourceChangePresentation.ts` label helper for
canonical change kinds, source types, and adapter provenance, so the chip
wording stays aligned across table, drawer, and intelligence surfaces.
Relationship cards in that drawer also surface `lastSeenAt` freshness and
optional metadata blocks, and timeline cards surface change metadata when it
is present, so the graph history view preserves the richer provenance already