Files
git.stella-ops.org/docs/features/unchecked/web/reachability-center-ui-view.md

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)