52 lines
3.0 KiB
Markdown
52 lines
3.0 KiB
Markdown
# 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)
|