semi implemented and features implemented save checkpoint

This commit is contained in:
master
2026-02-08 18:00:49 +02:00
parent 04360dff63
commit 1bf6bbf395
20895 changed files with 716795 additions and 64 deletions

View File

@@ -0,0 +1,40 @@
# A/B Deploy Diff Panel
## Module
Web
## Status
IMPLEMENTED
## Description
Full deployment diff panel comparing security state between two image versions (A/B) with SBOM side-by-side view, component diff rows, policy hit annotations, override dialog, and deploy action bar. Enables visual security review before promotion.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/deploy-diff/`
- **Routes**: `deploy-diff.routes.ts`
- **Components**:
- `component-diff-row` (`src/Web/StellaOps.Web/src/app/features/deploy-diff/components/component-diff-row/component-diff-row.component.ts`)
- `deploy-action-bar` (`src/Web/StellaOps.Web/src/app/features/deploy-diff/components/deploy-action-bar/deploy-action-bar.component.ts`)
- `deploy-diff-panel` (`src/Web/StellaOps.Web/src/app/features/deploy-diff/components/deploy-diff-panel/deploy-diff-panel.component.ts`)
- `override-dialog` (`src/Web/StellaOps.Web/src/app/features/deploy-diff/components/override-dialog/override-dialog.component.ts`)
- `policy-hit-annotation` (`src/Web/StellaOps.Web/src/app/features/deploy-diff/components/policy-hit-annotation/policy-hit-annotation.component.ts`)
- `sbom-side-by-side` (`src/Web/StellaOps.Web/src/app/features/deploy-diff/components/sbom-side-by-side/sbom-side-by-side.component.ts`)
- **Services**:
- `deploy-diff` (`src/Web/StellaOps.Web/src/app/features/deploy-diff/services/deploy-diff.service.ts`)
- **Models**:
- `src/Web/StellaOps.Web/src/app/features/deploy-diff/models/deploy-diff.models.ts`
- **Source**: batch_38/file_18.md
## E2E Test Plan
- **Setup**:
- [ ] Log in with a user that has appropriate permissions
- [ ] Navigate to `/deploy-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)

View File

@@ -0,0 +1,43 @@
# Agent Fleet Dashboard UI
## Module
Web
## Status
IMPLEMENTED
## Description
Full agent fleet management UI with fleet dashboard overview, agent detail pages with health and tasks tabs, capacity heatmap visualization, fleet comparison views, agent action modals, and an onboarding wizard for new agent registration. The known features list has "Runtime Agent Framework" but not the fleet dashboard UI.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/agents/`
- **Routes**: `agents.routes.ts`
- **Components**:
- `agent-detail-page` (`src/Web/StellaOps.Web/src/app/features/agents/agent-detail-page.component.ts`)
- `agent-fleet-dashboard` (`src/Web/StellaOps.Web/src/app/features/agents/agent-fleet-dashboard.component.ts`)
- `agent-onboard-wizard` (`src/Web/StellaOps.Web/src/app/features/agents/agent-onboard-wizard.component.ts`)
- `agent-action-modal` (`src/Web/StellaOps.Web/src/app/features/agents/components/agent-action-modal/agent-action-modal.component.ts`)
- `agent-card` (`src/Web/StellaOps.Web/src/app/features/agents/components/agent-card/agent-card.component.ts`)
- `agent-health-tab` (`src/Web/StellaOps.Web/src/app/features/agents/components/agent-health-tab/agent-health-tab.component.ts`)
- `agent-tasks-tab` (`src/Web/StellaOps.Web/src/app/features/agents/components/agent-tasks-tab/agent-tasks-tab.component.ts`)
- `capacity-heatmap` (`src/Web/StellaOps.Web/src/app/features/agents/components/capacity-heatmap/capacity-heatmap.component.ts`)
- `fleet-comparison` (`src/Web/StellaOps.Web/src/app/features/agents/components/fleet-comparison/fleet-comparison.component.ts`)
- **Services**:
- `agent-realtime` (`src/Web/StellaOps.Web/src/app/features/agents/services/agent-realtime.service.ts`)
- **Models**:
- `src/Web/StellaOps.Web/src/app/features/agents/models/agent.models.ts`
- **Source**: SPRINT_20260118_023_FE_agent_fleet_visualization.md
## E2E Test Plan
- **Setup**:
- [ ] Log in with a user that has appropriate permissions
- [ ] Navigate to `/ops/agents`
- [ ] 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)

View File

@@ -0,0 +1,44 @@
# AI Autofix Button with Remediation Plan Preview and PR Tracker
## Module
Web
## Status
IMPLEMENTED
## Description
Three-component AI remediation workflow: (1) Autofix button that triggers AI-assisted remediation planning per finding, (2) Remediation plan preview showing 3-line summary, step-by-step instructions with code diffs, impact assessment, and Approve/Create PR actions, (3) PR tracker monitoring remediation pull requests with CI check statuses, review status, and merge/close actions across multi-SCM providers.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/advisory-ai/`
- **Components**:
- `autofix-button` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/autofix-button.component.ts`)
- `action-button` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/action-button.component.ts`)
- `chat-message` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat-message.component.ts`)
- `chat` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat.component.ts`)
- `object-link-chip` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/object-link-chip.component.ts`)
- `evidence-drilldown` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/evidence-drilldown.component.ts`)
- `explain-button` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/explain-button.component.ts`)
- `explanation-panel` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/explanation-panel.component.ts`)
- `plain-language-toggle` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/plain-language-toggle.component.ts`)
- `pr-tracker` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/pr-tracker.component.ts`)
- `remediation-plan-preview` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/remediation-plan-preview.component.ts`)
- **Services**:
- `chat` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat.service.ts`)
- **Models**:
- `src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat.models.ts`
- **Source**: Feature matrix scan
## 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)

View File

@@ -0,0 +1,44 @@
# AI Chat Panel UI
## Module
Web
## Status
IMPLEMENTED
## Description
Full Advisory AI chat panel with message rendering, action buttons, object link chips, evidence drilldown, and explanation panels is implemented in the Angular frontend.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/advisory-ai/`
- **Components**:
- `autofix-button` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/autofix-button.component.ts`)
- `action-button` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/action-button.component.ts`)
- `chat-message` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat-message.component.ts`)
- `chat` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat.component.ts`)
- `object-link-chip` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/object-link-chip.component.ts`)
- `evidence-drilldown` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/evidence-drilldown.component.ts`)
- `explain-button` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/explain-button.component.ts`)
- `explanation-panel` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/explanation-panel.component.ts`)
- `plain-language-toggle` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/plain-language-toggle.component.ts`)
- `pr-tracker` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/pr-tracker.component.ts`)
- `remediation-plan-preview` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/remediation-plan-preview.component.ts`)
- **Services**:
- `chat` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat.service.ts`)
- **Models**:
- `src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat.models.ts`
- **Source**: Feature matrix scan
## 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 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)

View File

@@ -0,0 +1,36 @@
# AI Chip Components (Progressive Disclosure UX)
## Module
Web
## Status
IMPLEMENTED
## Description
UX pattern for AI results surfacing with compact chips, 3-line doctrine, progressive disclosure. All core AI chip components are implemented covering explain, exploitability, fix, needs-evidence, VEX draft, authority badge, assist panel, and summary.
## Implementation Details
- **AI chip components** (10 components):
- `ai-chip` (`src/Web/StellaOps.Web/src/app/shared/components/ai/ai-chip.component.ts`)
- `ai-explain-chip` (`src/Web/StellaOps.Web/src/app/shared/components/ai/ai-explain-chip.component.ts`)
- `ai-exploitability-chip` (`src/Web/StellaOps.Web/src/app/shared/components/ai/ai-exploitability-chip.component.ts`)
- `ai-fix-chip` (`src/Web/StellaOps.Web/src/app/shared/components/ai/ai-fix-chip.component.ts`)
- `ai-needs-evidence-chip` (`src/Web/StellaOps.Web/src/app/shared/components/ai/ai-needs-evidence-chip.component.ts`)
- `ai-vex-draft-chip` (`src/Web/StellaOps.Web/src/app/shared/components/ai/ai-vex-draft-chip.component.ts`)
- `ai-authority-badge` (`src/Web/StellaOps.Web/src/app/shared/components/ai/ai-authority-badge.component.ts`)
- `ai-assist-panel` (`src/Web/StellaOps.Web/src/app/shared/components/ai/ai-assist-panel.component.ts`)
- `ai-summary` (`src/Web/StellaOps.Web/src/app/shared/components/ai/ai-summary.component.ts`)
- `ask-stella-button` (`src/Web/StellaOps.Web/src/app/shared/components/ai/ask-stella-button.component.ts`)
- **List view integration**: `ai-chip-row.component.ts` (`src/Web/StellaOps.Web/src/app/features/findings/ai-chip-row.component.ts`)
- **Code guard badge**: `ai-code-guard-badge.component.ts` (`src/Web/StellaOps.Web/src/app/features/triage/components/ai-code-guard-badge/`)
- **E2E tests**: `ai-chip-visual.e2e.spec.ts` (`src/Web/StellaOps.Web/src/app/shared/components/ai/__tests__/`)
## E2E Test Plan
- [ ] Verify all AI chip variants render with correct status color and label
- [ ] Verify chips update reactively when underlying data changes
- [ ] Verify tooltip or popover shows additional detail on hover
- [ ] Verify progressive disclosure: compact chip expands to full explanation panel
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
## Related Documentation
- Source: See feature catalog

View File

@@ -0,0 +1,44 @@
# AI Preferences and Verbosity Settings UI
## Module
Web
## Status
IMPLEMENTED
## Description
User-facing settings page for configuring AI explanation verbosity levels, preferred explanation types, and AI feature visibility toggles. Persists preferences per user session.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/advisory-ai/`
- **Components**:
- `autofix-button` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/autofix-button.component.ts`)
- `action-button` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/action-button.component.ts`)
- `chat-message` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat-message.component.ts`)
- `chat` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat.component.ts`)
- `object-link-chip` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/object-link-chip.component.ts`)
- `evidence-drilldown` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/evidence-drilldown.component.ts`)
- `explain-button` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/explain-button.component.ts`)
- `explanation-panel` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/explanation-panel.component.ts`)
- `plain-language-toggle` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/plain-language-toggle.component.ts`)
- `pr-tracker` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/pr-tracker.component.ts`)
- `remediation-plan-preview` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/remediation-plan-preview.component.ts`)
- **Services**:
- `chat` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat.service.ts`)
- **Models**:
- `src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat.models.ts`
- **Source**: SPRINT_20251226_020_FE_ai_ux_patterns.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 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)

View File

@@ -0,0 +1,62 @@
# AI Recommendation Panel for Triage
## Module
Web
## Status
IMPLEMENTED
## Description
AI-powered recommendation panel for vulnerability triage with advisory AI service integration.
## 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 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)

View File

@@ -0,0 +1,41 @@
# AI Summary 3-Line Component
## Module
Web
## Status
IMPLEMENTED
## Description
Compact 3-line AI summary component providing at-a-glance severity assessment, key finding highlights, and recommended action for each vulnerability finding. Designed for progressive disclosure in list views.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/ai/`
- **Components**:
- `ai-assist-panel` (`src/Web/StellaOps.Web/src/app/shared/components/ai/ai-assist-panel.component.ts`)
- `ai-authority-badge` (`src/Web/StellaOps.Web/src/app/shared/components/ai/ai-authority-badge.component.ts`)
- `ai-chip` (`src/Web/StellaOps.Web/src/app/shared/components/ai/ai-chip.component.ts`)
- `ai-explain-chip` (`src/Web/StellaOps.Web/src/app/shared/components/ai/ai-explain-chip.component.ts`)
- `ai-exploitability-chip` (`src/Web/StellaOps.Web/src/app/shared/components/ai/ai-exploitability-chip.component.ts`)
- `ai-fix-chip` (`src/Web/StellaOps.Web/src/app/shared/components/ai/ai-fix-chip.component.ts`)
- `ai-needs-evidence-chip` (`src/Web/StellaOps.Web/src/app/shared/components/ai/ai-needs-evidence-chip.component.ts`)
- `ai-summary` (`src/Web/StellaOps.Web/src/app/shared/components/ai/ai-summary.component.ts`)
- `ai-vex-draft-chip` (`src/Web/StellaOps.Web/src/app/shared/components/ai/ai-vex-draft-chip.component.ts`)
- `ask-stella-button` (`src/Web/StellaOps.Web/src/app/shared/components/ai/ask-stella-button.component.ts`)
- `ask-stella-panel` (`src/Web/StellaOps.Web/src/app/shared/components/ai/ask-stella-panel.component.ts`)
- `llm-unavailable` (`src/Web/StellaOps.Web/src/app/shared/components/ai/llm-unavailable.component.ts`)
- **Source**: SPRINT_20251226_020_FE_ai_ux_patterns.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)

View File

@@ -0,0 +1,35 @@
# AOC Verification Action with CLI Parity Guidance
## Module
Web
## Status
IMPLEMENTED
## Description
AOC compliance verification action component that triggers tenant-scoped document verification with configurable time windows. Includes violation drilldown with by-violation and by-document view modes, raw document viewer, and CLI parity guidance showing equivalent CLI commands with flags and examples.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/aoc-compliance/`
- **Routes**: `aoc-compliance.routes.ts`
- **Components**:
- `aoc-compliance-dashboard` (`src/Web/StellaOps.Web/src/app/features/aoc-compliance/aoc-compliance-dashboard.component.ts`)
- `compliance-report` (`src/Web/StellaOps.Web/src/app/features/aoc-compliance/compliance-report.component.ts`)
- `guard-violations-list` (`src/Web/StellaOps.Web/src/app/features/aoc-compliance/guard-violations-list.component.ts`)
- `ingestion-flow` (`src/Web/StellaOps.Web/src/app/features/aoc-compliance/ingestion-flow.component.ts`)
- `provenance-validator` (`src/Web/StellaOps.Web/src/app/features/aoc-compliance/provenance-validator.component.ts`)
- **Source**: Feature matrix scan
## E2E Test Plan
- **Setup**:
- [ ] Log in with a user that has appropriate permissions
- [ ] Navigate to `/ops/aoc`
- [ ] 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)

View File

@@ -0,0 +1,35 @@
# Approval Detail with Reachability Witness Panel
## Module
Web
## Status
IMPLEMENTED
## Description
Split-pane approval detail with diff + gates on left and decision + comments on right, featuring the reachability witness panel ("The Moat") showing reachability evidence for each finding.
## 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_20260118_005_FE_approvals_feature.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 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)

View File

@@ -0,0 +1,35 @@
# Approvals Inbox with Diff-First Presentation
## Module
Web
## Status
IMPLEMENTED
## Description
Approvals inbox showing pending approval requests with diff-first card design highlighting what changed, enabling quick triage of release promotion requests.
## 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_20260118_005_FE_approvals_feature.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 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)

View File

@@ -0,0 +1,36 @@
# Attested Score UI (Reduction Profile, Hard-Fail, Proof Anchors)
## Module
Web
## Status
IMPLEMENTED
## Description
UI surfaces for attested-reduction scoring including reduction profile metadata, hard-fail status display, proof anchor details (DSSE digest, Rekor log index), and new score badges for anchored/hard-fail states.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/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`)
- **Source**: SPRINT_20260112_004_FE_attested_score_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)

View File

@@ -0,0 +1,62 @@
# Audit Bundle Create Modal (3-Step Wizard)
## Module
Web
## Status
IMPLEMENTED
## Description
Three-step wizard for creating audit bundles: select scope (release/environment/date range), choose evidence types, and configure signing/export options.
## 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_006_FE_evidence_unification.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)

View File

@@ -0,0 +1,62 @@
# Audit Bundle Export
## Module
Web
## Status
IMPLEMENTED
## Description
Export actions component and audit pack dialog for exporting delta evidence as audit bundles.
## 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 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)

View File

@@ -0,0 +1,35 @@
# Auditor Workspace (Compliance-Focused Triage View)
## Module
Web
## Status
IMPLEMENTED
## Description
Auditor-focused workspace with a review ribbon showing policy/attestation/coverage summary, export Audit-Pack CTA with configurable options, and a Quiet-Triage lane with signed audit action buttons (accept, reject, flag) including attestation-backed verdicts.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/workspaces/auditor/`
- **Routes**: `auditor-workspace.routes.ts`
- **Components**:
- `auditor-workspace` (`src/Web/StellaOps.Web/src/app/features/workspaces/auditor/components/auditor-workspace/auditor-workspace.component.ts`)
- **Services**:
- `auditor-workspace` (`src/Web/StellaOps.Web/src/app/features/workspaces/auditor/services/auditor-workspace.service.ts`)
- **Models**:
- `src/Web/StellaOps.Web/src/app/features/workspaces/auditor/models/auditor-workspace.models.ts`
- **Source**: Feature matrix scan
## E2E Test Plan
- **Setup**:
- [ ] Log in with a user that has appropriate permissions
- [ ] Navigate to `/workspace/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)

View File

@@ -0,0 +1,31 @@
# B2R2 LowUIR IR Lifting for Semantic Binary Analysis
## Module
Web
## Status
IMPLEMENTED
## Description
B2R2 LowUIR adapter for intermediate representation lifting, bounded lifter pool with ISA warm preload, and Valkey-backed function-level IR cache with PostgreSQL persistence for deterministic semantic fingerprints.
## 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_20260112_004_BINIDX_b2r2_lowuir_perf_cache.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)

View File

@@ -0,0 +1,30 @@
# Backport Resolution UI with Function Diff Viewer
## Module
Web
## Status
IMPLEMENTED
## Description
Frontend UI for browsing binary backport resolution results. Includes a ResolutionChipComponent (showing resolved/unresolved status), an EvidenceDrawerComponent (side panel with proof artifacts), and a FunctionDiffComponent (displaying function-level binary diffs between patched and unpatched versions). Integrates into the vulnerability detail view with e2e test coverage.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/function-diff/`
- **Components**:
- `function-diff` (`src/Web/StellaOps.Web/src/app/shared/components/function-diff/function-diff.component.ts`)
- **Source**: SPRINT_1227_0003_0001_FE_backport_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 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)

View File

@@ -0,0 +1,30 @@
# Binary-Diff Panel UI Component
## Module
Web
## Status
IMPLEMENTED
## Description
Angular component providing side-by-side binary diff visualization with scope selector (file/section/function level), hex view toggle, and integration with the binary diff backend service for patch detection review.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/binary-diff/`
- **Components**:
- `binary-diff-panel` (`src/Web/StellaOps.Web/src/app/shared/components/binary-diff/binary-diff-panel.component.ts`)
- **Source**: SPRINT_20260117_018_FE
## 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)

View File

@@ -0,0 +1,31 @@
# BinaryIndex Ops UI (Lifter Warmness, Bench, Cache Stats, Config View)
## Module
Web
## Status
IMPLEMENTED
## Description
BinaryIndex ops page with tabbed interface showing lifter warmness, bench latency summary, Valkey function cache stats, and read-only effective configuration with auto-refresh.
## 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_20260112_005_FE_binaryindex_ops_ui.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)

View File

@@ -0,0 +1,32 @@
# "Can I Ship?" Case Header (Verdict Display)
## Module
Web
## Status
IMPLEMENTED
## Description
Verdict display case header showing pass/block/exception verdict with finding counts, delta from baseline, and attestation linkage. Implemented as a dedicated triage component.
## Implementation Details
- **CaseHeaderComponent**: `src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.ts`
- `CaseHeaderData` with verdict ('ship' | 'block' | 'exception'), findingCount, criticalCount, highCount, actionableCount, deltaFromBaseline, attestationId, snapshotId, evaluatedAt
- `DeltaInfo` with newBlockers, resolvedBlockers, newFindings, resolvedFindings, baselineName
- **Unit tests**: `src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.spec.ts`
- **Verdict components**:
- `evidence-graph` (`src/Web/StellaOps.Web/src/app/features/verdicts/components/evidence-graph/evidence-graph.component.ts`)
- `policy-breadcrumb` (`src/Web/StellaOps.Web/src/app/features/verdicts/components/policy-breadcrumb/policy-breadcrumb.component.ts`)
- `verdict-actions` (`src/Web/StellaOps.Web/src/app/features/verdicts/components/verdict-actions/verdict-actions.component.ts`)
- `verdict-detail-panel` (`src/Web/StellaOps.Web/src/app/features/verdicts/components/verdict-detail-panel/verdict-detail-panel.component.ts`)
- `verdict.service.ts` (`src/Web/StellaOps.Web/src/app/features/verdicts/services/verdict.service.ts`)
## E2E Test Plan
- [ ] Verify case header displays correct verdict (ship/block/exception)
- [ ] Verify finding counts (critical, high, actionable) are accurate
- [ ] Verify delta from baseline shows new/resolved blockers and findings
- [ ] Verify attestation ID links to attestation detail
- [ ] Verify accessibility (keyboard navigation, screen reader labels)
## Related Documentation
- Source: See feature catalog

View File

@@ -0,0 +1,41 @@
# Causal Timeline with Critical Path and Event Detail
## Module
Web
## Status
IMPLEMENTED
## Description
Full-featured causal timeline view with lane-based event visualization (D3.js, one lane per service), critical path highlighting, event detail panel, evidence links, timeline export, filtering, HLC range picker, and forensic export button. Supports correlation ID-based navigation for tracing release pipeline events. (Merged with Timeline UI Component from Phase 2 (none) section.)
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/timeline/`
- **Routes**: `timeline.routes.ts`
- **Components**:
- `causal-lanes` (`src/Web/StellaOps.Web/src/app/features/timeline/components/causal-lanes/causal-lanes.component.ts`)
- `critical-path` (`src/Web/StellaOps.Web/src/app/features/timeline/components/critical-path/critical-path.component.ts`)
- `event-detail-panel` (`src/Web/StellaOps.Web/src/app/features/timeline/components/event-detail-panel/event-detail-panel.component.ts`)
- `evidence-links` (`src/Web/StellaOps.Web/src/app/features/timeline/components/evidence-links/evidence-links.component.ts`)
- `export-button` (`src/Web/StellaOps.Web/src/app/features/timeline/components/export-button/export-button.component.ts`)
- `timeline-filter` (`src/Web/StellaOps.Web/src/app/features/timeline/components/timeline-filter/timeline-filter.component.ts`)
- `timeline-page` (`src/Web/StellaOps.Web/src/app/features/timeline/pages/timeline-page/timeline-page.component.ts`)
- **Services**:
- `timeline` (`src/Web/StellaOps.Web/src/app/features/timeline/services/timeline.service.ts`)
- **Models**:
- `src/Web/StellaOps.Web/src/app/features/timeline/models/timeline.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)

View File

@@ -0,0 +1,30 @@
# CGS Badge Component (Copy and Replay Hash)
## Module
Web
## Status
IMPLEMENTED
## Description
UI badge component displaying Canonical Graph Signature (CGS) hash with one-click copy-to-clipboard and replay verification trigger. Shows truncated hash with tooltip for full value and confidence score indicator.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/badge/`
- **Components**:
- `badge` (`src/Web/StellaOps.Web/src/app/shared/components/badge/badge.component.ts`)
- **Source**: SPRINT_20251229_001_003_FE_lineage_graph.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)

View File

@@ -0,0 +1,31 @@
# Confidence Breakdown Visualization (Factor Bar Chart)
## Module
Web
## Status
IMPLEMENTED
## Description
Visual bar chart breakdown showing how each evidence factor (SBOM, VEX, reachability, binary analysis, attestation) contributes to the overall confidence score. Includes per-factor chip components with drill-down capability.
## 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**: SPRINT_20251229_001_004_FE_proof_studio.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)

View File

@@ -0,0 +1,38 @@
# Configuration Pane (Integration Status Dashboard)
## Module
Web
## Status
IMPLEMENTED
## Description
Console-level configuration pane showing integration status grouped by sections with connection health, detail views per integration, and a state management service for tracking configuration changes.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/configuration-pane/`
- **Routes**: `configuration-pane.routes.ts`
- **Components**:
- `configuration-pane` (`src/Web/StellaOps.Web/src/app/features/configuration-pane/components/configuration-pane.component.ts`)
- `integration-detail` (`src/Web/StellaOps.Web/src/app/features/configuration-pane/components/integration-detail.component.ts`)
- `integration-section` (`src/Web/StellaOps.Web/src/app/features/configuration-pane/components/integration-section.component.ts`)
- **Services**:
- `configuration-pane-api` (`src/Web/StellaOps.Web/src/app/features/configuration-pane/services/configuration-pane-api.service.ts`)
- `configuration-pane-state` (`src/Web/StellaOps.Web/src/app/features/configuration-pane/services/configuration-pane-state.service.ts`)
- **Models**:
- `src/Web/StellaOps.Web/src/app/features/configuration-pane/models/configuration-pane.models.ts`
- **Source**: Feature matrix scan
## E2E Test Plan
- **Setup**:
- [ ] Log in with a user that has appropriate permissions
- [ ] Navigate to `/console/configuration`
- [ ] 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)

View File

@@ -0,0 +1,34 @@
# Context Status Chips (Offline/Feed/Policy/Evidence)
## Module
Web
## Status
IMPLEMENTED
## Description
No description available.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/layout/context-chips/`
- **Components**:
- `context-chips` (`src/Web/StellaOps.Web/src/app/layout/context-chips/context-chips.component.ts`)
- `evidence-mode-chip` (`src/Web/StellaOps.Web/src/app/layout/context-chips/evidence-mode-chip.component.ts`)
- `feed-snapshot-chip` (`src/Web/StellaOps.Web/src/app/layout/context-chips/feed-snapshot-chip.component.ts`)
- `offline-status-chip` (`src/Web/StellaOps.Web/src/app/layout/context-chips/offline-status-chip.component.ts`)
- `policy-baseline-chip` (`src/Web/StellaOps.Web/src/app/layout/context-chips/policy-baseline-chip.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 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)

View File

@@ -0,0 +1,36 @@
# Contextual Command Bar ("Ask Stella")
## Status
IMPLEMENTED
## Description
Proposed scoped command bar that auto-scopes to current context with suggested prompts. Not yet implemented.
## Why Marked as Dropped (Correction)
**FINDING: The "Ask Stella" contextual command bar IS implemented.** The following components exist:
- `src/Web/StellaOps.Web/src/app/shared/components/ai/ask-stella-button.component.ts` -- floating button to open the panel
- `src/Web/StellaOps.Web/src/app/shared/components/ai/ask-stella-panel.component.ts` -- contextual panel with suggested prompts
- E2E tests at `src/Web/StellaOps.Web/src/app/shared/components/ai/__tests__/ask-stella.e2e.spec.ts` verify:
- Button visibility and panel toggle
- Context-scoped suggested prompt chips (auto-populated based on current page context)
- Context awareness chips showing current page/component context
- Prompt submission with loading state and response display
## Implementation Details
- Button component: `ask-stella-button.component.ts`
- Panel component: `ask-stella-panel.component.ts` with `.ask-stella-panel__prompt-chip`, `.ask-stella-panel__context-chip`, `.ask-stella-panel__response` selectors
- AI assist panel: `ai-assist-panel.component.ts`
- LLM unavailable fallback: `llm-unavailable.component.ts`
- E2E test: `ask-stella.e2e.spec.ts` (5+ test cases covering button, context, prompts, responses)
## E2E Test Plan
- Already has E2E tests covering core functionality
- Additional coverage: verify context scoping changes when navigating between pages
## Source
- Feature matrix scan
## Notes
- Module: Web
- Modules referenced: `src/Web`
- **Status should be reclassified from NOT_FOUND to IMPLEMENTED**

View File

@@ -0,0 +1,31 @@
# Control Plane Dashboard (Release-Centric Landing Page)
## Module
Web
## Status
IMPLEMENTED
## Description
New landing page replacing security-centric home with release control plane view including environment pipeline visualization, action inbox, drift & risk changes, and pending promotions table.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/control-plane/`
- **Routes**: `control-plane.routes.ts`
- **Components**:
- `control-plane-dashboard` (`src/Web/StellaOps.Web/src/app/features/control-plane/control-plane-dashboard.component.ts`)
- **Source**: SPRINT_20260118_003_FE_control_plane_home.md
## E2E Test Plan
- **Setup**:
- [ ] Log in with a user that has appropriate permissions
- [ ] Navigate to `/`
- [ ] 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)

View File

@@ -0,0 +1,35 @@
# CycloneDX Evidence Panel with Pedigree Timeline
## Module
Web
## Status
IMPLEMENTED
## Description
Component detail page with CycloneDX 1.7 evidence panel showing identity evidence with detection methods, occurrence file paths, license evidence with acknowledgement status, and copyright information. Includes a D3.js horizontal pedigree timeline visualization showing ancestor-variant-current component lineage, a patch list viewer with diff rendering, and commit info display.
## 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**: 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 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)

View File

@@ -0,0 +1,33 @@
# Dead-Letter Queue Management UI
## Module
Web
## Status
IMPLEMENTED
## Description
Dead-letter queue browser with message inspection, replay workflows (single/batch/all), error diagnostics panel, and bulk actions for queue management.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/deadletter/`
- **Routes**: `deadletter.routes.ts`
- **Components**:
- `deadletter-dashboard` (`src/Web/StellaOps.Web/src/app/features/deadletter/deadletter-dashboard.component.ts`)
- `deadletter-entry-detail` (`src/Web/StellaOps.Web/src/app/features/deadletter/deadletter-entry-detail.component.ts`)
- `deadletter-queue` (`src/Web/StellaOps.Web/src/app/features/deadletter/deadletter-queue.component.ts`)
- **Source**: SPRINT_20251229_030_FE_deadletter_management_ui
## E2E Test Plan
- **Setup**:
- [ ] Log in with a user that has appropriate permissions
- [ ] Navigate to `/ops/orchestrator/dead-letter`
- [ ] 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)

View File

@@ -0,0 +1,62 @@
# Decision Drawer for VEX Decisions
## Module
Web
## Status
IMPLEMENTED
## Description
Enhanced decision drawer component for making VEX triage decisions from the evidence view.
## 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 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)

View File

@@ -0,0 +1,50 @@
# Delta Summary Strip
## Module
Web
## Status
IMPLEMENTED
## Description
Delta summary strip component shows before/after comparison statistics in the compare view header.
## 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)

View File

@@ -0,0 +1,50 @@
# Delta Table (Risk Decay per Release)
## Module
Web
## Status
IMPLEMENTED
## Description
Side-by-side diff component in the risk feature comparing before/after states per release, integrated into the risk dashboard.
## 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 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)

View File

@@ -0,0 +1,50 @@
# Delta Verdict / Compare View UI
## Module
Web
## Status
IMPLEMENTED
## Description
Full compare/delta view UI with dedicated feature area including components, services, and implementation summary. Deploy-diff feature for release-level comparison. Verdicts feature for verdict display and management.
## 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 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)

View File

@@ -0,0 +1,32 @@
# Deployment Detail with Workflow DAG Visualization
## Module
Web
## Status
IMPLEMENTED
## Description
Deployment detail page with workflow DAG visualization showing deployment step execution, artifact promotion flow, and gate evaluation results.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/deployments/`
- **Routes**: `deployments.routes.ts`
- **Components**:
- `deployment-detail-page` (`src/Web/StellaOps.Web/src/app/features/deployments/deployment-detail-page.component.ts`)
- `deployments-list-page` (`src/Web/StellaOps.Web/src/app/features/deployments/deployments-list-page.component.ts`)
- **Source**: SPRINT_20260118_008_FE_environments_deployments.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 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)

View File

@@ -0,0 +1,32 @@
# Deployment Monitoring UI (Live Logs, Rollback)
## Module
Web
## Status
IMPLEMENTED
## Description
Real-time deployment monitoring with per-target progress tracking, live log streaming, deployment actions (pause/resume/cancel), and rollback capabilities.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/deployments/`
- **Routes**: `deployments.routes.ts`
- **Components**:
- `deployment-detail-page` (`src/Web/StellaOps.Web/src/app/features/deployments/deployment-detail-page.component.ts`)
- `deployments-list-page` (`src/Web/StellaOps.Web/src/app/features/deployments/deployments-list-page.component.ts`)
- **Source**: SPRINT_20260110_111_006_FE_deployment_monitoring_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)

View File

@@ -0,0 +1,33 @@
# Determinization Config Pane UI
## Module
Web
## Status
IMPLEMENTED
## Description
Dedicated settings pane for configuring determinization parameters (reanalysis interval, confidence thresholds, auto-promote rules) with form validation and live preview of policy effects on grey-queue items.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/determinization/`
- **Components**:
- `decay-progress` (`src/Web/StellaOps.Web/src/app/shared/components/determinization/decay-progress/decay-progress.component.ts`)
- `guardrails-badge` (`src/Web/StellaOps.Web/src/app/shared/components/determinization/guardrails-badge/guardrails-badge.component.ts`)
- `observation-state-chip` (`src/Web/StellaOps.Web/src/app/shared/components/determinization/observation-state-chip/observation-state-chip.component.ts`)
- `uncertainty-indicator` (`src/Web/StellaOps.Web/src/app/shared/components/determinization/uncertainty-indicator/uncertainty-indicator.component.ts`)
- **Source**: SPRINT_20260112_013_FE_determinization_config_pane.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 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)

View File

@@ -0,0 +1,33 @@
# Determinization UI Components (Observation State Chip + Uncertainty Indicator)
## Module
Web
## Status
IMPLEMENTED
## Description
Angular UI components for CVE observation state management: "Unknown (auto-tracking)" chip with next review ETA, uncertainty tier visualization, guardrails status/monitoring badges, decay progress indicator, observation details panel, and observation review queue for pending items.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/determinization/`
- **Components**:
- `decay-progress` (`src/Web/StellaOps.Web/src/app/shared/components/determinization/decay-progress/decay-progress.component.ts`)
- `guardrails-badge` (`src/Web/StellaOps.Web/src/app/shared/components/determinization/guardrails-badge/guardrails-badge.component.ts`)
- `observation-state-chip` (`src/Web/StellaOps.Web/src/app/shared/components/determinization/observation-state-chip/observation-state-chip.component.ts`)
- `uncertainty-indicator` (`src/Web/StellaOps.Web/src/app/shared/components/determinization/uncertainty-indicator/uncertainty-indicator.component.ts`)
- **Source**: SPRINT_20260106_001_005_FE_determinization_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)

View File

@@ -0,0 +1,35 @@
# Developer Workspace (Role-Based Findings View)
## Module
Web
## Status
IMPLEMENTED
## Description
Developer-focused workspace assembling Evidence Ribbon, Quick-Verify CTA with streaming progress, a sortable findings rail with severity/reachability/runtime indicators, and action stubs for creating GitHub issues or Jira tickets from findings.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/workspaces/developer/`
- **Routes**: `developer-workspace.routes.ts`
- **Components**:
- `developer-workspace` (`src/Web/StellaOps.Web/src/app/features/workspaces/developer/components/developer-workspace/developer-workspace.component.ts`)
- **Services**:
- `developer-workspace` (`src/Web/StellaOps.Web/src/app/features/workspaces/developer/services/developer-workspace.service.ts`)
- **Models**:
- `src/Web/StellaOps.Web/src/app/features/workspaces/developer/models/developer-workspace.models.ts`
- **Source**: Feature matrix scan
## E2E Test Plan
- **Setup**:
- [ ] Log in with a user that has appropriate permissions
- [ ] Navigate to `/workspace/dev`
- [ ] 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)

View File

@@ -0,0 +1,39 @@
# Display Preferences Service (User Setting Toggles)
## Module
Web
## Status
IMPLEMENTED
## Description
Configurable display settings (showRuntimeOverlays, enableTraceExport, showRiskLine, showSignedOverrideIndicators, graph settings) persisted to localStorage with auto-sync.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/triage/services/`
- **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`)
- **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 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)

View File

@@ -0,0 +1,36 @@
# Domain Widget Library (DigestChip, GateBadge, ReachabilityStateChip, WitnessPathPreview, EvidenceLink, GateSummaryPanel)
## Module
Web
## Status
IMPLEMENTED
## Description
Six reusable domain-specific widgets: DigestChip (truncated digest with copy), GateBadge (gate level display), ReachabilityStateChip (R0-R3 state), WitnessPathPreview (call path snippet), EvidenceLink (attestation link), GateSummaryPanel (gate overview).
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/domain/`
- **Components**:
- `digest-chip` (`src/Web/StellaOps.Web/src/app/shared/domain/digest-chip/digest-chip.component.ts`)
- `evidence-link` (`src/Web/StellaOps.Web/src/app/shared/domain/evidence-link/evidence-link.component.ts`)
- `gate-badge` (`src/Web/StellaOps.Web/src/app/shared/domain/gate-badge/gate-badge.component.ts`)
- `gate-summary-panel` (`src/Web/StellaOps.Web/src/app/shared/domain/gate-summary-panel/gate-summary-panel.component.ts`)
- `reachability-state-chip` (`src/Web/StellaOps.Web/src/app/shared/domain/reachability-state-chip/reachability-state-chip.component.ts`)
- `witness-path-preview` (`src/Web/StellaOps.Web/src/app/shared/domain/witness-path-preview/witness-path-preview.component.ts`)
- `witness-status-chip` (`src/Web/StellaOps.Web/src/app/shared/domain/witness-status-chip/witness-status-chip.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 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)

View File

@@ -0,0 +1,36 @@
# Entropy Analysis Panel and Policy Banner
## Module
Web
## Status
IMPLEMENTED
## Description
Shared UI components for displaying entropy analysis results on container images. The Entropy Panel shows layer-level entropy scores, high-entropy file details, and detector hints. The Entropy Policy Banner displays policy thresholds (warn/block) with the current entropy score and mitigation steps.
## 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**: Feature matrix scan
## 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 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)

View File

@@ -0,0 +1,32 @@
# 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)

View File

@@ -0,0 +1,35 @@
# 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)

View File

@@ -0,0 +1,35 @@
# 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)

View File

@@ -0,0 +1,30 @@
# 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)

View File

@@ -0,0 +1,30 @@
# 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)

View File

@@ -0,0 +1,30 @@
# 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)

View File

@@ -0,0 +1,34 @@
# 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)

View File

@@ -0,0 +1,39 @@
# 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)

View File

@@ -0,0 +1,62 @@
# 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)

View File

@@ -0,0 +1,62 @@
# 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)

View File

@@ -0,0 +1,30 @@
# "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)

View File

@@ -0,0 +1,57 @@
# 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)

View File

@@ -0,0 +1,43 @@
# 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)

View File

@@ -0,0 +1,32 @@
# 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)

View File

@@ -0,0 +1,30 @@
# 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)

View File

@@ -0,0 +1,32 @@
# 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)

View File

@@ -0,0 +1,43 @@
# 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)

View File

@@ -0,0 +1,31 @@
# 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)

View File

@@ -0,0 +1,30 @@
# 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)

View File

@@ -0,0 +1,30 @@
# Global Search Component (Cmd+K)
## Module
Web
## Status
IMPLEMENTED
## Description
Command-palette-style global search (Cmd+K / Ctrl+K) for quick navigation to releases, findings, environments, and settings across the entire application.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/layout/global-search/`
- **Components**:
- `global-search` (`src/Web/StellaOps.Web/src/app/layout/global-search/global-search.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 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)

View File

@@ -0,0 +1,37 @@
# 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)

View File

@@ -0,0 +1,37 @@
# 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)

View File

@@ -0,0 +1,30 @@
# 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)

View File

@@ -0,0 +1,42 @@
# 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)

View File

@@ -0,0 +1,38 @@
# 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)

View File

@@ -0,0 +1,38 @@
# 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)

View File

@@ -0,0 +1,35 @@
# 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)

View File

@@ -0,0 +1,62 @@
# 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)

View File

@@ -0,0 +1,32 @@
# Left Rail Navigation Shell
## Module
Web
## Status
IMPLEMENTED
## Description
CSS Grid-based application shell with persistent left sidebar navigation (7 nav sections), replacing the previous mega-menu navigation pattern.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/layout/app-sidebar/`
- **Components**:
- `app-sidebar` (`src/Web/StellaOps.Web/src/app/layout/app-sidebar/app-sidebar.component.ts`)
- `sidebar-nav-group` (`src/Web/StellaOps.Web/src/app/layout/app-sidebar/sidebar-nav-group.component.ts`)
- `sidebar-nav-item` (`src/Web/StellaOps.Web/src/app/layout/app-sidebar/sidebar-nav-item.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)

View File

@@ -0,0 +1,29 @@
# 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)

View File

@@ -0,0 +1,57 @@
# 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)

View File

@@ -0,0 +1,57 @@
# 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)

View File

@@ -0,0 +1,57 @@
# 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)

View File

@@ -0,0 +1,31 @@
# 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)

View File

@@ -0,0 +1,31 @@
# 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)

View File

@@ -0,0 +1,28 @@
# 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)

View File

@@ -0,0 +1,28 @@
# 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)

View File

@@ -0,0 +1,47 @@
# 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)

View File

@@ -0,0 +1,30 @@
# 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)

View File

@@ -0,0 +1,28 @@
# 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)

View File

@@ -0,0 +1,50 @@
# 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)

View File

@@ -0,0 +1,45 @@
# 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)

View File

@@ -0,0 +1,35 @@
# 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)

View File

@@ -0,0 +1,35 @@
# 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)

View File

@@ -0,0 +1,37 @@
# 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)

View File

@@ -0,0 +1,30 @@
# 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)

View File

@@ -0,0 +1,31 @@
# 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)

View File

@@ -0,0 +1,57 @@
# 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)

View File

@@ -0,0 +1,33 @@
# 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)

View File

@@ -0,0 +1,34 @@
# 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)

View File

@@ -0,0 +1,30 @@
# 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)

View File

@@ -0,0 +1,36 @@
# 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)

View File

@@ -0,0 +1,46 @@
# 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)

View File

@@ -0,0 +1,47 @@
# 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)

View File

@@ -0,0 +1,35 @@
# 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)

View File

@@ -0,0 +1,36 @@
# 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)

View File

@@ -0,0 +1,36 @@
# 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)

View File

@@ -0,0 +1,36 @@
# 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)

View File

@@ -0,0 +1,36 @@
# 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)

Some files were not shown because too many files have changed in this diff Show More