save checkpoint: save features
This commit is contained in:
@@ -1,32 +0,0 @@
|
||||
# Environment Management UI (CRUD + Freeze Windows + Targets)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Environment management UI with list/detail views, target health monitoring, freeze window editor, and environment settings configuration.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/environments/`
|
||||
- **Routes**: `environments.routes.ts`
|
||||
- **Components**:
|
||||
- `environment-detail-page` (`src/Web/StellaOps.Web/src/app/features/environments/environment-detail-page.component.ts`)
|
||||
- `environments-list-page` (`src/Web/StellaOps.Web/src/app/features/environments/environments-list-page.component.ts`)
|
||||
- **Source**: SPRINT_20260110_111_002_FE_environment_management_ui.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/release-orchestrator`
|
||||
- [ ] 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)
|
||||
@@ -1,35 +0,0 @@
|
||||
# Evidence Card UI Export
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Evidence card export buttons in evidence pack viewer allowing single-file receipt download in standard and compact formats.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/evidence/`
|
||||
- **Routes**: `evidence.routes.ts`
|
||||
- **Components**:
|
||||
- `evidence-center-page` (`src/Web/StellaOps.Web/src/app/features/evidence/evidence-center-page.component.ts`)
|
||||
- `evidence-packet-page` (`src/Web/StellaOps.Web/src/app/features/evidence/evidence-packet-page.component.ts`)
|
||||
- `evidence-page` (`src/Web/StellaOps.Web/src/app/features/evidence/evidence-page.component.ts`)
|
||||
- `evidence-panel` (`src/Web/StellaOps.Web/src/app/features/evidence/evidence-panel.component.ts`)
|
||||
- `audit-bundle-create-modal` (`src/Web/StellaOps.Web/src/app/features/evidence/modals/audit-bundle-create-modal.component.ts`)
|
||||
- **Source**: SPRINT_20260112_006_FE_evidence_card_ui.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/evidence`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the export/download action triggers correctly
|
||||
- [ ] Verify the exported file is in the expected format (JSON, SARIF, CSV, etc.)
|
||||
- [ ] Verify export includes all expected data fields
|
||||
- **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)
|
||||
@@ -1,35 +0,0 @@
|
||||
# Evidence Center Hub
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Unified evidence center replacing scattered evidence views, providing a single hub for browsing, filtering, and verifying all attestation evidence across releases.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/evidence/`
|
||||
- **Routes**: `evidence.routes.ts`
|
||||
- **Components**:
|
||||
- `evidence-center-page` (`src/Web/StellaOps.Web/src/app/features/evidence/evidence-center-page.component.ts`)
|
||||
- `evidence-packet-page` (`src/Web/StellaOps.Web/src/app/features/evidence/evidence-packet-page.component.ts`)
|
||||
- `evidence-page` (`src/Web/StellaOps.Web/src/app/features/evidence/evidence-page.component.ts`)
|
||||
- `evidence-panel` (`src/Web/StellaOps.Web/src/app/features/evidence/evidence-panel.component.ts`)
|
||||
- `audit-bundle-create-modal` (`src/Web/StellaOps.Web/src/app/features/evidence/modals/audit-bundle-create-modal.component.ts`)
|
||||
- **Source**: SPRINT_20260118_006_FE_evidence_unification.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/evidence`
|
||||
- [ ] 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)
|
||||
@@ -1,30 +0,0 @@
|
||||
# Evidence Packet Drawer (Slide-In)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Contextual slide-in drawer for viewing evidence packet details from any page without navigation, showing attestation contents and verification status.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/overlays/evidence-packet-drawer/`
|
||||
- **Components**:
|
||||
- `evidence-packet-drawer` (`src/Web/StellaOps.Web/src/app/shared/overlays/evidence-packet-drawer/evidence-packet-drawer.component.ts`)
|
||||
- **Source**: SPRINT_20260118_006_FE_evidence_unification.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the panel/drawer opens on trigger (click, keyboard shortcut)
|
||||
- [ ] Verify the panel displays the correct detail data for the selected item
|
||||
- [ ] Verify the panel can be closed (X button, Escape key, backdrop click)
|
||||
- **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)
|
||||
@@ -1,30 +0,0 @@
|
||||
# Evidence Presentation UX (Panels, Drawers, Rail, Export Center)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Comprehensive evidence presentation: tabbed panels across triage/findings/SBOM/policy views with reachability, binary diff, provenance, policy, and attestation chain tabs. Per-finding evidence drawer, right-rail proof pane with witness path call traces, DSSE badges, confidence meters. Evidence export center with audit bundle creation. TTE metrics tracking.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/evidence-drawer/`
|
||||
- **Components**:
|
||||
- `evidence-drawer` (`src/Web/StellaOps.Web/src/app/shared/components/evidence-drawer/evidence-drawer.component.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] 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)
|
||||
@@ -1,30 +0,0 @@
|
||||
# Evidence Provenance Visualization Component
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Interactive evidence provenance chain visualization showing the path: finding -> advisory -> VEX -> policy -> attestation. Part of the evidence-export feature module with routing integration.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/evidence-checklist/`
|
||||
- **Components**:
|
||||
- `evidence-checklist` (`src/Web/StellaOps.Web/src/app/shared/components/evidence-checklist/evidence-checklist.component.ts`)
|
||||
- **Source**: SPRINT_20251229_016_FE_evidence_export_replay_ui.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the visualization renders correctly with sample data
|
||||
- [ ] Verify interactive elements (hover tooltips, click-to-drill-down) work
|
||||
- [ ] Verify the visualization handles empty/minimal data gracefully
|
||||
- **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)
|
||||
@@ -1,34 +0,0 @@
|
||||
# Evidence Ribbon UI Component
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Horizontal evidence ribbon component that displays a compact summary strip of evidence types (SBOM, VEX, attestation, provenance) with color-coded badges and drill-down capability. Integrated into developer and auditor workspace views.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/evidence-ribbon/`
|
||||
- **Components**:
|
||||
- `evidence-ribbon` (`src/Web/StellaOps.Web/src/app/features/evidence-ribbon/components/evidence-ribbon/evidence-ribbon.component.ts`)
|
||||
- **Services**:
|
||||
- `evidence-ribbon` (`src/Web/StellaOps.Web/src/app/features/evidence-ribbon/services/evidence-ribbon.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/evidence-ribbon/models/evidence-ribbon.models.ts`
|
||||
- **Source**: batch_38/file_11.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/triage/artifacts/:artifactId`
|
||||
- [ ] 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)
|
||||
@@ -1,39 +0,0 @@
|
||||
# Evidence Thread Browser (Artifact Evidence Lineage)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Browse and inspect evidence threads per artifact digest. List view shows all evidence threads; detail view shows the full thread of evidence for a specific artifact including all linked attestations, proofs, and verification results.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/evidence-thread/`
|
||||
- **Routes**: `evidence-thread.routes.ts`
|
||||
- **Components**:
|
||||
- `evidence-export-dialog` (`src/Web/StellaOps.Web/src/app/features/evidence-thread/components/evidence-export-dialog/evidence-export-dialog.component.ts`)
|
||||
- `evidence-graph-panel` (`src/Web/StellaOps.Web/src/app/features/evidence-thread/components/evidence-graph-panel/evidence-graph-panel.component.ts`)
|
||||
- `evidence-node-card` (`src/Web/StellaOps.Web/src/app/features/evidence-thread/components/evidence-node-card/evidence-node-card.component.ts`)
|
||||
- `evidence-thread-list` (`src/Web/StellaOps.Web/src/app/features/evidence-thread/components/evidence-thread-list/evidence-thread-list.component.ts`)
|
||||
- `evidence-thread-view` (`src/Web/StellaOps.Web/src/app/features/evidence-thread/components/evidence-thread-view/evidence-thread-view.component.ts`)
|
||||
- `evidence-timeline-panel` (`src/Web/StellaOps.Web/src/app/features/evidence-thread/components/evidence-timeline-panel/evidence-timeline-panel.component.ts`)
|
||||
- `evidence-transcript-panel` (`src/Web/StellaOps.Web/src/app/features/evidence-thread/components/evidence-transcript-panel/evidence-transcript-panel.component.ts`)
|
||||
- **Services**:
|
||||
- `evidence-thread` (`src/Web/StellaOps.Web/src/app/features/evidence-thread/services/evidence-thread.service.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/evidence`
|
||||
- [ ] 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)
|
||||
@@ -1,62 +0,0 @@
|
||||
# Exception and Waiver UX (Wizard, Ledger, Simulation)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Exception wizard component, policy exception component with simulation integration, dedicated API client, and exception ledger showing history with status changes, expiry dates, owner info, and create capability.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/triage/`
|
||||
- **Components**:
|
||||
- `ai-code-guard-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/ai-code-guard-badge/ai-code-guard-badge.component.ts`)
|
||||
- `ai-recommendation-panel` (`src/Web/StellaOps.Web/src/app/features/triage/components/ai-recommendation-panel/ai-recommendation-panel.component.ts`)
|
||||
- `attestation-viewer` (`src/Web/StellaOps.Web/src/app/features/triage/components/attestation-viewer/attestation-viewer.component.ts`)
|
||||
- `bulk-action-modal` (`src/Web/StellaOps.Web/src/app/features/triage/components/bulk-action-modal/bulk-action-modal.component.ts`)
|
||||
- `case-header` (`src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.ts`)
|
||||
- `decision-drawer-enhanced` (`src/Web/StellaOps.Web/src/app/features/triage/components/decision-drawer/decision-drawer-enhanced.component.ts`)
|
||||
- `decision-drawer` (`src/Web/StellaOps.Web/src/app/features/triage/components/decision-drawer/decision-drawer.component.ts`)
|
||||
- `attestation-chain` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/attestation-chain.component.ts`)
|
||||
- `backport-verdict-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/backport-verdict-badge.component.ts`)
|
||||
- `binary-diff-tab` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/binary-diff-tab.component.ts`)
|
||||
- `confidence-meter` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/confidence-meter.component.ts`)
|
||||
- `diff-tab` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/diff-tab.component.ts`)
|
||||
- `dsse-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/dsse-badge.component.ts`)
|
||||
- `evidence-uri-link` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/evidence-uri-link.component.ts`)
|
||||
- `function-trace` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/function-trace.component.ts`)
|
||||
- ... and 48 more components
|
||||
- **Services**:
|
||||
- `advisory-ai` (`src/Web/StellaOps.Web/src/app/features/triage/services/advisory-ai.service.ts`)
|
||||
- `binary-diff-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/binary-diff-evidence.service.ts`)
|
||||
- `diff-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/diff-evidence.service.ts`)
|
||||
- `display-preferences` (`src/Web/StellaOps.Web/src/app/features/triage/services/display-preferences.service.ts`)
|
||||
- `evidence-tab` (`src/Web/StellaOps.Web/src/app/features/triage/services/evidence-tab.service.ts`)
|
||||
- `gating` (`src/Web/StellaOps.Web/src/app/features/triage/services/gating.service.ts`)
|
||||
- `keyboard-shortcuts` (`src/Web/StellaOps.Web/src/app/features/triage/services/keyboard-shortcuts.service.ts`)
|
||||
- `reach-graph-slice` (`src/Web/StellaOps.Web/src/app/features/triage/services/reach-graph-slice.service.ts`)
|
||||
- `reachability` (`src/Web/StellaOps.Web/src/app/features/triage/services/reachability.service.ts`)
|
||||
- `runtime-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/runtime-evidence.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/diff-evidence.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/evidence-panel.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/evidence.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/gating.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/reachability.models.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/triage/artifacts`
|
||||
- [ ] 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)
|
||||
@@ -1,62 +0,0 @@
|
||||
# Exception Center with Kanban View
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Comprehensive exception management center with list and kanban board views, workflow transitions (draft/pending/approved/rejected/expired), an approval queue with batch operations, a multi-step exception creation wizard, detail view with audit log, and inline exception drafting.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/triage/`
|
||||
- **Components**:
|
||||
- `ai-code-guard-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/ai-code-guard-badge/ai-code-guard-badge.component.ts`)
|
||||
- `ai-recommendation-panel` (`src/Web/StellaOps.Web/src/app/features/triage/components/ai-recommendation-panel/ai-recommendation-panel.component.ts`)
|
||||
- `attestation-viewer` (`src/Web/StellaOps.Web/src/app/features/triage/components/attestation-viewer/attestation-viewer.component.ts`)
|
||||
- `bulk-action-modal` (`src/Web/StellaOps.Web/src/app/features/triage/components/bulk-action-modal/bulk-action-modal.component.ts`)
|
||||
- `case-header` (`src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.ts`)
|
||||
- `decision-drawer-enhanced` (`src/Web/StellaOps.Web/src/app/features/triage/components/decision-drawer/decision-drawer-enhanced.component.ts`)
|
||||
- `decision-drawer` (`src/Web/StellaOps.Web/src/app/features/triage/components/decision-drawer/decision-drawer.component.ts`)
|
||||
- `attestation-chain` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/attestation-chain.component.ts`)
|
||||
- `backport-verdict-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/backport-verdict-badge.component.ts`)
|
||||
- `binary-diff-tab` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/binary-diff-tab.component.ts`)
|
||||
- `confidence-meter` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/confidence-meter.component.ts`)
|
||||
- `diff-tab` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/diff-tab.component.ts`)
|
||||
- `dsse-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/dsse-badge.component.ts`)
|
||||
- `evidence-uri-link` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/evidence-uri-link.component.ts`)
|
||||
- `function-trace` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/function-trace.component.ts`)
|
||||
- ... and 48 more components
|
||||
- **Services**:
|
||||
- `advisory-ai` (`src/Web/StellaOps.Web/src/app/features/triage/services/advisory-ai.service.ts`)
|
||||
- `binary-diff-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/binary-diff-evidence.service.ts`)
|
||||
- `diff-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/diff-evidence.service.ts`)
|
||||
- `display-preferences` (`src/Web/StellaOps.Web/src/app/features/triage/services/display-preferences.service.ts`)
|
||||
- `evidence-tab` (`src/Web/StellaOps.Web/src/app/features/triage/services/evidence-tab.service.ts`)
|
||||
- `gating` (`src/Web/StellaOps.Web/src/app/features/triage/services/gating.service.ts`)
|
||||
- `keyboard-shortcuts` (`src/Web/StellaOps.Web/src/app/features/triage/services/keyboard-shortcuts.service.ts`)
|
||||
- `reach-graph-slice` (`src/Web/StellaOps.Web/src/app/features/triage/services/reach-graph-slice.service.ts`)
|
||||
- `reachability` (`src/Web/StellaOps.Web/src/app/features/triage/services/reachability.service.ts`)
|
||||
- `runtime-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/runtime-evidence.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/diff-evidence.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/evidence-panel.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/evidence.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/gating.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/reachability.models.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/triage/artifacts`
|
||||
- [ ] 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)
|
||||
@@ -1,30 +0,0 @@
|
||||
# "Explain Like I'm New" / Plain Language Toggle
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Toggle between technical and plain language modes with Alt+P shortcut, glossary tooltip directive for jargon expansion, and dedicated service for managing the state. Originally marked TODO in advisory but now implemented.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/plain-language-toggle/`
|
||||
- **Components**:
|
||||
- `plain-language-toggle` (`src/Web/StellaOps.Web/src/app/shared/components/plain-language-toggle/plain-language-toggle.component.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] 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)
|
||||
@@ -1,57 +0,0 @@
|
||||
# Explainer Timeline UI Component (Step-by-Step Verdict Explanation)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Interactive step-by-step verdict explanation visualization with expand/collapse behavior. ExplainerStepComponent renders individual reasoning steps; ExplainerService provides data from backend; supports progressive disclosure of decision rationale for lineage views.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/lineage/`
|
||||
- **Routes**: `lineage.routes.ts`
|
||||
- **Components**:
|
||||
- `attestation-links` (`src/Web/StellaOps.Web/src/app/features/lineage/components/attestation-links/attestation-links.component.ts`)
|
||||
- `audit-pack-export` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/audit-pack-export.component.ts`)
|
||||
- `export-options` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/export-options/export-options.component.ts`)
|
||||
- `merkle-display` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/merkle-display/merkle-display.component.ts`)
|
||||
- `signing-options` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/signing-options/signing-options.component.ts`)
|
||||
- `cgs-badge` (`src/Web/StellaOps.Web/src/app/features/lineage/components/cgs-badge/cgs-badge.component.ts`)
|
||||
- `compare-panel` (`src/Web/StellaOps.Web/src/app/features/lineage/components/compare-panel/compare-panel.component.ts`)
|
||||
- `diff-table` (`src/Web/StellaOps.Web/src/app/features/lineage/components/diff-table/diff-table.component.ts`)
|
||||
- `explainer-step` (`src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/explainer-step/explainer-step.component.ts`)
|
||||
- `explainer-timeline` (`src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/explainer-timeline.component.ts`)
|
||||
- `export-dialog` (`src/Web/StellaOps.Web/src/app/features/lineage/components/export-dialog/export-dialog.component.ts`)
|
||||
- `keyboard-shortcuts-help` (`src/Web/StellaOps.Web/src/app/features/lineage/components/keyboard-shortcuts-help/keyboard-shortcuts-help.component.ts`)
|
||||
- `lineage-compare-panel` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-compare-panel/lineage-compare-panel.component.ts`)
|
||||
- `lineage-compare` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-compare/lineage-compare.component.ts`)
|
||||
- `lineage-component-diff` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-component-diff/lineage-component-diff.component.ts`)
|
||||
- ... and 32 more components
|
||||
- **Services**:
|
||||
- `audit-pack` (`src/Web/StellaOps.Web/src/app/features/lineage/services/audit-pack.service.ts`)
|
||||
- `explainer` (`src/Web/StellaOps.Web/src/app/features/lineage/services/explainer.service.ts`)
|
||||
- `lineage-export` (`src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-export.service.ts`)
|
||||
- `lineage-graph` (`src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-graph.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/models/audit-pack.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/diff-table/models/diff-table.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/models/explainer.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/node-diff-table/models/diff-table.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/pinned-explanation/models/pinned.models.ts`
|
||||
- **Source**: SPRINT_20251229_001_005_FE_explainer_timeline.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/lineage`
|
||||
- [ ] 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)
|
||||
@@ -1,43 +0,0 @@
|
||||
# Feed Mirror & AirGap Ops UI
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Feed mirror ops UI with mirror registry list, snapshot management, AirGap import/export with bundle validation, feed version lock for deterministic scans, offline sync status, and bundle freshness warnings.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/feed-mirror/`
|
||||
- **Routes**: `feed-mirror.routes.ts`
|
||||
- **Components**:
|
||||
- `airgap-export` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/airgap-export.component.ts`)
|
||||
- `airgap-import` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/airgap-import.component.ts`)
|
||||
- `feed-mirror-dashboard` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/feed-mirror-dashboard.component.ts`)
|
||||
- `feed-mirror` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/feed-mirror.component.ts`)
|
||||
- `feed-version-lock` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/feed-version-lock.component.ts`)
|
||||
- `freshness-warnings` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/freshness-warnings.component.ts`)
|
||||
- `mirror-detail` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/mirror-detail.component.ts`)
|
||||
- `mirror-list` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/mirror-list.component.ts`)
|
||||
- `offline-sync-status` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/offline-sync-status.component.ts`)
|
||||
- `snapshot-actions` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/snapshot-actions.component.ts`)
|
||||
- `snapshot-selector` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/snapshot-selector.component.ts`)
|
||||
- `sync-status-indicator` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/sync-status-indicator.component.ts`)
|
||||
- `version-lock` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/version-lock.component.ts`)
|
||||
- **Source**: SPRINT_20251229_020_FE_feed_mirror_airgap_ops_ui
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/ops/feeds`
|
||||
- [ ] 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)
|
||||
@@ -1,32 +0,0 @@
|
||||
# Filter Preset Pills with URL Synchronization
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Always-visible horizontal-scrolling filter chips (7 presets: actionable, prod-runtime, backport-verified, critical-only, needs-review, vex-applied, all-findings) with bidirectional URL synchronization for shareable filter states and copy-URL support.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/vuln-explorer/components/filter-preset-pills/`
|
||||
- **Components**:
|
||||
- `filter-preset-pills` (`src/Web/StellaOps.Web/src/app/features/vuln-explorer/components/filter-preset-pills/filter-preset-pills.component.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/vuln-explorer/components/filter-preset-pills/filter-preset.models.ts`
|
||||
- **Source**: SPRINT_20260103_001_FE_preset_pills_patch_map.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify search/filter input accepts and processes user input
|
||||
- [ ] Verify results update in real-time as filter criteria change
|
||||
- [ ] Verify clearing filters resets to the full unfiltered view
|
||||
- **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)
|
||||
@@ -1,30 +0,0 @@
|
||||
# Finding Detail Drawer
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Shared slide-in drawer for viewing finding details from any context, displaying reachability evidence, VEX status, and available actions without full-page navigation.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/overlays/finding-detail-drawer/`
|
||||
- **Components**:
|
||||
- `finding-detail-drawer` (`src/Web/StellaOps.Web/src/app/shared/overlays/finding-detail-drawer/finding-detail-drawer.component.ts`)
|
||||
- **Source**: SPRINT_20260118_007_FE_security_consolidation.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the panel/drawer opens on trigger (click, keyboard shortcut)
|
||||
- [ ] Verify the panel displays the correct detail data for the selected item
|
||||
- [ ] Verify the panel can be closed (X button, Escape key, backdrop click)
|
||||
- **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)
|
||||
@@ -1,32 +0,0 @@
|
||||
# FirstSignalCard Component (Prefetch, SSE Updates, Storybook)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
FirstSignalCard Angular component with prefetch service for fast initial signal delivery, signal store, API client, SSE updates showing summary + next action buttons, Storybook stories, and unit tests.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/runs/`
|
||||
- **Components**:
|
||||
- `first-signal-card` (`src/Web/StellaOps.Web/src/app/features/runs/components/first-signal-card/first-signal-card.component.ts`)
|
||||
- **Services**:
|
||||
- `first-signal-prefetch` (`src/Web/StellaOps.Web/src/app/features/runs/services/first-signal-prefetch.service.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] 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)
|
||||
@@ -1,43 +0,0 @@
|
||||
# Frontend Plugin System (Discovery, Sandbox, Extension Slots)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Frontend plugin architecture with plugin discovery service, dynamic module loader, sandboxed execution, a registry for managing plugin lifecycle, tenant-scoped plugin configuration, navigation integration for plugin-contributed menu items, and an extension slot component allowing plugins to inject UI at designated extension points.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/core/plugins/`
|
||||
- **Components**:
|
||||
- `extension-slot` (`src/Web/StellaOps.Web/src/app/core/plugins/extension-slots/extension-slot.component.ts`)
|
||||
- **Services**:
|
||||
- `plugin-discovery` (`src/Web/StellaOps.Web/src/app/core/plugins/discovery/plugin-discovery.service.ts`)
|
||||
- `extension-slot` (`src/Web/StellaOps.Web/src/app/core/plugins/extension-slots/extension-slot.service.ts`)
|
||||
- `plugin-loader` (`src/Web/StellaOps.Web/src/app/core/plugins/loader/plugin-loader.service.ts`)
|
||||
- `plugin-manifest-loader` (`src/Web/StellaOps.Web/src/app/core/plugins/loader/plugin-manifest-loader.service.ts`)
|
||||
- `navigation-plugin` (`src/Web/StellaOps.Web/src/app/core/plugins/navigation/navigation-plugin.service.ts`)
|
||||
- `plugin-registry` (`src/Web/StellaOps.Web/src/app/core/plugins/registry/plugin-registry.service.ts`)
|
||||
- `plugin-sandbox` (`src/Web/StellaOps.Web/src/app/core/plugins/sandbox/plugin-sandbox.service.ts`)
|
||||
- `tenant-plugin-config` (`src/Web/StellaOps.Web/src/app/core/plugins/tenant/tenant-plugin-config.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/core/plugins/models/extension-slot.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/core/plugins/models/plugin-lifecycle.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/core/plugins/models/plugin-manifest.model.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] 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)
|
||||
@@ -1,31 +0,0 @@
|
||||
# Function Map Management UI (Runtime Behavior Verification)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Manage function maps that define expected runtime behavior for services. Includes a list view with verification status and coverage metrics, a multi-step wizard (SBOM source, hot function patterns, coverage thresholds, review) for creating maps, a detail view with verification history, and an observation timeline chart showing matched vs unmatched observations over time.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/binary-index/`
|
||||
- **Components**:
|
||||
- `binary-index-ops` (`src/Web/StellaOps.Web/src/app/features/binary-index/binary-index-ops.component.ts`)
|
||||
- `patch-map` (`src/Web/StellaOps.Web/src/app/features/binary-index/patch-map.component.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/analyze/patch-map`
|
||||
- [ ] 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)
|
||||
@@ -1,30 +0,0 @@
|
||||
# Gate Explain Drawer
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Slide-in drawer explaining why a policy gate passed or failed, showing each rule evaluation, evidence inputs, and what would need to change for a different outcome.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/overlays/gate-explain-drawer/`
|
||||
- **Components**:
|
||||
- `gate-explain-drawer` (`src/Web/StellaOps.Web/src/app/shared/overlays/gate-explain-drawer/gate-explain-drawer.component.ts`)
|
||||
- **Source**: SPRINT_20260118_009_FE_route_migration_shared_components.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the panel/drawer opens on trigger (click, keyboard shortcut)
|
||||
- [ ] Verify the panel displays the correct detail data for the selected item
|
||||
- [ ] Verify the panel can be closed (X button, Escape key, backdrop click)
|
||||
- **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)
|
||||
@@ -1,37 +0,0 @@
|
||||
# Graph Export (SVG/PNG)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Graph export service supporting SVG and PNG formats with options for scale, legend inclusion, metadata embedding, and custom background colors. Originally marked TODO in advisory but now implemented.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/graph/`
|
||||
- **Components**:
|
||||
- `graph-canvas` (`src/Web/StellaOps.Web/src/app/features/graph/graph-canvas.component.ts`)
|
||||
- `graph-explorer` (`src/Web/StellaOps.Web/src/app/features/graph/graph-explorer.component.ts`)
|
||||
- `graph-filters` (`src/Web/StellaOps.Web/src/app/features/graph/graph-filters.component.ts`)
|
||||
- `graph-hotkey-help` (`src/Web/StellaOps.Web/src/app/features/graph/graph-hotkey-help.component.ts`)
|
||||
- `graph-overlays` (`src/Web/StellaOps.Web/src/app/features/graph/graph-overlays.component.ts`)
|
||||
- `graph-side-panels` (`src/Web/StellaOps.Web/src/app/features/graph/graph-side-panels.component.ts`)
|
||||
- **Services**:
|
||||
- `graph-accessibility` (`src/Web/StellaOps.Web/src/app/features/graph/graph-accessibility.service.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/graph`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the visualization renders correctly with sample data
|
||||
- [ ] Verify interactive elements (hover tooltips, click-to-drill-down) work
|
||||
- [ ] Verify the visualization handles empty/minimal data gracefully
|
||||
- **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)
|
||||
@@ -1,37 +0,0 @@
|
||||
# Graph Split View with Diff Engine
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Visual graph diff engine with split-view component for comparing two dependency/SBOM graphs side by side with change highlighting, diff computation, and synchronized navigation.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/graph/`
|
||||
- **Components**:
|
||||
- `graph-canvas` (`src/Web/StellaOps.Web/src/app/features/graph/graph-canvas.component.ts`)
|
||||
- `graph-explorer` (`src/Web/StellaOps.Web/src/app/features/graph/graph-explorer.component.ts`)
|
||||
- `graph-filters` (`src/Web/StellaOps.Web/src/app/features/graph/graph-filters.component.ts`)
|
||||
- `graph-hotkey-help` (`src/Web/StellaOps.Web/src/app/features/graph/graph-hotkey-help.component.ts`)
|
||||
- `graph-overlays` (`src/Web/StellaOps.Web/src/app/features/graph/graph-overlays.component.ts`)
|
||||
- `graph-side-panels` (`src/Web/StellaOps.Web/src/app/features/graph/graph-side-panels.component.ts`)
|
||||
- **Services**:
|
||||
- `graph-accessibility` (`src/Web/StellaOps.Web/src/app/features/graph/graph-accessibility.service.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/graph`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify side-by-side comparison view renders correctly with two versions
|
||||
- [ ] Verify additions, removals, and changes are visually highlighted
|
||||
- [ ] Verify diff data matches the expected delta between versions
|
||||
- **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)
|
||||
@@ -1,30 +0,0 @@
|
||||
# Identity Watchlist Management UI
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Full CRUD UI for managing identity watchlist entries (issuer, SAN, keyId) with match modes (Exact, Prefix, Glob, Regex), severity levels, scope (Tenant/Global/System), alert viewing, pattern testing, and duplicate suppression configuration. Users can create, edit, delete, enable/disable watchlist entries and view resulting alerts.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/watchlist/`
|
||||
- **Components**:
|
||||
- `watchlist-page` (`src/Web/StellaOps.Web/src/app/features/watchlist/watchlist-page.component.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/security`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the list/table loads with paginated data
|
||||
- [ ] Verify sorting and filtering controls work correctly
|
||||
- [ ] Verify clicking a row navigates to the detail view
|
||||
- **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)
|
||||
@@ -1,42 +0,0 @@
|
||||
# Impact-First Vulnerability Detail (EPSS/KEV)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Vulnerability detail page redesigned with impact-first layout showing EPSS probability, KEV catalog status, reachability state, and blast radius before technical details.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/vulnerabilities/`
|
||||
- **Components**:
|
||||
- `claim-table` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/claim-table.component.ts`)
|
||||
- `confidence-meter` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/confidence-meter.component.ts`)
|
||||
- `policy-chips` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/policy-chips.component.ts`)
|
||||
- `replay-button` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/replay-button.component.ts`)
|
||||
- `trust-algebra` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/trust-algebra.component.ts`)
|
||||
- `trust-vector-bars` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/trust-vector-bars.component.ts`)
|
||||
- `vuln-triage-dashboard` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/vuln-triage-dashboard/vuln-triage-dashboard.component.ts`)
|
||||
- `vulnerability-detail` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/vulnerability-detail.component.ts`)
|
||||
- `vulnerability-explorer` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/vulnerability-explorer.component.ts`)
|
||||
- **Services**:
|
||||
- `trust-algebra` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/trust-algebra.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/trust-algebra.models.ts`
|
||||
- **Source**: SPRINT_20260118_007_FE_security_consolidation.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/vulnerabilities`
|
||||
- [ ] 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)
|
||||
@@ -1,38 +0,0 @@
|
||||
# Integration Hub UI (List + Detail + Connection Test)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Integration Hub frontend with list view showing integration status/health, detail view with configuration and activity log, and connection test UI for verifying integration connectivity.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/integration-hub/`
|
||||
- **Routes**: `integration-hub.routes.ts`
|
||||
- **Components**:
|
||||
- `integration-activity` (`src/Web/StellaOps.Web/src/app/features/integration-hub/integration-activity.component.ts`)
|
||||
- `integration-detail` (`src/Web/StellaOps.Web/src/app/features/integration-hub/integration-detail.component.ts`)
|
||||
- `integration-hub` (`src/Web/StellaOps.Web/src/app/features/integration-hub/integration-hub.component.ts`)
|
||||
- `integration-list` (`src/Web/StellaOps.Web/src/app/features/integration-hub/integration-list.component.ts`)
|
||||
- **Services**:
|
||||
- `integration` (`src/Web/StellaOps.Web/src/app/features/integration-hub/integration.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/integration-hub/integration.models.ts`
|
||||
- **Source**: SPRINT_20251229_011_FE_integration_hub_ui.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/integrations`
|
||||
- [ ] 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)
|
||||
@@ -1,38 +0,0 @@
|
||||
# Integration Onboarding Wizard (Multi-Type Setup Flows)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Multi-step integration onboarding wizard supporting registry, SCM, CI, and host integration types. Includes preflight checks, copy-safe instructions, and template generation for Helm/systemd deployments.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/integration-hub/`
|
||||
- **Routes**: `integration-hub.routes.ts`
|
||||
- **Components**:
|
||||
- `integration-activity` (`src/Web/StellaOps.Web/src/app/features/integration-hub/integration-activity.component.ts`)
|
||||
- `integration-detail` (`src/Web/StellaOps.Web/src/app/features/integration-hub/integration-detail.component.ts`)
|
||||
- `integration-hub` (`src/Web/StellaOps.Web/src/app/features/integration-hub/integration-hub.component.ts`)
|
||||
- `integration-list` (`src/Web/StellaOps.Web/src/app/features/integration-hub/integration-list.component.ts`)
|
||||
- **Services**:
|
||||
- `integration` (`src/Web/StellaOps.Web/src/app/features/integration-hub/integration.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/integration-hub/integration.models.ts`
|
||||
- **Source**: SPRINT_20251229_014_FE_integration_wizards.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/integrations`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the editor/studio loads with editable content or empty template
|
||||
- [ ] Verify changes can be saved and persisted
|
||||
- [ ] Verify validation errors are displayed for invalid input
|
||||
- **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)
|
||||
@@ -1,35 +0,0 @@
|
||||
# Issuer Trust Management UI
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Issuer directory trust management UI with issuer list, issuer detail view showing keys and trust bundles, key rotation wizard with confirmation, and issuer lifecycle management under Admin > Trust > Issuers.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/issuer-trust/`
|
||||
- **Routes**: `issuer-trust.routes.ts`
|
||||
- **Components**:
|
||||
- `issuer-detail` (`src/Web/StellaOps.Web/src/app/features/issuer-trust/components/issuer-detail.component.ts`)
|
||||
- `issuer-editor` (`src/Web/StellaOps.Web/src/app/features/issuer-trust/components/issuer-editor.component.ts`)
|
||||
- `issuer-list` (`src/Web/StellaOps.Web/src/app/features/issuer-trust/components/issuer-list.component.ts`)
|
||||
- `key-rotation` (`src/Web/StellaOps.Web/src/app/features/issuer-trust/components/key-rotation.component.ts`)
|
||||
- `issuer-trust` (`src/Web/StellaOps.Web/src/app/features/issuer-trust/issuer-trust.component.ts`)
|
||||
- **Source**: SPRINT_20251229_024_FE_issuer_trust_ui
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/admin/issuers`
|
||||
- [ ] 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)
|
||||
@@ -1,62 +0,0 @@
|
||||
# Keyboard Shortcuts for Triage (J, Y, R, S, A/N/U)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Keyboard shortcuts for triage workflow including help overlay, graph hotkeys, and shared keyboard shortcut infrastructure with e2e test coverage.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/triage/`
|
||||
- **Components**:
|
||||
- `ai-code-guard-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/ai-code-guard-badge/ai-code-guard-badge.component.ts`)
|
||||
- `ai-recommendation-panel` (`src/Web/StellaOps.Web/src/app/features/triage/components/ai-recommendation-panel/ai-recommendation-panel.component.ts`)
|
||||
- `attestation-viewer` (`src/Web/StellaOps.Web/src/app/features/triage/components/attestation-viewer/attestation-viewer.component.ts`)
|
||||
- `bulk-action-modal` (`src/Web/StellaOps.Web/src/app/features/triage/components/bulk-action-modal/bulk-action-modal.component.ts`)
|
||||
- `case-header` (`src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.ts`)
|
||||
- `decision-drawer-enhanced` (`src/Web/StellaOps.Web/src/app/features/triage/components/decision-drawer/decision-drawer-enhanced.component.ts`)
|
||||
- `decision-drawer` (`src/Web/StellaOps.Web/src/app/features/triage/components/decision-drawer/decision-drawer.component.ts`)
|
||||
- `attestation-chain` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/attestation-chain.component.ts`)
|
||||
- `backport-verdict-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/backport-verdict-badge.component.ts`)
|
||||
- `binary-diff-tab` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/binary-diff-tab.component.ts`)
|
||||
- `confidence-meter` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/confidence-meter.component.ts`)
|
||||
- `diff-tab` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/diff-tab.component.ts`)
|
||||
- `dsse-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/dsse-badge.component.ts`)
|
||||
- `evidence-uri-link` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/evidence-uri-link.component.ts`)
|
||||
- `function-trace` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/function-trace.component.ts`)
|
||||
- ... and 48 more components
|
||||
- **Services**:
|
||||
- `advisory-ai` (`src/Web/StellaOps.Web/src/app/features/triage/services/advisory-ai.service.ts`)
|
||||
- `binary-diff-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/binary-diff-evidence.service.ts`)
|
||||
- `diff-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/diff-evidence.service.ts`)
|
||||
- `display-preferences` (`src/Web/StellaOps.Web/src/app/features/triage/services/display-preferences.service.ts`)
|
||||
- `evidence-tab` (`src/Web/StellaOps.Web/src/app/features/triage/services/evidence-tab.service.ts`)
|
||||
- `gating` (`src/Web/StellaOps.Web/src/app/features/triage/services/gating.service.ts`)
|
||||
- `keyboard-shortcuts` (`src/Web/StellaOps.Web/src/app/features/triage/services/keyboard-shortcuts.service.ts`)
|
||||
- `reach-graph-slice` (`src/Web/StellaOps.Web/src/app/features/triage/services/reach-graph-slice.service.ts`)
|
||||
- `reachability` (`src/Web/StellaOps.Web/src/app/features/triage/services/reachability.service.ts`)
|
||||
- `runtime-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/runtime-evidence.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/diff-evidence.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/evidence-panel.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/evidence.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/gating.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/reachability.models.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/triage/artifacts`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the triage list loads with findings/items to review
|
||||
- [ ] Verify triaging actions (accept, dismiss, override) update item status
|
||||
- [ ] Verify keyboard shortcuts work for rapid triage navigation
|
||||
- **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)
|
||||
@@ -1,29 +0,0 @@
|
||||
# Legacy Route Migration Framework
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Comprehensive route migration framework with 70+ redirect rules mapping legacy URLs to new consolidated navigation structure. Ensures bookmark and deep-link preservation during the UI restructuring from flat routes to hierarchical navigation (Security, Policy, Operations, Settings, Evidence).
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/routes/`
|
||||
- **Routes**: `legacy-redirects.routes.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] 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)
|
||||
@@ -1,57 +0,0 @@
|
||||
# Lineage Compare Panel (Side-by-Side SBOM/VEX Diff)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Interactive side-by-side comparison panel for SBOM lineage graph with dedicated SBOM diff view (added/removed/updated components), VEX diff view (status transitions), and URL-addressable compare state for sharing comparison links.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/lineage/`
|
||||
- **Routes**: `lineage.routes.ts`
|
||||
- **Components**:
|
||||
- `attestation-links` (`src/Web/StellaOps.Web/src/app/features/lineage/components/attestation-links/attestation-links.component.ts`)
|
||||
- `audit-pack-export` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/audit-pack-export.component.ts`)
|
||||
- `export-options` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/export-options/export-options.component.ts`)
|
||||
- `merkle-display` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/merkle-display/merkle-display.component.ts`)
|
||||
- `signing-options` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/signing-options/signing-options.component.ts`)
|
||||
- `cgs-badge` (`src/Web/StellaOps.Web/src/app/features/lineage/components/cgs-badge/cgs-badge.component.ts`)
|
||||
- `compare-panel` (`src/Web/StellaOps.Web/src/app/features/lineage/components/compare-panel/compare-panel.component.ts`)
|
||||
- `diff-table` (`src/Web/StellaOps.Web/src/app/features/lineage/components/diff-table/diff-table.component.ts`)
|
||||
- `explainer-step` (`src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/explainer-step/explainer-step.component.ts`)
|
||||
- `explainer-timeline` (`src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/explainer-timeline.component.ts`)
|
||||
- `export-dialog` (`src/Web/StellaOps.Web/src/app/features/lineage/components/export-dialog/export-dialog.component.ts`)
|
||||
- `keyboard-shortcuts-help` (`src/Web/StellaOps.Web/src/app/features/lineage/components/keyboard-shortcuts-help/keyboard-shortcuts-help.component.ts`)
|
||||
- `lineage-compare-panel` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-compare-panel/lineage-compare-panel.component.ts`)
|
||||
- `lineage-compare` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-compare/lineage-compare.component.ts`)
|
||||
- `lineage-component-diff` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-component-diff/lineage-component-diff.component.ts`)
|
||||
- ... and 32 more components
|
||||
- **Services**:
|
||||
- `audit-pack` (`src/Web/StellaOps.Web/src/app/features/lineage/services/audit-pack.service.ts`)
|
||||
- `explainer` (`src/Web/StellaOps.Web/src/app/features/lineage/services/explainer.service.ts`)
|
||||
- `lineage-export` (`src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-export.service.ts`)
|
||||
- `lineage-graph` (`src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-graph.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/models/audit-pack.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/diff-table/models/diff-table.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/models/explainer.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/node-diff-table/models/diff-table.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/pinned-explanation/models/pinned.models.ts`
|
||||
- **Source**: SPRINT_20251228_008_FE_sbom_lineage_graph_ii.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/lineage`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the panel/drawer opens on trigger (click, keyboard shortcut)
|
||||
- [ ] Verify the panel displays the correct detail data for the selected item
|
||||
- [ ] Verify the panel can be closed (X button, Escape key, backdrop click)
|
||||
- **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)
|
||||
@@ -1,57 +0,0 @@
|
||||
# Lineage Timeline Slider
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Interactive timeline slider for navigating SBOM lineage graph history. Allows scrubbing through release versions chronologically with visual markers for significant security state changes.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/lineage/`
|
||||
- **Routes**: `lineage.routes.ts`
|
||||
- **Components**:
|
||||
- `attestation-links` (`src/Web/StellaOps.Web/src/app/features/lineage/components/attestation-links/attestation-links.component.ts`)
|
||||
- `audit-pack-export` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/audit-pack-export.component.ts`)
|
||||
- `export-options` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/export-options/export-options.component.ts`)
|
||||
- `merkle-display` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/merkle-display/merkle-display.component.ts`)
|
||||
- `signing-options` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/signing-options/signing-options.component.ts`)
|
||||
- `cgs-badge` (`src/Web/StellaOps.Web/src/app/features/lineage/components/cgs-badge/cgs-badge.component.ts`)
|
||||
- `compare-panel` (`src/Web/StellaOps.Web/src/app/features/lineage/components/compare-panel/compare-panel.component.ts`)
|
||||
- `diff-table` (`src/Web/StellaOps.Web/src/app/features/lineage/components/diff-table/diff-table.component.ts`)
|
||||
- `explainer-step` (`src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/explainer-step/explainer-step.component.ts`)
|
||||
- `explainer-timeline` (`src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/explainer-timeline.component.ts`)
|
||||
- `export-dialog` (`src/Web/StellaOps.Web/src/app/features/lineage/components/export-dialog/export-dialog.component.ts`)
|
||||
- `keyboard-shortcuts-help` (`src/Web/StellaOps.Web/src/app/features/lineage/components/keyboard-shortcuts-help/keyboard-shortcuts-help.component.ts`)
|
||||
- `lineage-compare-panel` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-compare-panel/lineage-compare-panel.component.ts`)
|
||||
- `lineage-compare` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-compare/lineage-compare.component.ts`)
|
||||
- `lineage-component-diff` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-component-diff/lineage-component-diff.component.ts`)
|
||||
- ... and 32 more components
|
||||
- **Services**:
|
||||
- `audit-pack` (`src/Web/StellaOps.Web/src/app/features/lineage/services/audit-pack.service.ts`)
|
||||
- `explainer` (`src/Web/StellaOps.Web/src/app/features/lineage/services/explainer.service.ts`)
|
||||
- `lineage-export` (`src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-export.service.ts`)
|
||||
- `lineage-graph` (`src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-graph.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/models/audit-pack.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/diff-table/models/diff-table.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/models/explainer.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/node-diff-table/models/diff-table.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/pinned-explanation/models/pinned.models.ts`
|
||||
- **Source**: SPRINT_20251228_008_FE_sbom_lineage_graph_ii.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/lineage`
|
||||
- [ ] 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)
|
||||
@@ -1,57 +0,0 @@
|
||||
# Lineage UI API Wiring with Angular Signals
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Frontend API client wiring for SBOM lineage graph with Angular signals-based state management. Connects graph visualization, diff/compare panels, and hover card overlays to the backend LineageGraphService API, including Valkey cache integration for compare operations.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/lineage/`
|
||||
- **Routes**: `lineage.routes.ts`
|
||||
- **Components**:
|
||||
- `attestation-links` (`src/Web/StellaOps.Web/src/app/features/lineage/components/attestation-links/attestation-links.component.ts`)
|
||||
- `audit-pack-export` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/audit-pack-export.component.ts`)
|
||||
- `export-options` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/export-options/export-options.component.ts`)
|
||||
- `merkle-display` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/merkle-display/merkle-display.component.ts`)
|
||||
- `signing-options` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/signing-options/signing-options.component.ts`)
|
||||
- `cgs-badge` (`src/Web/StellaOps.Web/src/app/features/lineage/components/cgs-badge/cgs-badge.component.ts`)
|
||||
- `compare-panel` (`src/Web/StellaOps.Web/src/app/features/lineage/components/compare-panel/compare-panel.component.ts`)
|
||||
- `diff-table` (`src/Web/StellaOps.Web/src/app/features/lineage/components/diff-table/diff-table.component.ts`)
|
||||
- `explainer-step` (`src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/explainer-step/explainer-step.component.ts`)
|
||||
- `explainer-timeline` (`src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/explainer-timeline.component.ts`)
|
||||
- `export-dialog` (`src/Web/StellaOps.Web/src/app/features/lineage/components/export-dialog/export-dialog.component.ts`)
|
||||
- `keyboard-shortcuts-help` (`src/Web/StellaOps.Web/src/app/features/lineage/components/keyboard-shortcuts-help/keyboard-shortcuts-help.component.ts`)
|
||||
- `lineage-compare-panel` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-compare-panel/lineage-compare-panel.component.ts`)
|
||||
- `lineage-compare` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-compare/lineage-compare.component.ts`)
|
||||
- `lineage-component-diff` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-component-diff/lineage-component-diff.component.ts`)
|
||||
- ... and 32 more components
|
||||
- **Services**:
|
||||
- `audit-pack` (`src/Web/StellaOps.Web/src/app/features/lineage/services/audit-pack.service.ts`)
|
||||
- `explainer` (`src/Web/StellaOps.Web/src/app/features/lineage/services/explainer.service.ts`)
|
||||
- `lineage-export` (`src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-export.service.ts`)
|
||||
- `lineage-graph` (`src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-graph.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/models/audit-pack.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/diff-table/models/diff-table.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/models/explainer.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/node-diff-table/models/diff-table.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/pinned-explanation/models/pinned.models.ts`
|
||||
- **Source**: SPRINT_20251229_005_FE_lineage_ui_wiring.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/lineage`
|
||||
- [ ] 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)
|
||||
@@ -1,31 +0,0 @@
|
||||
# Mermaid.js and GraphViz Diagram Renderers
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Reusable diagram rendering components - Mermaid.js renderer for flowcharts/sequence diagrams with theme support, and GraphViz DOT renderer using WASM (@viz-js/viz) for graph visualizations with multiple engine support (dot, neato, fdp, etc.).
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/visualization/`
|
||||
- **Components**:
|
||||
- `graphviz-renderer` (`src/Web/StellaOps.Web/src/app/shared/components/visualization/graphviz-renderer.component.ts`)
|
||||
- `mermaid-renderer` (`src/Web/StellaOps.Web/src/app/shared/components/visualization/mermaid-renderer.component.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the visualization renders correctly with sample data
|
||||
- [ ] Verify interactive elements (hover tooltips, click-to-drill-down) work
|
||||
- [ ] Verify the visualization handles empty/minimal data gracefully
|
||||
- **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)
|
||||
@@ -1,31 +0,0 @@
|
||||
# Metrics Dashboard Component (Attestation Coverage, Approval Velocity, Gap Analysis)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Angular standalone component providing a dashboard view of attestation coverage metrics, approval velocity trends, and evidence gap analysis. Visualizes operational health of the attestation pipeline.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/analytics/`
|
||||
- **Routes**: `analytics.routes.ts`
|
||||
- **Components**:
|
||||
- `sbom-lake-page` (`src/Web/StellaOps.Web/src/app/features/analytics/sbom-lake-page.component.ts`)
|
||||
- **Source**: batch_02/file_00.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/analytics`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the dashboard loads without errors and displays summary cards/metrics
|
||||
- [ ] Verify data refreshes correctly and loading states are shown
|
||||
- [ ] Verify empty state is displayed when no data is available
|
||||
- **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)
|
||||
@@ -1,28 +0,0 @@
|
||||
# MI1 - Motion Tokens Catalogue (Durations, Easings, Distance Scales)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Complete motion token catalogue implemented in both SCSS custom properties and TypeScript with exact durations (80-320ms), easing curves, translate/scale values, and a Storybook story page for visual verification.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/styles/`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] 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)
|
||||
@@ -1,28 +0,0 @@
|
||||
# MI2 - Reduced-Motion Rules
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Comprehensive reduced-motion support via both CSS `prefers-reduced-motion` media query and `data-reduce-motion` attribute. Durations clamp to 0ms, parallax/auto-animations disabled, focus/hover states preserved.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/styles/`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] 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)
|
||||
@@ -1,47 +0,0 @@
|
||||
# MI3 - Latency/Idle/Load Patterns (Skeletons, Progress, Offline Banners)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Skeleton loading placeholders with multiple variants, offline banner with retry button and connection status, and offline mode service for detecting/managing connectivity state.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/core/`
|
||||
- **Components**:
|
||||
- `extension-slot` (`src/Web/StellaOps.Web/src/app/core/plugins/extension-slots/extension-slot.component.ts`)
|
||||
- **Services**:
|
||||
- `evidence-panel-metrics` (`src/Web/StellaOps.Web/src/app/core/analytics/evidence-panel-metrics.service.ts`)
|
||||
- `gateway-metrics` (`src/Web/StellaOps.Web/src/app/core/api/gateway-metrics.service.ts`)
|
||||
- `policy-interop` (`src/Web/StellaOps.Web/src/app/core/api/policy-interop.service.ts`)
|
||||
- `reachability-integration` (`src/Web/StellaOps.Web/src/app/core/api/reachability-integration.service.ts`)
|
||||
- `vuln-export-orchestrator` (`src/Web/StellaOps.Web/src/app/core/api/vuln-export-orchestrator.service.ts`)
|
||||
- `abac` (`src/Web/StellaOps.Web/src/app/core/auth/abac.service.ts`)
|
||||
- `auth-storage` (`src/Web/StellaOps.Web/src/app/core/auth/auth-storage.service.ts`)
|
||||
- `auth` (`src/Web/StellaOps.Web/src/app/core/auth/auth.service.ts`)
|
||||
- `authority-auth` (`src/Web/StellaOps.Web/src/app/core/auth/authority-auth.service.ts`)
|
||||
- `dpop` (`src/Web/StellaOps.Web/src/app/core/auth/dpop/dpop.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/core/api/advisories.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/core/api/advisory-ai.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/core/api/ai-runs.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/core/api/analytics.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/core/api/aoc.models.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] 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)
|
||||
@@ -1,30 +0,0 @@
|
||||
# MI9 - Micro-Copy Localisation (i18n Keys and ICU Messages)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Full micro-interaction localisation file with EN defaults covering all interaction states (loading/skeleton/progress, error types, offline banners, toast/undo, actions, validation, accessibility labels, motion preferences). i18n service exists for key resolution.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/core/i18n/`
|
||||
- **Services**:
|
||||
- `i18n` (`src/Web/StellaOps.Web/src/app/core/i18n/i18n.service.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] 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)
|
||||
@@ -1,28 +0,0 @@
|
||||
# Motion and Animation Tokens (Duration, Easing, Reduced-Motion)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Motion token system in SCSS and TypeScript with duration scales (xs through xl), easing functions, and reduced-motion overrides. Storybook stories for visual documentation.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/styles/`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] 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)
|
||||
@@ -1,50 +0,0 @@
|
||||
# Node Diff Table Component (Tabular SBOM Change Comparison)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Tabular component-change diff view with filter chips (added/removed/modified/unchanged), debounced search, multi-column sorting, row selection with bulk actions, pagination, and CSV export capability for SBOM lineage comparison.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/compare/`
|
||||
- **Components**:
|
||||
- `actionables-panel` (`src/Web/StellaOps.Web/src/app/features/compare/components/actionables-panel/actionables-panel.component.ts`)
|
||||
- `baseline-rationale` (`src/Web/StellaOps.Web/src/app/features/compare/components/baseline-rationale/baseline-rationale.component.ts`)
|
||||
- `baseline-selector` (`src/Web/StellaOps.Web/src/app/features/compare/components/baseline-selector.component.ts`)
|
||||
- `categories-pane` (`src/Web/StellaOps.Web/src/app/features/compare/components/categories-pane.component.ts`)
|
||||
- `compare-view` (`src/Web/StellaOps.Web/src/app/features/compare/components/compare-view.component.ts`)
|
||||
- `compare-view` (`src/Web/StellaOps.Web/src/app/features/compare/components/compare-view/compare-view.component.ts`)
|
||||
- `degraded-mode-banner` (`src/Web/StellaOps.Web/src/app/features/compare/components/degraded-mode-banner/degraded-mode-banner.component.ts`)
|
||||
- `delta-summary-strip` (`src/Web/StellaOps.Web/src/app/features/compare/components/delta-summary-strip.component.ts`)
|
||||
- `envelope-hashes` (`src/Web/StellaOps.Web/src/app/features/compare/components/envelope-hashes/envelope-hashes.component.ts`)
|
||||
- `export-actions` (`src/Web/StellaOps.Web/src/app/features/compare/components/export-actions/export-actions.component.ts`)
|
||||
- `graph-mini-map` (`src/Web/StellaOps.Web/src/app/features/compare/components/graph-mini-map/graph-mini-map.component.ts`)
|
||||
- `items-pane` (`src/Web/StellaOps.Web/src/app/features/compare/components/items-pane.component.ts`)
|
||||
- `proof-pane` (`src/Web/StellaOps.Web/src/app/features/compare/components/proof-pane.component.ts`)
|
||||
- `three-pane-layout` (`src/Web/StellaOps.Web/src/app/features/compare/components/three-pane-layout.component.ts`)
|
||||
- `trust-indicators` (`src/Web/StellaOps.Web/src/app/features/compare/components/trust-indicators.component.ts`)
|
||||
- ... and 3 more components
|
||||
- **Services**:
|
||||
- `compare-export` (`src/Web/StellaOps.Web/src/app/features/compare/services/compare-export.service.ts`)
|
||||
- `compare` (`src/Web/StellaOps.Web/src/app/features/compare/services/compare.service.ts`)
|
||||
- `delta-compute` (`src/Web/StellaOps.Web/src/app/features/compare/services/delta-compute.service.ts`)
|
||||
- `user-preferences` (`src/Web/StellaOps.Web/src/app/features/compare/services/user-preferences.service.ts`)
|
||||
- **Source**: SPRINT_20251229_001_006_FE_node_diff_table.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/compare/:currentId`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify side-by-side comparison view renders correctly with two versions
|
||||
- [ ] Verify additions, removals, and changes are visually highlighted
|
||||
- [ ] Verify diff data matches the expected delta between versions
|
||||
- **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)
|
||||
@@ -1,45 +0,0 @@
|
||||
# Notification Rule Simulation & Escalation Policies
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Notification rule management with test simulation before activation, escalation policies with multi-level chains, quiet hours configuration, channel management, and delivery history with retry tracking.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/admin-notifications/`
|
||||
- **Routes**: `admin-notifications.routes.ts`
|
||||
- **Components**:
|
||||
- `admin-notifications` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/admin-notifications.component.ts`)
|
||||
- `channel-management` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/channel-management.component.ts`)
|
||||
- `delivery-analytics` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/delivery-analytics.component.ts`)
|
||||
- `delivery-history` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/delivery-history.component.ts`)
|
||||
- `escalation-config` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/escalation-config.component.ts`)
|
||||
- `notification-dashboard` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/notification-dashboard.component.ts`)
|
||||
- `notification-preview` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/notification-preview.component.ts`)
|
||||
- `notification-rule-editor` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/notification-rule-editor.component.ts`)
|
||||
- `notification-rule-list` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/notification-rule-list.component.ts`)
|
||||
- `operator-override-management` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/operator-override-management.component.ts`)
|
||||
- `operator-override` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/operator-override.component.ts`)
|
||||
- `quiet-hours-config` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/quiet-hours-config.component.ts`)
|
||||
- `rule-simulator` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/rule-simulator.component.ts`)
|
||||
- `template-editor` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/template-editor.component.ts`)
|
||||
- `throttle-config` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/throttle-config.component.ts`)
|
||||
- **Source**: SPRINT_20251229_045_FE_notification_delivery_audit
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/admin/notifications`
|
||||
- [ ] 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)
|
||||
@@ -1,35 +0,0 @@
|
||||
# Offline Kit UI Integration
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Offline Kit UI with OfflineModeService, ManifestValidator, BundleFreshness widget, ReadOnlyGuard, and offline verification workflow for air-gapped environments.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/offline-kit/`
|
||||
- **Routes**: `offline-kit.routes.ts`
|
||||
- **Components**:
|
||||
- `bundle-management` (`src/Web/StellaOps.Web/src/app/features/offline-kit/components/bundle-management.component.ts`)
|
||||
- `jwks-management` (`src/Web/StellaOps.Web/src/app/features/offline-kit/components/jwks-management.component.ts`)
|
||||
- `offline-dashboard` (`src/Web/StellaOps.Web/src/app/features/offline-kit/components/offline-dashboard.component.ts`)
|
||||
- `verification-center` (`src/Web/StellaOps.Web/src/app/features/offline-kit/components/verification-center.component.ts`)
|
||||
- `offline-kit` (`src/Web/StellaOps.Web/src/app/features/offline-kit/offline-kit.component.ts`)
|
||||
- **Source**: SPRINT_20251229_026_PLATFORM_offline_kit_integration
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/ops/offline-kit`
|
||||
- [ ] 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)
|
||||
@@ -1,35 +0,0 @@
|
||||
# Operator/Auditor mode toggle
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
View mode service, toggle component, and operator-only/auditor-only directives implement two-mode UI with different default levels of detail.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/workspaces/shared/`
|
||||
- **Components**:
|
||||
- `workspace-nav-dropdown` (`src/Web/StellaOps.Web/src/app/features/workspaces/shared/components/workspace-nav-dropdown/workspace-nav-dropdown.component.ts`)
|
||||
- `workspace-toggle` (`src/Web/StellaOps.Web/src/app/features/workspaces/shared/components/workspace-toggle/workspace-toggle.component.ts`)
|
||||
- **Services**:
|
||||
- `workspace-preferences` (`src/Web/StellaOps.Web/src/app/features/workspaces/shared/services/workspace-preferences.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/workspaces/shared/models/workspace-preferences.models.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] 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)
|
||||
@@ -1,37 +0,0 @@
|
||||
# Operator Quota Dashboard
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Operator quota dashboard with KPI summary, tenant drill-down, throttle context panel, quota forecasting, and alert configuration.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/quota-dashboard/`
|
||||
- **Routes**: `quota.routes.ts`
|
||||
- **Components**:
|
||||
- `quota-alert-config` (`src/Web/StellaOps.Web/src/app/features/quota-dashboard/quota-alert-config.component.ts`)
|
||||
- `quota-dashboard` (`src/Web/StellaOps.Web/src/app/features/quota-dashboard/quota-dashboard.component.ts`)
|
||||
- `quota-forecast` (`src/Web/StellaOps.Web/src/app/features/quota-dashboard/quota-forecast.component.ts`)
|
||||
- `quota-report-export` (`src/Web/StellaOps.Web/src/app/features/quota-dashboard/quota-report-export.component.ts`)
|
||||
- `tenant-quota-detail` (`src/Web/StellaOps.Web/src/app/features/quota-dashboard/tenant-quota-detail.component.ts`)
|
||||
- `tenant-quota-table` (`src/Web/StellaOps.Web/src/app/features/quota-dashboard/tenant-quota-table.component.ts`)
|
||||
- `throttle-context` (`src/Web/StellaOps.Web/src/app/features/quota-dashboard/throttle-context.component.ts`)
|
||||
- **Source**: SPRINT_20251229_029_FE_operator_quota_dashboard
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/ops/quotas`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the dashboard loads without errors and displays summary cards/metrics
|
||||
- [ ] Verify data refreshes correctly and loading states are shown
|
||||
- [ ] Verify empty state is displayed when no data is available
|
||||
- **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)
|
||||
@@ -1,30 +0,0 @@
|
||||
# Overlay Host Component
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Centralized overlay/drawer management system with signal-based store for coordinating slide-in panels, modals, and drawers across the application.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/layout/overlay-host/`
|
||||
- **Components**:
|
||||
- `overlay-host` (`src/Web/StellaOps.Web/src/app/layout/overlay-host/overlay-host.component.ts`)
|
||||
- **Source**: SPRINT_20260118_001_FE_shell_navigation_redesign.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] 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)
|
||||
@@ -1,31 +0,0 @@
|
||||
# Patch Map Explorer (Heatmap UI)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Interactive CSS Grid heatmap showing vendor backport patch coverage across fleet with drill-down to function-level breakdown and paginated affected images. Three API endpoints: aggregated coverage, function-level details, and matching images.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/binary-index/`
|
||||
- **Components**:
|
||||
- `binary-index-ops` (`src/Web/StellaOps.Web/src/app/features/binary-index/binary-index-ops.component.ts`)
|
||||
- `patch-map` (`src/Web/StellaOps.Web/src/app/features/binary-index/patch-map.component.ts`)
|
||||
- **Source**: SPRINT_20260103_001_FE_preset_pills_patch_map.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/analyze/patch-map`
|
||||
- [ ] 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)
|
||||
@@ -1,57 +0,0 @@
|
||||
# Pinned Explanations Panel (Copy-Safe Ticket Creation)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Floating panel for pinning AI explanations and evidence summaries with multi-format export (Markdown, Plain Text, JSON, HTML, Jira). Supports session persistence, drag reordering, and one-click copy-to-clipboard for creating evidence-backed tickets in external issue trackers.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/lineage/`
|
||||
- **Routes**: `lineage.routes.ts`
|
||||
- **Components**:
|
||||
- `attestation-links` (`src/Web/StellaOps.Web/src/app/features/lineage/components/attestation-links/attestation-links.component.ts`)
|
||||
- `audit-pack-export` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/audit-pack-export.component.ts`)
|
||||
- `export-options` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/export-options/export-options.component.ts`)
|
||||
- `merkle-display` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/merkle-display/merkle-display.component.ts`)
|
||||
- `signing-options` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/signing-options/signing-options.component.ts`)
|
||||
- `cgs-badge` (`src/Web/StellaOps.Web/src/app/features/lineage/components/cgs-badge/cgs-badge.component.ts`)
|
||||
- `compare-panel` (`src/Web/StellaOps.Web/src/app/features/lineage/components/compare-panel/compare-panel.component.ts`)
|
||||
- `diff-table` (`src/Web/StellaOps.Web/src/app/features/lineage/components/diff-table/diff-table.component.ts`)
|
||||
- `explainer-step` (`src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/explainer-step/explainer-step.component.ts`)
|
||||
- `explainer-timeline` (`src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/explainer-timeline.component.ts`)
|
||||
- `export-dialog` (`src/Web/StellaOps.Web/src/app/features/lineage/components/export-dialog/export-dialog.component.ts`)
|
||||
- `keyboard-shortcuts-help` (`src/Web/StellaOps.Web/src/app/features/lineage/components/keyboard-shortcuts-help/keyboard-shortcuts-help.component.ts`)
|
||||
- `lineage-compare-panel` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-compare-panel/lineage-compare-panel.component.ts`)
|
||||
- `lineage-compare` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-compare/lineage-compare.component.ts`)
|
||||
- `lineage-component-diff` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-component-diff/lineage-component-diff.component.ts`)
|
||||
- ... and 32 more components
|
||||
- **Services**:
|
||||
- `audit-pack` (`src/Web/StellaOps.Web/src/app/features/lineage/services/audit-pack.service.ts`)
|
||||
- `explainer` (`src/Web/StellaOps.Web/src/app/features/lineage/services/explainer.service.ts`)
|
||||
- `lineage-export` (`src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-export.service.ts`)
|
||||
- `lineage-graph` (`src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-graph.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/models/audit-pack.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/diff-table/models/diff-table.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/models/explainer.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/node-diff-table/models/diff-table.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/pinned-explanation/models/pinned.models.ts`
|
||||
- **Source**: SPRINT_20251229_001_007_FE_pinned_explanations.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/lineage`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the panel/drawer opens on trigger (click, keyboard shortcut)
|
||||
- [ ] Verify the panel displays the correct detail data for the selected item
|
||||
- [ ] Verify the panel can be closed (X button, Escape key, backdrop click)
|
||||
- **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)
|
||||
@@ -1,33 +0,0 @@
|
||||
# Platform Health Dashboard
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Platform health dashboard showing service health grid for 13 services, dependency graph visualization, incident timeline with auto-root-cause suggestions, and aggregate metrics.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/platform-health/`
|
||||
- **Routes**: `platform-health.routes.ts`
|
||||
- **Components**:
|
||||
- `incident-timeline` (`src/Web/StellaOps.Web/src/app/features/platform-health/incident-timeline.component.ts`)
|
||||
- `platform-health-dashboard` (`src/Web/StellaOps.Web/src/app/features/platform-health/platform-health-dashboard.component.ts`)
|
||||
- `service-detail` (`src/Web/StellaOps.Web/src/app/features/platform-health/service-detail.component.ts`)
|
||||
- **Source**: SPRINT_20251229_032_FE_platform_health_dashboard
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/ops/health`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the dashboard loads without errors and displays summary cards/metrics
|
||||
- [ ] Verify data refreshes correctly and loading states are shown
|
||||
- [ ] Verify empty state is displayed when no data is available
|
||||
- **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)
|
||||
@@ -1,34 +0,0 @@
|
||||
# Playbook Suggestion Service (OpsMemory Integration)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Frontend service for fetching contextual playbook suggestions from OpsMemory API. Queries by CVE ID, severity, reachability status, component type, and context tags. Includes 5-minute response caching, retry logic for transient errors, and an evidence card component for displaying playbook-linked evidence.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/opsmemory/`
|
||||
- **Components**:
|
||||
- `evidence-card` (`src/Web/StellaOps.Web/src/app/features/opsmemory/components/evidence-card/evidence-card.component.ts`)
|
||||
- **Services**:
|
||||
- `playbook-suggestion` (`src/Web/StellaOps.Web/src/app/features/opsmemory/services/playbook-suggestion.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/opsmemory/models/playbook.models.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] 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)
|
||||
@@ -1,30 +0,0 @@
|
||||
# Policy Breadcrumb UI Component
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Angular component that visualizes the policy evaluation chain as an interactive breadcrumb trail, showing which policy rules fired, their order, and individual pass/fail status. Provides drill-down from verdict summary to specific rule decisions.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/verdicts/components/policy-breadcrumb/`
|
||||
- **Components**:
|
||||
- `policy-breadcrumb` (`src/Web/StellaOps.Web/src/app/features/verdicts/components/policy-breadcrumb/policy-breadcrumb.component.ts`)
|
||||
- **Source**: SPRINT_1227_0014_0002_FE_verdict_ui.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] 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)
|
||||
@@ -1,36 +0,0 @@
|
||||
# Policy Gates Preview with Air-Gap Mode and Feed Freshness
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Policy gates preview panel with air-gap mode toggle (sealed/connected with offline verification status), feed freshness status badges (fresh/warning/stale counts), bundle simulation for promotions, gate simulation results display, and policy profile selection.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/policy-gates/`
|
||||
- **Routes**: `policy-gates.routes.ts`
|
||||
- **Components**:
|
||||
- `airgap-mode-switch` (`src/Web/StellaOps.Web/src/app/features/policy-gates/components/airgap-mode-switch/airgap-mode-switch.component.ts`)
|
||||
- `bundle-simulator` (`src/Web/StellaOps.Web/src/app/features/policy-gates/components/bundle-simulator/bundle-simulator.component.ts`)
|
||||
- `feed-freshness-badges` (`src/Web/StellaOps.Web/src/app/features/policy-gates/components/feed-freshness-badges/feed-freshness-badges.component.ts`)
|
||||
- `gate-simulation-results` (`src/Web/StellaOps.Web/src/app/features/policy-gates/components/gate-simulation-results/gate-simulation-results.component.ts`)
|
||||
- `policy-preview-panel` (`src/Web/StellaOps.Web/src/app/features/policy-gates/components/policy-preview-panel/policy-preview-panel.component.ts`)
|
||||
- `profile-selector` (`src/Web/StellaOps.Web/src/app/features/policy-gates/components/profile-selector/profile-selector.component.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/policy`
|
||||
- [ ] 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)
|
||||
@@ -1,46 +0,0 @@
|
||||
# Policy Governance Controls UI
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Policy governance controls with risk budget dashboard, trust weighting with impact preview, risk profiles CRUD, sealed mode toggle, and policy conflict dashboard with resolution wizard.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/policy-governance/`
|
||||
- **Routes**: `policy-governance.routes.ts`
|
||||
- **Components**:
|
||||
- `conflict-resolution-wizard` (`src/Web/StellaOps.Web/src/app/features/policy-governance/conflict-resolution-wizard.component.ts`)
|
||||
- `governance-audit` (`src/Web/StellaOps.Web/src/app/features/policy-governance/governance-audit.component.ts`)
|
||||
- `impact-preview` (`src/Web/StellaOps.Web/src/app/features/policy-governance/impact-preview.component.ts`)
|
||||
- `policy-conflict-dashboard` (`src/Web/StellaOps.Web/src/app/features/policy-governance/policy-conflict-dashboard.component.ts`)
|
||||
- `policy-governance` (`src/Web/StellaOps.Web/src/app/features/policy-governance/policy-governance.component.ts`)
|
||||
- `policy-validator` (`src/Web/StellaOps.Web/src/app/features/policy-governance/policy-validator.component.ts`)
|
||||
- `risk-budget-config` (`src/Web/StellaOps.Web/src/app/features/policy-governance/risk-budget-config.component.ts`)
|
||||
- `risk-budget-dashboard` (`src/Web/StellaOps.Web/src/app/features/policy-governance/risk-budget-dashboard.component.ts`)
|
||||
- `risk-profile-editor` (`src/Web/StellaOps.Web/src/app/features/policy-governance/risk-profile-editor.component.ts`)
|
||||
- `risk-profile-list` (`src/Web/StellaOps.Web/src/app/features/policy-governance/risk-profile-list.component.ts`)
|
||||
- `schema-docs` (`src/Web/StellaOps.Web/src/app/features/policy-governance/schema-docs.component.ts`)
|
||||
- `schema-playground` (`src/Web/StellaOps.Web/src/app/features/policy-governance/schema-playground.component.ts`)
|
||||
- `sealed-mode-control` (`src/Web/StellaOps.Web/src/app/features/policy-governance/sealed-mode-control.component.ts`)
|
||||
- `sealed-mode-overrides` (`src/Web/StellaOps.Web/src/app/features/policy-governance/sealed-mode-overrides.component.ts`)
|
||||
- `staleness-config` (`src/Web/StellaOps.Web/src/app/features/policy-governance/staleness-config.component.ts`)
|
||||
- ... and 1 more components
|
||||
- **Source**: SPRINT_20251229_047_FE_policy_governance_controls
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/admin/policy/governance`
|
||||
- [ ] 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)
|
||||
@@ -1,47 +0,0 @@
|
||||
# Policy Studio UI (Monaco Editor, Simulation, Approvals)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Full Policy Studio authoring environment with Monaco-based DSL editor (stella-dsl@1 syntax highlighting, IntelliSense), policy simulation panel with deterministic diff rendering, guided rule builder, YAML editor with schema validation, submit/review/approve workflow with two-person approval, run viewer dashboards, and explain view with evidence overlay exports.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/policy-studio/`
|
||||
- **Components**:
|
||||
- `conflict-visualizer` (`src/Web/StellaOps.Web/src/app/features/policy-studio/ai/conflict-visualizer.component.ts`)
|
||||
- `live-rule-preview` (`src/Web/StellaOps.Web/src/app/features/policy-studio/ai/live-rule-preview.component.ts`)
|
||||
- `test-case-panel` (`src/Web/StellaOps.Web/src/app/features/policy-studio/ai/test-case-panel.component.ts`)
|
||||
- `version-history` (`src/Web/StellaOps.Web/src/app/features/policy-studio/ai/version-history.component.ts`)
|
||||
- `policy-approvals` (`src/Web/StellaOps.Web/src/app/features/policy-studio/approvals/policy-approvals.component.ts`)
|
||||
- `policy-dashboard` (`src/Web/StellaOps.Web/src/app/features/policy-studio/dashboard/policy-dashboard.component.ts`)
|
||||
- `policy-editor` (`src/Web/StellaOps.Web/src/app/features/policy-studio/editor/policy-editor.component.ts`)
|
||||
- `policy-explain` (`src/Web/StellaOps.Web/src/app/features/policy-studio/explain/policy-explain.component.ts`)
|
||||
- `policy-nl-input` (`src/Web/StellaOps.Web/src/app/features/policy-studio/nl-input/policy-nl-input.component.ts`)
|
||||
- `policy-rule-builder` (`src/Web/StellaOps.Web/src/app/features/policy-studio/rule-builder/policy-rule-builder.component.ts`)
|
||||
- `policy-simulation` (`src/Web/StellaOps.Web/src/app/features/policy-studio/simulation/policy-simulation.component.ts`)
|
||||
- `policy-workspace` (`src/Web/StellaOps.Web/src/app/features/policy-studio/workspace/policy-workspace.component.ts`)
|
||||
- `policy-yaml-editor` (`src/Web/StellaOps.Web/src/app/features/policy-studio/yaml/policy-yaml-editor.component.ts`)
|
||||
- **Services**:
|
||||
- `monaco-loader` (`src/Web/StellaOps.Web/src/app/features/policy-studio/editor/monaco-loader.service.ts`)
|
||||
- `policy-api` (`src/Web/StellaOps.Web/src/app/features/policy-studio/services/policy-api.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/policy-studio/models/policy.models.ts`
|
||||
- **Source**: SPRINT_0210_0001_0002_ui_ii.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/policy-studio/packs`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the editor/studio loads with editable content or empty template
|
||||
- [ ] Verify changes can be saved and persisted
|
||||
- [ ] Verify validation errors are displayed for invalid input
|
||||
- **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)
|
||||
@@ -1,35 +0,0 @@
|
||||
# Promotion and Approval Queue UI
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Promotion request form with gate preview, approval queue with filtering, approval detail with gate results display, approve/reject with comments, and batch approval support.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/approvals/`
|
||||
- **Routes**: `approvals.routes.ts`
|
||||
- **Components**:
|
||||
- `approval-detail-page` (`src/Web/StellaOps.Web/src/app/features/approvals/approval-detail-page.component.ts`)
|
||||
- `approval-detail` (`src/Web/StellaOps.Web/src/app/features/approvals/approval-detail.component.ts`)
|
||||
- `approvals-inbox-page` (`src/Web/StellaOps.Web/src/app/features/approvals/approvals-inbox-page.component.ts`)
|
||||
- `approvals-inbox` (`src/Web/StellaOps.Web/src/app/features/approvals/approvals-inbox.component.ts`)
|
||||
- `request-exception-modal` (`src/Web/StellaOps.Web/src/app/features/approvals/modals/request-exception-modal.component.ts`)
|
||||
- **Source**: SPRINT_20260110_111_005_FE_promotion_approval_ui.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/approvals`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the list/table loads with paginated data
|
||||
- [ ] Verify sorting and filtering controls work correctly
|
||||
- [ ] Verify clicking a row navigates to the detail view
|
||||
- **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)
|
||||
@@ -1,36 +0,0 @@
|
||||
# Proof chain verification UI
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
13 Angular standalone components implement proof-driven UX with evidence chains, including tabbed panels, static evidence cards, and E2E tests.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/proof-chain/`
|
||||
- **Components**:
|
||||
- `proof-detail-panel` (`src/Web/StellaOps.Web/src/app/features/proof-chain/components/proof-detail-panel.component.ts`)
|
||||
- `verification-badge` (`src/Web/StellaOps.Web/src/app/features/proof-chain/components/verification-badge.component.ts`)
|
||||
- `proof-chain` (`src/Web/StellaOps.Web/src/app/features/proof-chain/proof-chain.component.ts`)
|
||||
- **Services**:
|
||||
- `proof-chain` (`src/Web/StellaOps.Web/src/app/features/proof-chain/proof-chain.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/proof-chain/proof-chain.models.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/proofs/:subjectDigest`
|
||||
- [ ] 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)
|
||||
@@ -1,36 +0,0 @@
|
||||
# Proof Graph UX (Unified Evidence View)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Evidence page, panel, and list components with analytics metrics for evidence panel interactions, integrated across triage, findings, SBOM, and release orchestrator views.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/proof-chain/`
|
||||
- **Components**:
|
||||
- `proof-detail-panel` (`src/Web/StellaOps.Web/src/app/features/proof-chain/components/proof-detail-panel.component.ts`)
|
||||
- `verification-badge` (`src/Web/StellaOps.Web/src/app/features/proof-chain/components/verification-badge.component.ts`)
|
||||
- `proof-chain` (`src/Web/StellaOps.Web/src/app/features/proof-chain/proof-chain.component.ts`)
|
||||
- **Services**:
|
||||
- `proof-chain` (`src/Web/StellaOps.Web/src/app/features/proof-chain/proof-chain.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/proof-chain/proof-chain.models.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/proofs/:subjectDigest`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the visualization renders correctly with sample data
|
||||
- [ ] Verify interactive elements (hover tooltips, click-to-drill-down) work
|
||||
- [ ] Verify the visualization handles empty/minimal data gracefully
|
||||
- **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)
|
||||
@@ -1,36 +0,0 @@
|
||||
# Proof Ledger View (Merkle Tree Scan History)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Interactive proof ledger displaying scan proof history with Merkle tree visualization, proof bundle download, and a Score Replay Dashboard for triggering and monitoring deterministic score replay operations with before/after comparison.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/proof-chain/`
|
||||
- **Components**:
|
||||
- `proof-detail-panel` (`src/Web/StellaOps.Web/src/app/features/proof-chain/components/proof-detail-panel.component.ts`)
|
||||
- `verification-badge` (`src/Web/StellaOps.Web/src/app/features/proof-chain/components/verification-badge.component.ts`)
|
||||
- `proof-chain` (`src/Web/StellaOps.Web/src/app/features/proof-chain/proof-chain.component.ts`)
|
||||
- **Services**:
|
||||
- `proof-chain` (`src/Web/StellaOps.Web/src/app/features/proof-chain/proof-chain.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/proof-chain/proof-chain.models.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/proofs/:subjectDigest`
|
||||
- [ ] 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)
|
||||
@@ -1,36 +0,0 @@
|
||||
# Proof-linked VEX UI (Evidence drawer, Proof Spine component)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Angular UI components for proof spine visualization (segments, badges, detail modal) and evidence drawer are implemented with e2e test coverage.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/proof-chain/`
|
||||
- **Components**:
|
||||
- `proof-detail-panel` (`src/Web/StellaOps.Web/src/app/features/proof-chain/components/proof-detail-panel.component.ts`)
|
||||
- `verification-badge` (`src/Web/StellaOps.Web/src/app/features/proof-chain/components/verification-badge.component.ts`)
|
||||
- `proof-chain` (`src/Web/StellaOps.Web/src/app/features/proof-chain/proof-chain.component.ts`)
|
||||
- **Services**:
|
||||
- `proof-chain` (`src/Web/StellaOps.Web/src/app/features/proof-chain/proof-chain.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/proof-chain/proof-chain.models.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/proofs/:subjectDigest`
|
||||
- [ ] 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)
|
||||
@@ -1,34 +0,0 @@
|
||||
# Proof Spine UI component (segmented visualization with badges)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Angular proof-spine component suite with segment visualization, badge rows, detail modals, and e2e tests.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/proof-spine/`
|
||||
- **Components**:
|
||||
- `chain-integrity-badge` (`src/Web/StellaOps.Web/src/app/shared/components/proof-spine/chain-integrity-badge.component.ts`)
|
||||
- `proof-badges-row` (`src/Web/StellaOps.Web/src/app/shared/components/proof-spine/proof-badges-row.component.ts`)
|
||||
- `proof-segment` (`src/Web/StellaOps.Web/src/app/shared/components/proof-spine/proof-segment.component.ts`)
|
||||
- `proof-spine` (`src/Web/StellaOps.Web/src/app/shared/components/proof-spine/proof-spine.component.ts`)
|
||||
- `segment-detail-modal` (`src/Web/StellaOps.Web/src/app/shared/components/proof-spine/segment-detail-modal.component.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] 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)
|
||||
@@ -1,37 +0,0 @@
|
||||
# Proof Studio with What-If Slider and Confidence Factors
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Interactive proof studio for exploring confidence scores with a "what-if" slider for simulating evidence changes, confidence breakdown visualization showing contributing factors as bar charts, and confidence factor chips for individual factor display.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/proof-studio/`
|
||||
- **Components**:
|
||||
- `confidence-breakdown` (`src/Web/StellaOps.Web/src/app/features/proof-studio/components/confidence-breakdown/confidence-breakdown.component.ts`)
|
||||
- `confidence-factor-chip` (`src/Web/StellaOps.Web/src/app/features/proof-studio/components/confidence-factor-chip/confidence-factor-chip.component.ts`)
|
||||
- `proof-studio-container` (`src/Web/StellaOps.Web/src/app/features/proof-studio/components/proof-studio-container/proof-studio-container.component.ts`)
|
||||
- `what-if-slider` (`src/Web/StellaOps.Web/src/app/features/proof-studio/components/what-if-slider/what-if-slider.component.ts`)
|
||||
- **Services**:
|
||||
- `proof-studio` (`src/Web/StellaOps.Web/src/app/features/proof-studio/services/proof-studio.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/proof-studio/models/proof-trace.model.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/proofs/:subjectDigest`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the editor/studio loads with editable content or empty template
|
||||
- [ ] Verify changes can be saved and persisted
|
||||
- [ ] Verify validation errors are displayed for invalid input
|
||||
- **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)
|
||||
@@ -1,30 +0,0 @@
|
||||
# Quick-Verify Drawer UI Component
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Slide-out drawer component for one-click verification of attestation chains, DSSE signatures, and Rekor inclusion proofs directly from any evidence chip or finding row.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/quick-verify-drawer/`
|
||||
- **Components**:
|
||||
- `quick-verify-drawer` (`src/Web/StellaOps.Web/src/app/shared/components/quick-verify-drawer/quick-verify-drawer.component.ts`)
|
||||
- **Source**: batch_38/file_13.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the panel/drawer opens on trigger (click, keyboard shortcut)
|
||||
- [ ] Verify the panel displays the correct detail data for the selected item
|
||||
- [ ] Verify the panel can be closed (X button, Escape key, backdrop click)
|
||||
- **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)
|
||||
@@ -1,34 +0,0 @@
|
||||
# Registry Admin UI
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Admin UI for registry token service plans with plan list, plan editor for repo scope and action rules, dry-run validation, publish actions, and audit log panel.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/registry-admin/`
|
||||
- **Routes**: `registry-admin.routes.ts`
|
||||
- **Components**:
|
||||
- `plan-audit` (`src/Web/StellaOps.Web/src/app/features/registry-admin/components/plan-audit.component.ts`)
|
||||
- `plan-editor` (`src/Web/StellaOps.Web/src/app/features/registry-admin/components/plan-editor.component.ts`)
|
||||
- `plan-list` (`src/Web/StellaOps.Web/src/app/features/registry-admin/components/plan-list.component.ts`)
|
||||
- `registry-admin` (`src/Web/StellaOps.Web/src/app/features/registry-admin/registry-admin.component.ts`)
|
||||
- **Source**: SPRINT_20251229_023_FE_registry_admin_ui
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/admin/registries`
|
||||
- [ ] 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)
|
||||
@@ -1,36 +0,0 @@
|
||||
# Release-Aware Security Findings
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Security findings list with release context showing which release each finding impacts, with delta indicators showing new/resolved findings between releases.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/findings/`
|
||||
- **Components**:
|
||||
- `ai-chip-row` (`src/Web/StellaOps.Web/src/app/features/findings/ai-chip-row.component.ts`)
|
||||
- `bulk-triage-view` (`src/Web/StellaOps.Web/src/app/features/findings/bulk-triage-view.component.ts`)
|
||||
- `findings-container` (`src/Web/StellaOps.Web/src/app/features/findings/container/findings-container.component.ts`)
|
||||
- `evidence-panel` (`src/Web/StellaOps.Web/src/app/features/findings/detail/evidence-panel.component.ts`)
|
||||
- `finding-detail-layout` (`src/Web/StellaOps.Web/src/app/features/findings/detail/finding-detail-layout.component.ts`)
|
||||
- `verdict-panel` (`src/Web/StellaOps.Web/src/app/features/findings/detail/verdict-panel.component.ts`)
|
||||
- `findings-list` (`src/Web/StellaOps.Web/src/app/features/findings/findings-list.component.ts`)
|
||||
- **Source**: SPRINT_20260118_007_FE_security_consolidation.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/findings`
|
||||
- [ ] 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)
|
||||
@@ -1,35 +0,0 @@
|
||||
# Release Management UI (Catalog, Detail, Creation Wizard)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Release catalog with filtering/search, release detail view, and multi-step release creation wizard with component selector and bundle comparison.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/releases/`
|
||||
- **Routes**: `releases.routes.ts`
|
||||
- **Components**:
|
||||
- `policy-gate-indicator` (`src/Web/StellaOps.Web/src/app/features/releases/policy-gate-indicator.component.ts`)
|
||||
- `release-detail-page` (`src/Web/StellaOps.Web/src/app/features/releases/release-detail-page.component.ts`)
|
||||
- `release-flow` (`src/Web/StellaOps.Web/src/app/features/releases/release-flow.component.ts`)
|
||||
- `releases-list-page` (`src/Web/StellaOps.Web/src/app/features/releases/releases-list-page.component.ts`)
|
||||
- `remediation-hints` (`src/Web/StellaOps.Web/src/app/features/releases/remediation-hints.component.ts`)
|
||||
- **Source**: SPRINT_20260110_111_003_FE_release_management_ui.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/release-orchestrator`
|
||||
- [ ] 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)
|
||||
@@ -1,46 +0,0 @@
|
||||
# Release Orchestrator Dashboard UI
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Full dashboard UI for Release Orchestrator showing pipeline overview, pending approvals, active deployments, and recent releases with real-time SignalR updates.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/release-orchestrator/`
|
||||
- **Routes**: `approvals.routes.ts`, `dashboard.routes.ts`, `deployments.routes.ts`, `environments.routes.ts`, `evidence.routes.ts`, `releases.routes.ts`, `workflows.routes.ts`
|
||||
- **Components**:
|
||||
- `approval-detail` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/approvals/approval-detail/approval-detail.component.ts`)
|
||||
- `approval-queue` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/approvals/approval-queue/approval-queue.component.ts`)
|
||||
- `promotion-request` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/approvals/promotion-request/promotion-request.component.ts`)
|
||||
- `active-deployments` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/dashboard/components/active-deployments/active-deployments.component.ts`)
|
||||
- `pending-approvals` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/dashboard/components/pending-approvals/pending-approvals.component.ts`)
|
||||
- `pipeline-overview` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/dashboard/components/pipeline-overview/pipeline-overview.component.ts`)
|
||||
- `recent-releases` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/dashboard/components/recent-releases/recent-releases.component.ts`)
|
||||
- `dashboard` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/dashboard/dashboard.component.ts`)
|
||||
- `deployment-list` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/deployments/deployment-list/deployment-list.component.ts`)
|
||||
- `deployment-monitor` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/deployments/deployment-monitor/deployment-monitor.component.ts`)
|
||||
- `environment-settings` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/environments/components/environment-settings/environment-settings.component.ts`)
|
||||
- `freeze-window-editor` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/environments/components/freeze-window-editor/freeze-window-editor.component.ts`)
|
||||
- `target-list` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/environments/components/target-list/target-list.component.ts`)
|
||||
- `environment-detail` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/environments/environment-detail/environment-detail.component.ts`)
|
||||
- `environment-list` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/environments/environment-list/environment-list.component.ts`)
|
||||
- ... and 7 more components
|
||||
- **Source**: SPRINT_20260110_111_001_FE_dashboard_overview.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/release-orchestrator`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the dashboard loads without errors and displays summary cards/metrics
|
||||
- [ ] Verify data refreshes correctly and loading states are shown
|
||||
- [ ] Verify empty state is displayed when no data is available
|
||||
- **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)
|
||||
@@ -1,35 +0,0 @@
|
||||
# Releases List and Detail Pages (7-Tab Detail)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Full releases feature with filterable list view and detail page with 7 tabs (Overview, Components, Gates, Promotions, Deployments, Evidence, Proof Chain) using signal-based state management.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/releases/`
|
||||
- **Routes**: `releases.routes.ts`
|
||||
- **Components**:
|
||||
- `policy-gate-indicator` (`src/Web/StellaOps.Web/src/app/features/releases/policy-gate-indicator.component.ts`)
|
||||
- `release-detail-page` (`src/Web/StellaOps.Web/src/app/features/releases/release-detail-page.component.ts`)
|
||||
- `release-flow` (`src/Web/StellaOps.Web/src/app/features/releases/release-flow.component.ts`)
|
||||
- `releases-list-page` (`src/Web/StellaOps.Web/src/app/features/releases/releases-list-page.component.ts`)
|
||||
- `remediation-hints` (`src/Web/StellaOps.Web/src/app/features/releases/remediation-hints.component.ts`)
|
||||
- **Source**: SPRINT_20260118_004_FE_releases_feature.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/release-orchestrator`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the list/table loads with paginated data
|
||||
- [ ] Verify sorting and filtering controls work correctly
|
||||
- [ ] Verify clicking a row navigates to the detail view
|
||||
- **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)
|
||||
@@ -1,62 +0,0 @@
|
||||
# Remediation PR UI Wiring (Open PR from AI Remediate Panel)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
UI wiring allowing users to open remediation pull requests directly from the AI Remediate panel in the VEX Hub, with a dedicated settings component for configuring SCM integration (repo URL, branch prefix, reviewer groups).
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/triage/`
|
||||
- **Components**:
|
||||
- `ai-code-guard-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/ai-code-guard-badge/ai-code-guard-badge.component.ts`)
|
||||
- `ai-recommendation-panel` (`src/Web/StellaOps.Web/src/app/features/triage/components/ai-recommendation-panel/ai-recommendation-panel.component.ts`)
|
||||
- `attestation-viewer` (`src/Web/StellaOps.Web/src/app/features/triage/components/attestation-viewer/attestation-viewer.component.ts`)
|
||||
- `bulk-action-modal` (`src/Web/StellaOps.Web/src/app/features/triage/components/bulk-action-modal/bulk-action-modal.component.ts`)
|
||||
- `case-header` (`src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.ts`)
|
||||
- `decision-drawer-enhanced` (`src/Web/StellaOps.Web/src/app/features/triage/components/decision-drawer/decision-drawer-enhanced.component.ts`)
|
||||
- `decision-drawer` (`src/Web/StellaOps.Web/src/app/features/triage/components/decision-drawer/decision-drawer.component.ts`)
|
||||
- `attestation-chain` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/attestation-chain.component.ts`)
|
||||
- `backport-verdict-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/backport-verdict-badge.component.ts`)
|
||||
- `binary-diff-tab` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/binary-diff-tab.component.ts`)
|
||||
- `confidence-meter` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/confidence-meter.component.ts`)
|
||||
- `diff-tab` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/diff-tab.component.ts`)
|
||||
- `dsse-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/dsse-badge.component.ts`)
|
||||
- `evidence-uri-link` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/evidence-uri-link.component.ts`)
|
||||
- `function-trace` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/function-trace.component.ts`)
|
||||
- ... and 48 more components
|
||||
- **Services**:
|
||||
- `advisory-ai` (`src/Web/StellaOps.Web/src/app/features/triage/services/advisory-ai.service.ts`)
|
||||
- `binary-diff-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/binary-diff-evidence.service.ts`)
|
||||
- `diff-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/diff-evidence.service.ts`)
|
||||
- `display-preferences` (`src/Web/StellaOps.Web/src/app/features/triage/services/display-preferences.service.ts`)
|
||||
- `evidence-tab` (`src/Web/StellaOps.Web/src/app/features/triage/services/evidence-tab.service.ts`)
|
||||
- `gating` (`src/Web/StellaOps.Web/src/app/features/triage/services/gating.service.ts`)
|
||||
- `keyboard-shortcuts` (`src/Web/StellaOps.Web/src/app/features/triage/services/keyboard-shortcuts.service.ts`)
|
||||
- `reach-graph-slice` (`src/Web/StellaOps.Web/src/app/features/triage/services/reach-graph-slice.service.ts`)
|
||||
- `reachability` (`src/Web/StellaOps.Web/src/app/features/triage/services/reachability.service.ts`)
|
||||
- `runtime-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/runtime-evidence.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/diff-evidence.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/evidence-panel.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/evidence.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/gating.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/reachability.models.ts`
|
||||
- **Source**: SPRINT_20260112_012_FE_remediation_pr_ui_wiring.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/triage/artifacts`
|
||||
- [ ] 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)
|
||||
@@ -1,36 +0,0 @@
|
||||
# Reproduce Button with Deterministic Replay Progress
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Reusable button component that triggers deterministic replay verification of verdicts/scores. Shows inline progress during replay execution and displays results including pass/fail status and drift detection.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/reproduce/`
|
||||
- **Components**:
|
||||
- `replay-progress` (`src/Web/StellaOps.Web/src/app/shared/components/reproduce/replay-progress.component.ts`)
|
||||
- `replay-result` (`src/Web/StellaOps.Web/src/app/shared/components/reproduce/replay-result.component.ts`)
|
||||
- `reproduce-button` (`src/Web/StellaOps.Web/src/app/shared/components/reproduce/reproduce-button.component.ts`)
|
||||
- **Services**:
|
||||
- `replay` (`src/Web/StellaOps.Web/src/app/shared/components/reproduce/replay.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/shared/components/reproduce/replay.models.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] 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)
|
||||
@@ -1,62 +0,0 @@
|
||||
# Request Exception Modal with Drag-and-Drop
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Modal for requesting policy exceptions during approvals with drag-and-drop evidence attachment, justification fields, and expiry date selection.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/triage/`
|
||||
- **Components**:
|
||||
- `ai-code-guard-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/ai-code-guard-badge/ai-code-guard-badge.component.ts`)
|
||||
- `ai-recommendation-panel` (`src/Web/StellaOps.Web/src/app/features/triage/components/ai-recommendation-panel/ai-recommendation-panel.component.ts`)
|
||||
- `attestation-viewer` (`src/Web/StellaOps.Web/src/app/features/triage/components/attestation-viewer/attestation-viewer.component.ts`)
|
||||
- `bulk-action-modal` (`src/Web/StellaOps.Web/src/app/features/triage/components/bulk-action-modal/bulk-action-modal.component.ts`)
|
||||
- `case-header` (`src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.ts`)
|
||||
- `decision-drawer-enhanced` (`src/Web/StellaOps.Web/src/app/features/triage/components/decision-drawer/decision-drawer-enhanced.component.ts`)
|
||||
- `decision-drawer` (`src/Web/StellaOps.Web/src/app/features/triage/components/decision-drawer/decision-drawer.component.ts`)
|
||||
- `attestation-chain` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/attestation-chain.component.ts`)
|
||||
- `backport-verdict-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/backport-verdict-badge.component.ts`)
|
||||
- `binary-diff-tab` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/binary-diff-tab.component.ts`)
|
||||
- `confidence-meter` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/confidence-meter.component.ts`)
|
||||
- `diff-tab` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/diff-tab.component.ts`)
|
||||
- `dsse-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/dsse-badge.component.ts`)
|
||||
- `evidence-uri-link` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/evidence-uri-link.component.ts`)
|
||||
- `function-trace` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/function-trace.component.ts`)
|
||||
- ... and 48 more components
|
||||
- **Services**:
|
||||
- `advisory-ai` (`src/Web/StellaOps.Web/src/app/features/triage/services/advisory-ai.service.ts`)
|
||||
- `binary-diff-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/binary-diff-evidence.service.ts`)
|
||||
- `diff-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/diff-evidence.service.ts`)
|
||||
- `display-preferences` (`src/Web/StellaOps.Web/src/app/features/triage/services/display-preferences.service.ts`)
|
||||
- `evidence-tab` (`src/Web/StellaOps.Web/src/app/features/triage/services/evidence-tab.service.ts`)
|
||||
- `gating` (`src/Web/StellaOps.Web/src/app/features/triage/services/gating.service.ts`)
|
||||
- `keyboard-shortcuts` (`src/Web/StellaOps.Web/src/app/features/triage/services/keyboard-shortcuts.service.ts`)
|
||||
- `reach-graph-slice` (`src/Web/StellaOps.Web/src/app/features/triage/services/reach-graph-slice.service.ts`)
|
||||
- `reachability` (`src/Web/StellaOps.Web/src/app/features/triage/services/reachability.service.ts`)
|
||||
- `runtime-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/runtime-evidence.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/diff-evidence.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/evidence-panel.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/evidence.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/gating.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/reachability.models.ts`
|
||||
- **Source**: SPRINT_20260118_005_FE_approvals_feature.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/triage/artifacts`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the panel/drawer opens on trigger (click, keyboard shortcut)
|
||||
- [ ] Verify the panel displays the correct detail data for the selected item
|
||||
- [ ] Verify the panel can be closed (X button, Escape key, backdrop click)
|
||||
- **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)
|
||||
@@ -1,42 +0,0 @@
|
||||
# Risk Budget Burn-Up Chart
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
SVG-based burn-up chart displaying risk budget consumption over time (X: calendar days, Y: risk points) with budget limit line, actual consumption, grid lines, and headroom visualization.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/risk/`
|
||||
- **Components**:
|
||||
- `budget-burnup-chart` (`src/Web/StellaOps.Web/src/app/features/risk/components/budget-burnup-chart.component.ts`)
|
||||
- `budget-kpi-tiles` (`src/Web/StellaOps.Web/src/app/features/risk/components/budget-kpi-tiles.component.ts`)
|
||||
- `create-exception-modal` (`src/Web/StellaOps.Web/src/app/features/risk/components/create-exception-modal.component.ts`)
|
||||
- `evidence-buttons` (`src/Web/StellaOps.Web/src/app/features/risk/components/evidence-buttons.component.ts`)
|
||||
- `exception-ledger` (`src/Web/StellaOps.Web/src/app/features/risk/components/exception-ledger.component.ts`)
|
||||
- `reachability-slice` (`src/Web/StellaOps.Web/src/app/features/risk/components/reachability-slice.component.ts`)
|
||||
- `risk-dashboard-layout` (`src/Web/StellaOps.Web/src/app/features/risk/components/risk-dashboard-layout.component.ts`)
|
||||
- `sbom-diff-panel` (`src/Web/StellaOps.Web/src/app/features/risk/components/sbom-diff-panel.component.ts`)
|
||||
- `side-by-side-diff` (`src/Web/StellaOps.Web/src/app/features/risk/components/side-by-side-diff.component.ts`)
|
||||
- `verdict-badge` (`src/Web/StellaOps.Web/src/app/features/risk/components/verdict-badge.component.ts`)
|
||||
- `verdict-why-summary` (`src/Web/StellaOps.Web/src/app/features/risk/components/verdict-why-summary.component.ts`)
|
||||
- `vex-sources-panel` (`src/Web/StellaOps.Web/src/app/features/risk/components/vex-sources-panel.component.ts`)
|
||||
- `risk-dashboard` (`src/Web/StellaOps.Web/src/app/features/risk/risk-dashboard.component.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/risk`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the visualization renders correctly with sample data
|
||||
- [ ] Verify interactive elements (hover tooltips, click-to-drill-down) work
|
||||
- [ ] Verify the visualization handles empty/minimal data gracefully
|
||||
- **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)
|
||||
@@ -1,42 +0,0 @@
|
||||
# Risk Budget Configuration UI
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Risk budget configuration component in policy governance module, along with a dedicated risk budget dashboard for managing budget parameters.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/risk/`
|
||||
- **Components**:
|
||||
- `budget-burnup-chart` (`src/Web/StellaOps.Web/src/app/features/risk/components/budget-burnup-chart.component.ts`)
|
||||
- `budget-kpi-tiles` (`src/Web/StellaOps.Web/src/app/features/risk/components/budget-kpi-tiles.component.ts`)
|
||||
- `create-exception-modal` (`src/Web/StellaOps.Web/src/app/features/risk/components/create-exception-modal.component.ts`)
|
||||
- `evidence-buttons` (`src/Web/StellaOps.Web/src/app/features/risk/components/evidence-buttons.component.ts`)
|
||||
- `exception-ledger` (`src/Web/StellaOps.Web/src/app/features/risk/components/exception-ledger.component.ts`)
|
||||
- `reachability-slice` (`src/Web/StellaOps.Web/src/app/features/risk/components/reachability-slice.component.ts`)
|
||||
- `risk-dashboard-layout` (`src/Web/StellaOps.Web/src/app/features/risk/components/risk-dashboard-layout.component.ts`)
|
||||
- `sbom-diff-panel` (`src/Web/StellaOps.Web/src/app/features/risk/components/sbom-diff-panel.component.ts`)
|
||||
- `side-by-side-diff` (`src/Web/StellaOps.Web/src/app/features/risk/components/side-by-side-diff.component.ts`)
|
||||
- `verdict-badge` (`src/Web/StellaOps.Web/src/app/features/risk/components/verdict-badge.component.ts`)
|
||||
- `verdict-why-summary` (`src/Web/StellaOps.Web/src/app/features/risk/components/verdict-why-summary.component.ts`)
|
||||
- `vex-sources-panel` (`src/Web/StellaOps.Web/src/app/features/risk/components/vex-sources-panel.component.ts`)
|
||||
- `risk-dashboard` (`src/Web/StellaOps.Web/src/app/features/risk/risk-dashboard.component.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/risk`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify settings form loads with current values pre-populated
|
||||
- [ ] Verify changes can be saved and persist across page reloads
|
||||
- [ ] Verify validation prevents saving invalid configurations
|
||||
- **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)
|
||||
@@ -1,42 +0,0 @@
|
||||
# Risk Budget KPI Dashboard with Badges
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
KPI tiles showing Headroom, Unknowns delta (24h), Risk retired (7d), and Exceptions expiring -- matching the advisory's "copy-paste labels for the board" concept precisely.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/risk/`
|
||||
- **Components**:
|
||||
- `budget-burnup-chart` (`src/Web/StellaOps.Web/src/app/features/risk/components/budget-burnup-chart.component.ts`)
|
||||
- `budget-kpi-tiles` (`src/Web/StellaOps.Web/src/app/features/risk/components/budget-kpi-tiles.component.ts`)
|
||||
- `create-exception-modal` (`src/Web/StellaOps.Web/src/app/features/risk/components/create-exception-modal.component.ts`)
|
||||
- `evidence-buttons` (`src/Web/StellaOps.Web/src/app/features/risk/components/evidence-buttons.component.ts`)
|
||||
- `exception-ledger` (`src/Web/StellaOps.Web/src/app/features/risk/components/exception-ledger.component.ts`)
|
||||
- `reachability-slice` (`src/Web/StellaOps.Web/src/app/features/risk/components/reachability-slice.component.ts`)
|
||||
- `risk-dashboard-layout` (`src/Web/StellaOps.Web/src/app/features/risk/components/risk-dashboard-layout.component.ts`)
|
||||
- `sbom-diff-panel` (`src/Web/StellaOps.Web/src/app/features/risk/components/sbom-diff-panel.component.ts`)
|
||||
- `side-by-side-diff` (`src/Web/StellaOps.Web/src/app/features/risk/components/side-by-side-diff.component.ts`)
|
||||
- `verdict-badge` (`src/Web/StellaOps.Web/src/app/features/risk/components/verdict-badge.component.ts`)
|
||||
- `verdict-why-summary` (`src/Web/StellaOps.Web/src/app/features/risk/components/verdict-why-summary.component.ts`)
|
||||
- `vex-sources-panel` (`src/Web/StellaOps.Web/src/app/features/risk/components/vex-sources-panel.component.ts`)
|
||||
- `risk-dashboard` (`src/Web/StellaOps.Web/src/app/features/risk/risk-dashboard.component.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/risk`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the dashboard loads without errors and displays summary cards/metrics
|
||||
- [ ] Verify data refreshes correctly and loading states are shown
|
||||
- [ ] Verify empty state is displayed when no data is available
|
||||
- **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)
|
||||
@@ -1,42 +0,0 @@
|
||||
# Risk Dashboard UI (Side-by-Side View)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Angular-based risk dashboard with side-by-side SBOM diff viewer, graph split view for reachability comparison, and witness comparison components.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/risk/`
|
||||
- **Components**:
|
||||
- `budget-burnup-chart` (`src/Web/StellaOps.Web/src/app/features/risk/components/budget-burnup-chart.component.ts`)
|
||||
- `budget-kpi-tiles` (`src/Web/StellaOps.Web/src/app/features/risk/components/budget-kpi-tiles.component.ts`)
|
||||
- `create-exception-modal` (`src/Web/StellaOps.Web/src/app/features/risk/components/create-exception-modal.component.ts`)
|
||||
- `evidence-buttons` (`src/Web/StellaOps.Web/src/app/features/risk/components/evidence-buttons.component.ts`)
|
||||
- `exception-ledger` (`src/Web/StellaOps.Web/src/app/features/risk/components/exception-ledger.component.ts`)
|
||||
- `reachability-slice` (`src/Web/StellaOps.Web/src/app/features/risk/components/reachability-slice.component.ts`)
|
||||
- `risk-dashboard-layout` (`src/Web/StellaOps.Web/src/app/features/risk/components/risk-dashboard-layout.component.ts`)
|
||||
- `sbom-diff-panel` (`src/Web/StellaOps.Web/src/app/features/risk/components/sbom-diff-panel.component.ts`)
|
||||
- `side-by-side-diff` (`src/Web/StellaOps.Web/src/app/features/risk/components/side-by-side-diff.component.ts`)
|
||||
- `verdict-badge` (`src/Web/StellaOps.Web/src/app/features/risk/components/verdict-badge.component.ts`)
|
||||
- `verdict-why-summary` (`src/Web/StellaOps.Web/src/app/features/risk/components/verdict-why-summary.component.ts`)
|
||||
- `vex-sources-panel` (`src/Web/StellaOps.Web/src/app/features/risk/components/vex-sources-panel.component.ts`)
|
||||
- `risk-dashboard` (`src/Web/StellaOps.Web/src/app/features/risk/risk-dashboard.component.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/risk`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the dashboard loads without errors and displays summary cards/metrics
|
||||
- [ ] Verify data refreshes correctly and loading states are shown
|
||||
- [ ] Verify empty state is displayed when no data is available
|
||||
- **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)
|
||||
@@ -1,39 +0,0 @@
|
||||
# Role-Based Views (Dev/Security/Audit)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Compare view supports role-based viewing with user preference persistence for different personas (Developer, Security, Audit).
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/core/auth/`
|
||||
- **Services**:
|
||||
- `abac` (`src/Web/StellaOps.Web/src/app/core/auth/abac.service.ts`)
|
||||
- `auth-storage` (`src/Web/StellaOps.Web/src/app/core/auth/auth-storage.service.ts`)
|
||||
- `auth` (`src/Web/StellaOps.Web/src/app/core/auth/auth.service.ts`)
|
||||
- `authority-auth` (`src/Web/StellaOps.Web/src/app/core/auth/authority-auth.service.ts`)
|
||||
- `dpop` (`src/Web/StellaOps.Web/src/app/core/auth/dpop/dpop.service.ts`)
|
||||
- `fresh-auth` (`src/Web/StellaOps.Web/src/app/core/auth/fresh-auth.service.ts`)
|
||||
- `tenant-activation` (`src/Web/StellaOps.Web/src/app/core/auth/tenant-activation.service.ts`)
|
||||
- `tenant-persistence` (`src/Web/StellaOps.Web/src/app/core/auth/tenant-persistence.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/core/auth/auth-session.model.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] 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)
|
||||
@@ -1,30 +0,0 @@
|
||||
# SARIF Download from Export Center
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Dedicated SARIF 2.1.0 download component within the Export Center that generates and downloads vulnerability findings in SARIF format for integration with IDEs, GitHub Code Scanning, and other SARIF-consuming tools.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/export-center/`
|
||||
- **Components**:
|
||||
- `sarif-download` (`src/Web/StellaOps.Web/src/app/shared/components/export-center/sarif-download.component.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the export/download action triggers correctly
|
||||
- [ ] Verify the exported file is in the expected format (JSON, SARIF, CSV, etc.)
|
||||
- [ ] Verify export includes all expected data fields
|
||||
- **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)
|
||||
@@ -1,31 +0,0 @@
|
||||
# SBOM Analytics Console UI
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Angular UI for SBOM analytics with dashboard panels showing component counts, vulnerability trends, supplier distribution, and attestation coverage. Includes drilldown views, trend charts, and CSV export capabilities. Not present in the known features list.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/analytics/`
|
||||
- **Routes**: `analytics.routes.ts`
|
||||
- **Components**:
|
||||
- `sbom-lake-page` (`src/Web/StellaOps.Web/src/app/features/analytics/sbom-lake-page.component.ts`)
|
||||
- **Source**: SPRINT_20260120_031_FE_sbom_analytics_console.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/analytics`
|
||||
- [ ] 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)
|
||||
@@ -1,35 +0,0 @@
|
||||
# SBOM Diff Side-by-Side Panel
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Side-by-side visual comparison panel showing packages added/removed/changed between two SBOM versions, with highlighted risk changes for before/after risk state comparison.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/sbom-diff/`
|
||||
- **Routes**: `sbom-diff.routes.ts`
|
||||
- **Components**:
|
||||
- `sbom-diff-view` (`src/Web/StellaOps.Web/src/app/features/sbom-diff/components/sbom-diff-view/sbom-diff-view.component.ts`)
|
||||
- **Services**:
|
||||
- `sbom-diff` (`src/Web/StellaOps.Web/src/app/features/sbom-diff/services/sbom-diff.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/sbom-diff/models/sbom-diff.models.ts`
|
||||
- **Source**: SPRINT_20251226_004_FE_risk_dashboard.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/sbom/diff`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the panel/drawer opens on trigger (click, keyboard shortcut)
|
||||
- [ ] Verify the panel displays the correct detail data for the selected item
|
||||
- [ ] Verify the panel can be closed (X button, Escape key, backdrop click)
|
||||
- **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)
|
||||
@@ -1,37 +0,0 @@
|
||||
# SBOM Sources Manager UI (List + Detail + 6-Step Wizard)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Full SBOM Sources management UI with sources list page (status badges, last-run times, filtering), source detail page (run history, configuration), and 6-step add/edit wizard (type selection, basic info, type-specific config, credentials, schedule, review+test).
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/sbom-sources/`
|
||||
- **Routes**: `sbom-sources.routes.ts`
|
||||
- **Components**:
|
||||
- `source-detail` (`src/Web/StellaOps.Web/src/app/features/sbom-sources/components/source-detail/source-detail.component.ts`)
|
||||
- `source-wizard` (`src/Web/StellaOps.Web/src/app/features/sbom-sources/components/source-wizard/source-wizard.component.ts`)
|
||||
- `sources-list` (`src/Web/StellaOps.Web/src/app/features/sbom-sources/components/sources-list/sources-list.component.ts`)
|
||||
- **Services**:
|
||||
- `sbom-sources` (`src/Web/StellaOps.Web/src/app/features/sbom-sources/services/sbom-sources.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/sbom-sources/models/sbom-source.models.ts`
|
||||
- **Source**: SPRINT_20251229_003_FE_sbom_sources_ui.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/sbom-sources`
|
||||
- [ ] 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)
|
||||
@@ -1,36 +0,0 @@
|
||||
# Scanner Ops Settings UI
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Scanner ops UI with offline kit management (upload/download/verify), baseline list with compare and promote flows, determinism/replay settings, analyzer plugin health dashboard, cache metrics, and scan performance baseline comparison.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/scanner-ops/`
|
||||
- **Routes**: `scanner-ops.routes.ts`
|
||||
- **Components**:
|
||||
- `analyzer-health` (`src/Web/StellaOps.Web/src/app/features/scanner-ops/components/analyzer-health.component.ts`)
|
||||
- `baseline-list` (`src/Web/StellaOps.Web/src/app/features/scanner-ops/components/baseline-list.component.ts`)
|
||||
- `determinism-settings` (`src/Web/StellaOps.Web/src/app/features/scanner-ops/components/determinism-settings.component.ts`)
|
||||
- `offline-kit-list` (`src/Web/StellaOps.Web/src/app/features/scanner-ops/components/offline-kit-list.component.ts`)
|
||||
- `performance-baseline` (`src/Web/StellaOps.Web/src/app/features/scanner-ops/components/performance-baseline.component.ts`)
|
||||
- `scanner-ops` (`src/Web/StellaOps.Web/src/app/features/scanner-ops/scanner-ops.component.ts`)
|
||||
- **Source**: SPRINT_20251229_025_FE_scanner_ops_settings_ui
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/ops/scanner`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify settings form loads with current values pre-populated
|
||||
- [ ] Verify changes can be saved and persist across page reloads
|
||||
- [ ] Verify validation prevents saving invalid configurations
|
||||
- **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)
|
||||
@@ -1,35 +0,0 @@
|
||||
# Scheduler & Orchestrator Ops UI
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Ops UI for scheduler runs, worker fleet dashboard with fair-share visualization, backpressure warnings, and DAG visualization for task dependencies.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/scheduler-ops/`
|
||||
- **Routes**: `scheduler-ops.routes.ts`
|
||||
- **Components**:
|
||||
- `schedule-management` (`src/Web/StellaOps.Web/src/app/features/scheduler-ops/schedule-management.component.ts`)
|
||||
- `scheduler-runs` (`src/Web/StellaOps.Web/src/app/features/scheduler-ops/scheduler-runs.component.ts`)
|
||||
- `worker-fleet` (`src/Web/StellaOps.Web/src/app/features/scheduler-ops/worker-fleet.component.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/scheduler-ops/scheduler-ops.models.ts`
|
||||
- **Source**: SPRINT_20251229_017_FE_scheduler_orchestrator_ops_ui
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/scheduler`
|
||||
- [ ] 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)
|
||||
@@ -1,50 +0,0 @@
|
||||
# Score Comparison View (Side-by-Side Scan Score Analysis)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Side-by-side comparison of vulnerability scan scores between two scans with severity bar charts, delta table showing metric changes, VEX impact visualization (suppressed counts by severity), new/resolved vulnerability lists, and a time-series SVG chart view showing risk score trends over 30 days.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/compare/`
|
||||
- **Components**:
|
||||
- `actionables-panel` (`src/Web/StellaOps.Web/src/app/features/compare/components/actionables-panel/actionables-panel.component.ts`)
|
||||
- `baseline-rationale` (`src/Web/StellaOps.Web/src/app/features/compare/components/baseline-rationale/baseline-rationale.component.ts`)
|
||||
- `baseline-selector` (`src/Web/StellaOps.Web/src/app/features/compare/components/baseline-selector.component.ts`)
|
||||
- `categories-pane` (`src/Web/StellaOps.Web/src/app/features/compare/components/categories-pane.component.ts`)
|
||||
- `compare-view` (`src/Web/StellaOps.Web/src/app/features/compare/components/compare-view.component.ts`)
|
||||
- `compare-view` (`src/Web/StellaOps.Web/src/app/features/compare/components/compare-view/compare-view.component.ts`)
|
||||
- `degraded-mode-banner` (`src/Web/StellaOps.Web/src/app/features/compare/components/degraded-mode-banner/degraded-mode-banner.component.ts`)
|
||||
- `delta-summary-strip` (`src/Web/StellaOps.Web/src/app/features/compare/components/delta-summary-strip.component.ts`)
|
||||
- `envelope-hashes` (`src/Web/StellaOps.Web/src/app/features/compare/components/envelope-hashes/envelope-hashes.component.ts`)
|
||||
- `export-actions` (`src/Web/StellaOps.Web/src/app/features/compare/components/export-actions/export-actions.component.ts`)
|
||||
- `graph-mini-map` (`src/Web/StellaOps.Web/src/app/features/compare/components/graph-mini-map/graph-mini-map.component.ts`)
|
||||
- `items-pane` (`src/Web/StellaOps.Web/src/app/features/compare/components/items-pane.component.ts`)
|
||||
- `proof-pane` (`src/Web/StellaOps.Web/src/app/features/compare/components/proof-pane.component.ts`)
|
||||
- `three-pane-layout` (`src/Web/StellaOps.Web/src/app/features/compare/components/three-pane-layout.component.ts`)
|
||||
- `trust-indicators` (`src/Web/StellaOps.Web/src/app/features/compare/components/trust-indicators.component.ts`)
|
||||
- ... and 3 more components
|
||||
- **Services**:
|
||||
- `compare-export` (`src/Web/StellaOps.Web/src/app/features/compare/services/compare-export.service.ts`)
|
||||
- `compare` (`src/Web/StellaOps.Web/src/app/features/compare/services/compare.service.ts`)
|
||||
- `delta-compute` (`src/Web/StellaOps.Web/src/app/features/compare/services/delta-compute.service.ts`)
|
||||
- `user-preferences` (`src/Web/StellaOps.Web/src/app/features/compare/services/user-preferences.service.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/compare/:currentId`
|
||||
- [ ] 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)
|
||||
@@ -1,32 +0,0 @@
|
||||
# Score UI Display Enhancement
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Unified score display with unknowns bands and delta-if-present. Full component suite with unit tests and E2E tests.
|
||||
|
||||
## Implementation Details
|
||||
- **Score components**:
|
||||
- `delta-if-present` (`src/Web/StellaOps.Web/src/app/shared/components/score/delta-if-present.component.ts`)
|
||||
- `score-badge` (`src/Web/StellaOps.Web/src/app/shared/components/score/score-badge.component.ts`)
|
||||
- `score-breakdown-popover` (`src/Web/StellaOps.Web/src/app/shared/components/score/score-breakdown-popover.component.ts`)
|
||||
- `score-history-chart` (`src/Web/StellaOps.Web/src/app/shared/components/score/score-history-chart.component.ts`)
|
||||
- `score-pill` (`src/Web/StellaOps.Web/src/app/shared/components/score/score-pill.component.ts`)
|
||||
- `unknowns-band` (`src/Web/StellaOps.Web/src/app/shared/components/score/unknowns-band.component.ts`)
|
||||
- `unknowns-tooltip` (`src/Web/StellaOps.Web/src/app/shared/components/score/unknowns-tooltip.component.ts`)
|
||||
- **Unit tests**: `score-badge.component.spec.ts`, `score-pill.component.spec.ts`, `score-breakdown-popover.component.spec.ts`, `accessibility.spec.ts`
|
||||
- **E2E tests**: `src/Web/StellaOps.Web/tests/e2e/score-features.spec.ts`
|
||||
|
||||
## E2E Test Plan
|
||||
- [ ] Verify score badge renders with correct color coding for different score ranges
|
||||
- [ ] Verify unknowns band displays uncertainty range
|
||||
- [ ] Verify delta-if-present shows change from baseline
|
||||
- [ ] Verify score-breakdown-popover shows per-factor breakdown on hover
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels)
|
||||
|
||||
## Related Documentation
|
||||
- Source: See feature catalog
|
||||
@@ -1,55 +0,0 @@
|
||||
# Secret Detection Revelation Policy UI
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Configuration UI for controlling how detected secrets are displayed (masked vs revealed). Includes a revelation policy selector with permission-gated full reveal, a masked value display component with copy-to-clipboard, rule category selection, and alert channel testing capabilities.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/secret-detection/`
|
||||
- **Routes**: `secret-detection.routes.ts`
|
||||
- **Components**:
|
||||
- `alert-destination-config` (`src/Web/StellaOps.Web/src/app/features/secret-detection/alert-destination-config.component.ts`)
|
||||
- `channel-test` (`src/Web/StellaOps.Web/src/app/features/secret-detection/channel-test.component.ts`)
|
||||
- `alert-destination-config` (`src/Web/StellaOps.Web/src/app/features/secret-detection/components/alerts/alert-destination-config.component.ts`)
|
||||
- `exception-manager` (`src/Web/StellaOps.Web/src/app/features/secret-detection/components/exceptions/exception-manager.component.ts`)
|
||||
- `masked-value-display` (`src/Web/StellaOps.Web/src/app/features/secret-detection/components/findings/masked-value-display.component.ts`)
|
||||
- `secret-findings-list` (`src/Web/StellaOps.Web/src/app/features/secret-detection/components/findings/secret-findings-list.component.ts`)
|
||||
- `revelation-policy-selector` (`src/Web/StellaOps.Web/src/app/features/secret-detection/components/settings/revelation-policy-selector.component.ts`)
|
||||
- `rule-category-toggles` (`src/Web/StellaOps.Web/src/app/features/secret-detection/components/settings/rule-category-toggles.component.ts`)
|
||||
- `secret-detection-settings` (`src/Web/StellaOps.Web/src/app/features/secret-detection/components/settings/secret-detection-settings.component.ts`)
|
||||
- `exception-form` (`src/Web/StellaOps.Web/src/app/features/secret-detection/exception-form.component.ts`)
|
||||
- `exception-manager` (`src/Web/StellaOps.Web/src/app/features/secret-detection/exception-manager.component.ts`)
|
||||
- `finding-detail-drawer` (`src/Web/StellaOps.Web/src/app/features/secret-detection/finding-detail-drawer.component.ts`)
|
||||
- `masked-value-display` (`src/Web/StellaOps.Web/src/app/features/secret-detection/masked-value-display.component.ts`)
|
||||
- `revelation-policy-config` (`src/Web/StellaOps.Web/src/app/features/secret-detection/revelation-policy-config.component.ts`)
|
||||
- `rule-category-selector` (`src/Web/StellaOps.Web/src/app/features/secret-detection/rule-category-selector.component.ts`)
|
||||
- ... and 2 more components
|
||||
- **Services**:
|
||||
- `secret-detection-settings` (`src/Web/StellaOps.Web/src/app/features/secret-detection/services/secret-detection-settings.service.ts`)
|
||||
- `secret-exception` (`src/Web/StellaOps.Web/src/app/features/secret-detection/services/secret-exception.service.ts`)
|
||||
- `secret-findings` (`src/Web/StellaOps.Web/src/app/features/secret-detection/services/secret-findings.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/secret-detection/models/alert-destination.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/secret-detection/models/revelation-policy.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/secret-detection/models/secret-detection.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/secret-detection/models/secret-finding.models.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/security`
|
||||
- [ ] 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)
|
||||
@@ -1,55 +0,0 @@
|
||||
# Secret Detection UI (Settings, Findings, Exceptions, Alerts)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Angular UI for secret detection management: settings page with enable/disable toggle and revelation policy selector, findings list with masked value display, exception manager with validation forms, and alert destination configuration with channel test functionality.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/secret-detection/`
|
||||
- **Routes**: `secret-detection.routes.ts`
|
||||
- **Components**:
|
||||
- `alert-destination-config` (`src/Web/StellaOps.Web/src/app/features/secret-detection/alert-destination-config.component.ts`)
|
||||
- `channel-test` (`src/Web/StellaOps.Web/src/app/features/secret-detection/channel-test.component.ts`)
|
||||
- `alert-destination-config` (`src/Web/StellaOps.Web/src/app/features/secret-detection/components/alerts/alert-destination-config.component.ts`)
|
||||
- `exception-manager` (`src/Web/StellaOps.Web/src/app/features/secret-detection/components/exceptions/exception-manager.component.ts`)
|
||||
- `masked-value-display` (`src/Web/StellaOps.Web/src/app/features/secret-detection/components/findings/masked-value-display.component.ts`)
|
||||
- `secret-findings-list` (`src/Web/StellaOps.Web/src/app/features/secret-detection/components/findings/secret-findings-list.component.ts`)
|
||||
- `revelation-policy-selector` (`src/Web/StellaOps.Web/src/app/features/secret-detection/components/settings/revelation-policy-selector.component.ts`)
|
||||
- `rule-category-toggles` (`src/Web/StellaOps.Web/src/app/features/secret-detection/components/settings/rule-category-toggles.component.ts`)
|
||||
- `secret-detection-settings` (`src/Web/StellaOps.Web/src/app/features/secret-detection/components/settings/secret-detection-settings.component.ts`)
|
||||
- `exception-form` (`src/Web/StellaOps.Web/src/app/features/secret-detection/exception-form.component.ts`)
|
||||
- `exception-manager` (`src/Web/StellaOps.Web/src/app/features/secret-detection/exception-manager.component.ts`)
|
||||
- `finding-detail-drawer` (`src/Web/StellaOps.Web/src/app/features/secret-detection/finding-detail-drawer.component.ts`)
|
||||
- `masked-value-display` (`src/Web/StellaOps.Web/src/app/features/secret-detection/masked-value-display.component.ts`)
|
||||
- `revelation-policy-config` (`src/Web/StellaOps.Web/src/app/features/secret-detection/revelation-policy-config.component.ts`)
|
||||
- `rule-category-selector` (`src/Web/StellaOps.Web/src/app/features/secret-detection/rule-category-selector.component.ts`)
|
||||
- ... and 2 more components
|
||||
- **Services**:
|
||||
- `secret-detection-settings` (`src/Web/StellaOps.Web/src/app/features/secret-detection/services/secret-detection-settings.service.ts`)
|
||||
- `secret-exception` (`src/Web/StellaOps.Web/src/app/features/secret-detection/services/secret-exception.service.ts`)
|
||||
- `secret-findings` (`src/Web/StellaOps.Web/src/app/features/secret-detection/services/secret-findings.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/secret-detection/models/alert-destination.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/secret-detection/models/revelation-policy.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/secret-detection/models/secret-detection.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/secret-detection/models/secret-finding.models.ts`
|
||||
- **Source**: SPRINT_20260104_008_FE_secret_detection_ui.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/security`
|
||||
- [ ] 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)
|
||||
@@ -1,46 +0,0 @@
|
||||
# Security Overview Dashboard
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Consolidated security overview merging Analyze and Triage sections into a single security hub with release-aware finding counts and risk summaries.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/security/`
|
||||
- **Routes**: `security.routes.ts`
|
||||
- **Components**:
|
||||
- `artifact-detail-page` (`src/Web/StellaOps.Web/src/app/features/security/artifact-detail-page.component.ts`)
|
||||
- `artifacts-page` (`src/Web/StellaOps.Web/src/app/features/security/artifacts-page.component.ts`)
|
||||
- `exception-detail-page` (`src/Web/StellaOps.Web/src/app/features/security/exception-detail-page.component.ts`)
|
||||
- `exceptions-page` (`src/Web/StellaOps.Web/src/app/features/security/exceptions-page.component.ts`)
|
||||
- `lineage-page` (`src/Web/StellaOps.Web/src/app/features/security/lineage-page.component.ts`)
|
||||
- `patch-map-page` (`src/Web/StellaOps.Web/src/app/features/security/patch-map-page.component.ts`)
|
||||
- `reachability-page` (`src/Web/StellaOps.Web/src/app/features/security/reachability-page.component.ts`)
|
||||
- `risk-page` (`src/Web/StellaOps.Web/src/app/features/security/risk-page.component.ts`)
|
||||
- `sbom-graph-page` (`src/Web/StellaOps.Web/src/app/features/security/sbom-graph-page.component.ts`)
|
||||
- `scan-detail-page` (`src/Web/StellaOps.Web/src/app/features/security/scan-detail-page.component.ts`)
|
||||
- `security-findings-page` (`src/Web/StellaOps.Web/src/app/features/security/security-findings-page.component.ts`)
|
||||
- `security-overview-page` (`src/Web/StellaOps.Web/src/app/features/security/security-overview-page.component.ts`)
|
||||
- `unknowns-page` (`src/Web/StellaOps.Web/src/app/features/security/unknowns-page.component.ts`)
|
||||
- `vex-hub-page` (`src/Web/StellaOps.Web/src/app/features/security/vex-hub-page.component.ts`)
|
||||
- `vulnerabilities-page` (`src/Web/StellaOps.Web/src/app/features/security/vulnerabilities-page.component.ts`)
|
||||
- ... and 1 more components
|
||||
- **Source**: SPRINT_20260118_007_FE_security_consolidation.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/security`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the dashboard loads without errors and displays summary cards/metrics
|
||||
- [ ] Verify data refreshes correctly and loading states are shown
|
||||
- [ ] Verify empty state is displayed when no data is available
|
||||
- **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)
|
||||
@@ -1,39 +0,0 @@
|
||||
# Setup Wizard Live API Wiring (Replacing Mocks)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Replaced mocked setup wizard calls with real HttpClient calls to Platform setup endpoints including Problem+JSON error handling, retry state tracking, data freshness banners, and deterministic unit tests.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/setup-wizard/`
|
||||
- **Routes**: `setup-wizard.routes.ts`
|
||||
- **Components**:
|
||||
- `config-missing` (`src/Web/StellaOps.Web/src/app/features/setup-wizard/components/config-missing.component.ts`)
|
||||
- `setup-wizard` (`src/Web/StellaOps.Web/src/app/features/setup-wizard/components/setup-wizard.component.ts`)
|
||||
- `step-content` (`src/Web/StellaOps.Web/src/app/features/setup-wizard/components/step-content.component.ts`)
|
||||
- `step-indicator` (`src/Web/StellaOps.Web/src/app/features/setup-wizard/components/step-indicator.component.ts`)
|
||||
- **Services**:
|
||||
- `setup-wizard-api` (`src/Web/StellaOps.Web/src/app/features/setup-wizard/services/setup-wizard-api.service.ts`)
|
||||
- `setup-wizard-state` (`src/Web/StellaOps.Web/src/app/features/setup-wizard/services/setup-wizard-state.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/setup-wizard/models/setup-wizard.models.ts`
|
||||
- **Source**: SPRINT_20260112_005_FE_setup_wizard_ui_wiring.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/setup`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the editor/studio loads with editable content or empty template
|
||||
- [ ] Verify changes can be saved and persisted
|
||||
- [ ] Verify validation errors are displayed for invalid input
|
||||
- **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)
|
||||
@@ -1,30 +0,0 @@
|
||||
# Signed VEX Override Badge (DSSE Status Display)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
SignedOverrideBadgeComponent displaying DSSE badge with verification status, optional expanded details (digest, signer, timestamp, Rekor link), and ASCII-only indicators.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/triage/components/signed-override-badge/`
|
||||
- **Components**:
|
||||
- `signed-override-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/signed-override-badge/signed-override-badge.component.ts`)
|
||||
- **Source**: SPRINT_20260112_004_FE_risk_line_runtime_trace_ui.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the badge/chip renders with correct status color and label
|
||||
- [ ] Verify the badge updates reactively when underlying data changes
|
||||
- [ ] Verify tooltip or popover shows additional detail on hover
|
||||
- **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)
|
||||
@@ -1,34 +0,0 @@
|
||||
# SLO Burn Rate Monitoring UI
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
SLO health dashboard with multi-window burn rate calculation (1h/6h/24h/72h Google SRE methodology), alert lifecycle management (fire/ack/resolve/snooze), error budget forecasting, and SLO CRUD.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/slo-monitoring/`
|
||||
- **Routes**: `slo.routes.ts`
|
||||
- **Components**:
|
||||
- `slo-alert-list` (`src/Web/StellaOps.Web/src/app/features/slo-monitoring/slo-alert-list.component.ts`)
|
||||
- `slo-dashboard` (`src/Web/StellaOps.Web/src/app/features/slo-monitoring/slo-dashboard.component.ts`)
|
||||
- `slo-definitions` (`src/Web/StellaOps.Web/src/app/features/slo-monitoring/slo-definitions.component.ts`)
|
||||
- `slo-detail` (`src/Web/StellaOps.Web/src/app/features/slo-monitoring/slo-detail.component.ts`)
|
||||
- **Source**: SPRINT_20251229_031_FE_slo_burn_rate_monitoring
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/ops/orchestrator/slo`
|
||||
- [ ] 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)
|
||||
@@ -1,30 +0,0 @@
|
||||
# Smart-Diff UI Components (Visual Diffs)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Full visual diff UI with three-pane layout (categories, items, proof), delta summary strip, compare view, VEX merge explanation visualization, proof pane, export actions, and smart-diff badges. Matches the advisory's specified UI patterns.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/smart-diff-badge/`
|
||||
- **Components**:
|
||||
- `smart-diff-badge` (`src/Web/StellaOps.Web/src/app/shared/components/smart-diff-badge/smart-diff-badge.component.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify side-by-side comparison view renders correctly with two versions
|
||||
- [ ] Verify additions, removals, and changes are visually highlighted
|
||||
- [ ] Verify diff data matches the expected delta between versions
|
||||
- **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)
|
||||
@@ -1,30 +0,0 @@
|
||||
# Snapshot Merge Preview with K4 Lattice Visualization and Determinism Verification
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Snapshot management UI with merge preview showing per-CVE source contributions with trust scores, K4 lattice visualization, merge traces, missing evidence indicators, REPLAY.yaml format for deterministic replay, and verify-determinism component. (Merged with Snapshot Merge Preview from Phase 2 AirGap section.)
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/lattice-diagram/`
|
||||
- **Components**:
|
||||
- `lattice-diagram` (`src/Web/StellaOps.Web/src/app/shared/components/lattice-diagram/lattice-diagram.component.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the visualization renders correctly with sample data
|
||||
- [ ] Verify interactive elements (hover tooltips, click-to-drill-down) work
|
||||
- [ ] Verify the visualization handles empty/minimal data gracefully
|
||||
- **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)
|
||||
@@ -1,30 +0,0 @@
|
||||
# StellaBundle Export Button Component
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
One-click StellaBundle export call-to-action button that packages SBOM + VEX + attestations + provenance + Rekor receipts into a single downloadable evidence bundle. Placed contextually in finding details, evidence panels, and export center.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/export-center/`
|
||||
- **Components**:
|
||||
- `sarif-download` (`src/Web/StellaOps.Web/src/app/shared/components/export-center/sarif-download.component.ts`)
|
||||
- **Source**: batch_38/file_17.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the export/download action triggers correctly
|
||||
- [ ] Verify the exported file is in the expected format (JSON, SARIF, CSV, etc.)
|
||||
- [ ] Verify export includes all expected data fields
|
||||
- **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)
|
||||
@@ -1,62 +0,0 @@
|
||||
# Three-Pane Layout (Categories/Items/Proof)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
The compare feature implements a three-pane layout with categories, items, and proof panes for side-by-side comparison of scans/policies.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/triage/`
|
||||
- **Components**:
|
||||
- `ai-code-guard-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/ai-code-guard-badge/ai-code-guard-badge.component.ts`)
|
||||
- `ai-recommendation-panel` (`src/Web/StellaOps.Web/src/app/features/triage/components/ai-recommendation-panel/ai-recommendation-panel.component.ts`)
|
||||
- `attestation-viewer` (`src/Web/StellaOps.Web/src/app/features/triage/components/attestation-viewer/attestation-viewer.component.ts`)
|
||||
- `bulk-action-modal` (`src/Web/StellaOps.Web/src/app/features/triage/components/bulk-action-modal/bulk-action-modal.component.ts`)
|
||||
- `case-header` (`src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.ts`)
|
||||
- `decision-drawer-enhanced` (`src/Web/StellaOps.Web/src/app/features/triage/components/decision-drawer/decision-drawer-enhanced.component.ts`)
|
||||
- `decision-drawer` (`src/Web/StellaOps.Web/src/app/features/triage/components/decision-drawer/decision-drawer.component.ts`)
|
||||
- `attestation-chain` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/attestation-chain.component.ts`)
|
||||
- `backport-verdict-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/backport-verdict-badge.component.ts`)
|
||||
- `binary-diff-tab` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/binary-diff-tab.component.ts`)
|
||||
- `confidence-meter` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/confidence-meter.component.ts`)
|
||||
- `diff-tab` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/diff-tab.component.ts`)
|
||||
- `dsse-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/dsse-badge.component.ts`)
|
||||
- `evidence-uri-link` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/evidence-uri-link.component.ts`)
|
||||
- `function-trace` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/function-trace.component.ts`)
|
||||
- ... and 48 more components
|
||||
- **Services**:
|
||||
- `advisory-ai` (`src/Web/StellaOps.Web/src/app/features/triage/services/advisory-ai.service.ts`)
|
||||
- `binary-diff-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/binary-diff-evidence.service.ts`)
|
||||
- `diff-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/diff-evidence.service.ts`)
|
||||
- `display-preferences` (`src/Web/StellaOps.Web/src/app/features/triage/services/display-preferences.service.ts`)
|
||||
- `evidence-tab` (`src/Web/StellaOps.Web/src/app/features/triage/services/evidence-tab.service.ts`)
|
||||
- `gating` (`src/Web/StellaOps.Web/src/app/features/triage/services/gating.service.ts`)
|
||||
- `keyboard-shortcuts` (`src/Web/StellaOps.Web/src/app/features/triage/services/keyboard-shortcuts.service.ts`)
|
||||
- `reach-graph-slice` (`src/Web/StellaOps.Web/src/app/features/triage/services/reach-graph-slice.service.ts`)
|
||||
- `reachability` (`src/Web/StellaOps.Web/src/app/features/triage/services/reachability.service.ts`)
|
||||
- `runtime-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/runtime-evidence.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/diff-evidence.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/evidence-panel.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/evidence.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/gating.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/reachability.models.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/triage/artifacts`
|
||||
- [ ] 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)
|
||||
@@ -1,32 +0,0 @@
|
||||
# TinyFailureEvent / First Signal Event Pattern
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
First signal events are implemented with a dedicated store, typed models, and UI components for display in run views and console status.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/runs/`
|
||||
- **Components**:
|
||||
- `first-signal-card` (`src/Web/StellaOps.Web/src/app/features/runs/components/first-signal-card/first-signal-card.component.ts`)
|
||||
- **Services**:
|
||||
- `first-signal-prefetch` (`src/Web/StellaOps.Web/src/app/features/runs/services/first-signal-prefetch.service.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] 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)
|
||||
@@ -1,28 +0,0 @@
|
||||
# Triage Inbox Angular Component (3-Pane Layout)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
3-pane Angular UI for exploit-path-based triage: left pane (path list with risk badges, quiet/active toggle, search), center pane (CVE list, package/symbol info, entry point, exceptions), right pane (collapsible reach graph, symbol map, VEX claims, export). Uses Cytoscape.js for graph visualization.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/` (search for related components)
|
||||
- **Source**: SPRINT_3900_0003_0001_exploit_path_inbox_proof_bundles.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/triage/artifacts`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the triage list loads with findings/items to review
|
||||
- [ ] Verify triaging actions (accept, dismiss, override) update item status
|
||||
- [ ] Verify keyboard shortcuts work for rapid triage navigation
|
||||
- **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)
|
||||
@@ -1,30 +0,0 @@
|
||||
# Triage Queue for High-Impact Unknowns
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Triage queue UI component (`triage-queue.component.ts`) with prioritized vulnerability queue, priority scoring, sort modes (priority/severity/age/epss), queue item lifecycle, and auto-advance after triage decision. Backend scoring primitives in the Determinization library feed queue ranking.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/triage/components/triage-queue/`
|
||||
- **Components**:
|
||||
- `triage-queue` (`src/Web/StellaOps.Web/src/app/features/triage/components/triage-queue/triage-queue.component.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the triage list loads with findings/items to review
|
||||
- [ ] Verify triaging actions (accept, dismiss, override) update item status
|
||||
- [ ] Verify keyboard shortcuts work for rapid triage navigation
|
||||
- **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)
|
||||
@@ -1,62 +0,0 @@
|
||||
# Triage Workspace with Proof Tree
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Triage workspace component for vulnerability triage with an associated proof tree visualization component. Includes Storybook stories for the proof tree.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/triage/`
|
||||
- **Components**:
|
||||
- `ai-code-guard-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/ai-code-guard-badge/ai-code-guard-badge.component.ts`)
|
||||
- `ai-recommendation-panel` (`src/Web/StellaOps.Web/src/app/features/triage/components/ai-recommendation-panel/ai-recommendation-panel.component.ts`)
|
||||
- `attestation-viewer` (`src/Web/StellaOps.Web/src/app/features/triage/components/attestation-viewer/attestation-viewer.component.ts`)
|
||||
- `bulk-action-modal` (`src/Web/StellaOps.Web/src/app/features/triage/components/bulk-action-modal/bulk-action-modal.component.ts`)
|
||||
- `case-header` (`src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.ts`)
|
||||
- `decision-drawer-enhanced` (`src/Web/StellaOps.Web/src/app/features/triage/components/decision-drawer/decision-drawer-enhanced.component.ts`)
|
||||
- `decision-drawer` (`src/Web/StellaOps.Web/src/app/features/triage/components/decision-drawer/decision-drawer.component.ts`)
|
||||
- `attestation-chain` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/attestation-chain.component.ts`)
|
||||
- `backport-verdict-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/backport-verdict-badge.component.ts`)
|
||||
- `binary-diff-tab` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/binary-diff-tab.component.ts`)
|
||||
- `confidence-meter` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/confidence-meter.component.ts`)
|
||||
- `diff-tab` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/diff-tab.component.ts`)
|
||||
- `dsse-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/dsse-badge.component.ts`)
|
||||
- `evidence-uri-link` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/evidence-uri-link.component.ts`)
|
||||
- `function-trace` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/function-trace.component.ts`)
|
||||
- ... and 48 more components
|
||||
- **Services**:
|
||||
- `advisory-ai` (`src/Web/StellaOps.Web/src/app/features/triage/services/advisory-ai.service.ts`)
|
||||
- `binary-diff-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/binary-diff-evidence.service.ts`)
|
||||
- `diff-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/diff-evidence.service.ts`)
|
||||
- `display-preferences` (`src/Web/StellaOps.Web/src/app/features/triage/services/display-preferences.service.ts`)
|
||||
- `evidence-tab` (`src/Web/StellaOps.Web/src/app/features/triage/services/evidence-tab.service.ts`)
|
||||
- `gating` (`src/Web/StellaOps.Web/src/app/features/triage/services/gating.service.ts`)
|
||||
- `keyboard-shortcuts` (`src/Web/StellaOps.Web/src/app/features/triage/services/keyboard-shortcuts.service.ts`)
|
||||
- `reach-graph-slice` (`src/Web/StellaOps.Web/src/app/features/triage/services/reach-graph-slice.service.ts`)
|
||||
- `reachability` (`src/Web/StellaOps.Web/src/app/features/triage/services/reachability.service.ts`)
|
||||
- `runtime-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/runtime-evidence.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/diff-evidence.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/evidence-panel.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/evidence.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/gating.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/reachability.models.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/triage/artifacts`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the triage list loads with findings/items to review
|
||||
- [ ] Verify triaging actions (accept, dismiss, override) update item status
|
||||
- [ ] Verify keyboard shortcuts work for rapid triage navigation
|
||||
- **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)
|
||||
@@ -1,39 +0,0 @@
|
||||
# Trust Algebra Panel Angular Components
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Angular component suite for visualizing the VEX trust lattice: TrustAlgebraComponent (main panel), ConfidenceMeterComponent, ClaimTableComponent, PolicyChipsComponent, plus models and service. Distinct from existing features like "Proof Studio UX" or "Evidence Panel UI" -- this is specifically the trust algebra visualization with claim table and policy chip views.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/`
|
||||
- **Components**:
|
||||
- `claim-table` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/claim-table.component.ts`)
|
||||
- `confidence-meter` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/confidence-meter.component.ts`)
|
||||
- `policy-chips` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/policy-chips.component.ts`)
|
||||
- `replay-button` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/replay-button.component.ts`)
|
||||
- `trust-algebra` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/trust-algebra.component.ts`)
|
||||
- `trust-vector-bars` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/trust-vector-bars.component.ts`)
|
||||
- **Services**:
|
||||
- `trust-algebra` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/trust-algebra.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/trust-algebra.models.ts`
|
||||
- **Source**: SPRINT_7100_0003_0001_ui_trust_algebra.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the panel/drawer opens on trigger (click, keyboard shortcut)
|
||||
- [ ] Verify the panel displays the correct detail data for the selected item
|
||||
- [ ] Verify the panel can be closed (X button, Escape key, backdrop click)
|
||||
- **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)
|
||||
@@ -1,42 +0,0 @@
|
||||
# Trust Scoring Dashboard UI
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Trust administration dashboard with signing key management including rotation wizard, issuer trust scores, air-gap audit feed, incident audit, and mTLS certificate inventory.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/trust-admin/`
|
||||
- **Routes**: `trust-admin.routes.ts`
|
||||
- **Components**:
|
||||
- `airgap-audit` (`src/Web/StellaOps.Web/src/app/features/trust-admin/airgap-audit.component.ts`)
|
||||
- `certificate-inventory` (`src/Web/StellaOps.Web/src/app/features/trust-admin/certificate-inventory.component.ts`)
|
||||
- `incident-audit` (`src/Web/StellaOps.Web/src/app/features/trust-admin/incident-audit.component.ts`)
|
||||
- `issuer-trust-list` (`src/Web/StellaOps.Web/src/app/features/trust-admin/issuer-trust-list.component.ts`)
|
||||
- `key-detail-panel` (`src/Web/StellaOps.Web/src/app/features/trust-admin/key-detail-panel.component.ts`)
|
||||
- `key-expiry-warning` (`src/Web/StellaOps.Web/src/app/features/trust-admin/key-expiry-warning.component.ts`)
|
||||
- `key-rotation-wizard` (`src/Web/StellaOps.Web/src/app/features/trust-admin/key-rotation-wizard.component.ts`)
|
||||
- `signing-key-dashboard` (`src/Web/StellaOps.Web/src/app/features/trust-admin/signing-key-dashboard.component.ts`)
|
||||
- `trust-admin` (`src/Web/StellaOps.Web/src/app/features/trust-admin/trust-admin.component.ts`)
|
||||
- `trust-analytics` (`src/Web/StellaOps.Web/src/app/features/trust-admin/trust-analytics.component.ts`)
|
||||
- `trust-audit-log` (`src/Web/StellaOps.Web/src/app/features/trust-admin/trust-audit-log.component.ts`)
|
||||
- `trust-score-config` (`src/Web/StellaOps.Web/src/app/features/trust-admin/trust-score-config.component.ts`)
|
||||
- **Source**: SPRINT_20251229_046_FE_trust_scoring_dashboard
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/admin/trust`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the dashboard loads without errors and displays summary cards/metrics
|
||||
- [ ] Verify data refreshes correctly and loading states are shown
|
||||
- [ ] Verify empty state is displayed when no data is available
|
||||
- **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)
|
||||
@@ -1,42 +0,0 @@
|
||||
# UI-Driven Vulnerability Annotation and State Management
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
UI workflow for vulnerability lifecycle state management (open -> in_review -> mitigated -> closed, plus false_positive and deferred branches), VEX candidate review and approval with auto-generated justifications from Smart-Diff, and cryptographically auditable decision trails. Includes triage dashboard with severity filters and state transition modals.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/vulnerabilities/`
|
||||
- **Components**:
|
||||
- `claim-table` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/claim-table.component.ts`)
|
||||
- `confidence-meter` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/confidence-meter.component.ts`)
|
||||
- `policy-chips` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/policy-chips.component.ts`)
|
||||
- `replay-button` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/replay-button.component.ts`)
|
||||
- `trust-algebra` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/trust-algebra.component.ts`)
|
||||
- `trust-vector-bars` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/trust-vector-bars.component.ts`)
|
||||
- `vuln-triage-dashboard` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/vuln-triage-dashboard/vuln-triage-dashboard.component.ts`)
|
||||
- `vulnerability-detail` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/vulnerability-detail.component.ts`)
|
||||
- `vulnerability-explorer` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/vulnerability-explorer.component.ts`)
|
||||
- **Services**:
|
||||
- `trust-algebra` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/trust-algebra.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/trust-algebra.models.ts`
|
||||
- **Source**: SPRINT_4000_0100_0002_vuln_annotation.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/vulnerabilities`
|
||||
- [ ] 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)
|
||||
@@ -1,41 +0,0 @@
|
||||
# Unified Audit Log Viewer
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Cross-module unified audit log viewer with config diff viewer (Monaco-based), event correlation timeline, anomaly detection highlights, and timeline search.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/audit-log/`
|
||||
- **Routes**: `audit-log.routes.ts`
|
||||
- **Components**:
|
||||
- `audit-anomalies` (`src/Web/StellaOps.Web/src/app/features/audit-log/audit-anomalies.component.ts`)
|
||||
- `audit-authority` (`src/Web/StellaOps.Web/src/app/features/audit-log/audit-authority.component.ts`)
|
||||
- `audit-correlations` (`src/Web/StellaOps.Web/src/app/features/audit-log/audit-correlations.component.ts`)
|
||||
- `audit-event-detail` (`src/Web/StellaOps.Web/src/app/features/audit-log/audit-event-detail.component.ts`)
|
||||
- `audit-export` (`src/Web/StellaOps.Web/src/app/features/audit-log/audit-export.component.ts`)
|
||||
- `audit-integrations` (`src/Web/StellaOps.Web/src/app/features/audit-log/audit-integrations.component.ts`)
|
||||
- `audit-log-dashboard` (`src/Web/StellaOps.Web/src/app/features/audit-log/audit-log-dashboard.component.ts`)
|
||||
- `audit-log-table` (`src/Web/StellaOps.Web/src/app/features/audit-log/audit-log-table.component.ts`)
|
||||
- `audit-policy` (`src/Web/StellaOps.Web/src/app/features/audit-log/audit-policy.component.ts`)
|
||||
- `audit-timeline-search` (`src/Web/StellaOps.Web/src/app/features/audit-log/audit-timeline-search.component.ts`)
|
||||
- `audit-vex` (`src/Web/StellaOps.Web/src/app/features/audit-log/audit-vex.component.ts`)
|
||||
- **Source**: SPRINT_20251229_028_FE_unified_audit_log_viewer
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/admin/audit`
|
||||
- [ ] 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)
|
||||
@@ -1,45 +0,0 @@
|
||||
# Unified Settings Page (10 Categories)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
IMPLEMENTED
|
||||
|
||||
## Description
|
||||
Consolidated settings hub with 10 category panes (Integrations, Trust, Admin, Notifications, Security Data, Policy, Release Control, Branding, Usage, System) replacing scattered admin pages.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/settings/`
|
||||
- **Routes**: `settings.routes.ts`
|
||||
- **Components**:
|
||||
- `admin-settings-page` (`src/Web/StellaOps.Web/src/app/features/settings/admin/admin-settings-page.component.ts`)
|
||||
- `ai-preferences` (`src/Web/StellaOps.Web/src/app/features/settings/ai-preferences.component.ts`)
|
||||
- `branding-settings-page` (`src/Web/StellaOps.Web/src/app/features/settings/branding/branding-settings-page.component.ts`)
|
||||
- `determinization-config-pane` (`src/Web/StellaOps.Web/src/app/features/settings/determinization-config-pane.component.ts`)
|
||||
- `integration-detail-page` (`src/Web/StellaOps.Web/src/app/features/settings/integrations/integration-detail-page.component.ts`)
|
||||
- `integrations-settings-page` (`src/Web/StellaOps.Web/src/app/features/settings/integrations/integrations-settings-page.component.ts`)
|
||||
- `notifications-settings-page` (`src/Web/StellaOps.Web/src/app/features/settings/notifications/notifications-settings-page.component.ts`)
|
||||
- `policy-governance-settings-page` (`src/Web/StellaOps.Web/src/app/features/settings/policy/policy-governance-settings-page.component.ts`)
|
||||
- `release-control-settings-page` (`src/Web/StellaOps.Web/src/app/features/settings/release-control/release-control-settings-page.component.ts`)
|
||||
- `remediation-pr-settings` (`src/Web/StellaOps.Web/src/app/features/settings/remediation-pr-settings.component.ts`)
|
||||
- `security-data-settings-page` (`src/Web/StellaOps.Web/src/app/features/settings/security-data/security-data-settings-page.component.ts`)
|
||||
- `settings-page` (`src/Web/StellaOps.Web/src/app/features/settings/settings-page.component.ts`)
|
||||
- `system-settings-page` (`src/Web/StellaOps.Web/src/app/features/settings/system/system-settings-page.component.ts`)
|
||||
- `trust-settings-page` (`src/Web/StellaOps.Web/src/app/features/settings/trust/trust-settings-page.component.ts`)
|
||||
- `usage-settings-page` (`src/Web/StellaOps.Web/src/app/features/settings/usage/usage-settings-page.component.ts`)
|
||||
- **Source**: SPRINT_20260118_002_FE_settings_consolidation.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/settings`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify settings form loads with current values pre-populated
|
||||
- [ ] Verify changes can be saved and persist across page reloads
|
||||
- [ ] Verify validation prevents saving invalid configurations
|
||||
- **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)
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user