# Reachability Center UI View ## Module Web ## Status IMPLEMENTED ## Description Reachability Center view showing asset coverage, missing sensors, and stale reachability facts. Implemented with deterministic fixture data; pending official fixture bundle swap from Signals guild. ## What's Implemented - **Existing components**: - `path-viewer` (`src/Web/StellaOps.Web/src/app/features/reachability/components/path-viewer/path-viewer.component.ts`) - `risk-drift-card` (`src/Web/StellaOps.Web/src/app/features/reachability/components/risk-drift-card/risk-drift-card.component.ts`) - `poe-drawer` (`src/Web/StellaOps.Web/src/app/features/reachability/poe-drawer.component.ts`) - `reachability-center` (`src/Web/StellaOps.Web/src/app/features/reachability/reachability-center.component.ts`) - `reachability-explain-widget` (`src/Web/StellaOps.Web/src/app/features/reachability/reachability-explain-widget.component.ts`) - `reachability-explain` (`src/Web/StellaOps.Web/src/app/features/reachability/reachability-explain.component.ts`) - `reachability-why-drawer` (`src/Web/StellaOps.Web/src/app/features/reachability/reachability-why-drawer.component.ts`) - `witness-page` (`src/Web/StellaOps.Web/src/app/features/reachability/witness-page.component.ts`) - **Existing services**: - `drift-api` (`src/Web/StellaOps.Web/src/app/features/reachability/services/drift-api.service.ts`) ## What's Missing - **Official fixture bundle swap**: Currently using deterministic fixture data; pending official fixture bundle from Signals guild with real reachability data - **Asset coverage summary**: No dashboard-level summary showing percentage of assets with reachability analysis coverage - **Missing sensors indicator**: No visual indicator showing which assets lack runtime observation sensors - **Stale facts alerting**: `drift-api.service.ts` exists but no visual alerting when reachability facts become stale - **Unit/E2E test coverage**: Components exist but test coverage may be incomplete ## Implementation Plan - Swap fixture data for live API integration once Signals guild provides official fixture bundle - Add asset coverage summary widget to reachability-center component - Add missing sensor indicator to risk-drift-card - Add stale facts alerting using drift-api service data - Add unit and E2E test coverage for all reachability center components ## E2E Test Plan - **Setup**: - [ ] Log in with a user that has appropriate permissions - [ ] Navigate to `/reachability` - [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed) - **Core verification**: - [ ] Verify the component renders correctly with sample data - [ ] Verify interactive elements respond to user input - [ ] Verify data is fetched and displayed from the correct API endpoints - **Edge cases**: - [ ] Verify graceful handling when backend API is unavailable (error state) - [ ] Verify responsive layout at different viewport sizes - [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)