feat(ui): adopt domain signal chips on mounted surfaces [SPRINT-013]

Replace hand-rolled digest truncation/copy and reachability badges with
shared DigestChipComponent and ReachabilityStateChipComponent on releases
list, evidence-thread, attestation-links, and reachability-center.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
master
2026-03-08 19:24:39 +02:00
parent f24d49ddeb
commit c52ca82652
14 changed files with 395 additions and 90 deletions

View File

@@ -0,0 +1,49 @@
# Domain Signal Chips Adoption (DigestChip + ReachabilityStateChip)
## Module
Web
## Status
VERIFIED
## Description
Replaced hand-rolled digest truncation/copy markup and bespoke reachability state
display with shared domain chip components (`DigestChipComponent`,
`ReachabilityStateChipComponent`) across mounted (routed) consumer surfaces.
## Implementation Details
### DigestChipComponent adoption (4 consumers)
- `src/Web/StellaOps.Web/src/app/features/releases/releases-list-page.component.ts`
- Replaced `shortDigest()` + `copyDigest()` + inline SVG copy button with `<app-digest-chip variant="bundle">`
- `src/Web/StellaOps.Web/src/app/features/evidence-thread/components/evidence-thread-view/evidence-thread-view.component.ts`
- Replaced `shortDigest()` computed + `copyDigest()` snackbar-based copy with `<app-digest-chip variant="artifact">`
- `src/Web/StellaOps.Web/src/app/features/evidence-thread/components/evidence-thread-list/evidence-thread-list.component.ts`
- Replaced `shortDigest()` method with `<app-digest-chip variant="artifact">`
- `src/Web/StellaOps.Web/src/app/features/lineage/components/attestation-links/attestation-links.component.ts`
- Replaced `truncateDigest()` + `copyDigest()` + clipboard icon with `<app-digest-chip variant="artifact">`
### ReachabilityStateChipComponent adoption (1 consumer)
- `src/Web/StellaOps.Web/src/app/features/reachability/reachability-center.component.ts`
- Added `<app-reachability-state-chip>` to witness rows, mapping `isReachable` boolean to `ReachabilityState` type and `confidenceScore` to confidence input
- Added `reachabilityState()` helper method for type mapping
### Shared chip source components
- `src/Web/StellaOps.Web/src/app/shared/domain/digest-chip/digest-chip.component.ts`
- `src/Web/StellaOps.Web/src/app/shared/domain/reachability-state-chip/reachability-state-chip.component.ts`
## Focused tests
- `src/Web/StellaOps.Web/src/app/features/releases/releases-list-page.component.spec.ts`
- `src/Web/StellaOps.Web/src/app/features/lineage/components/attestation-links/attestation-links.component.spec.ts`
- `src/Web/StellaOps.Web/src/app/features/reachability/reachability-center-chip-adoption.component.spec.ts`
- Updated: `src/Web/StellaOps.Web/src/app/features/evidence-thread/__tests__/evidence-thread-view.component.spec.ts`
## Exclusions
- `finding-list` and `finding-row` consumers reserved for sprint 020
- Dead witness pages and disconnected route files excluded
- Only mounted (currently routed) surfaces adopted
## Verification
- Date: 2026-03-08
- Sprint: SPRINT_20260308_013_FE_orphan_domain_signal_chips_adoption
- Route verification: all consumers confirmed reachable via route tree