save checkpoint

This commit is contained in:
master
2026-02-11 01:32:14 +02:00
parent 5593212b41
commit cf5b72974f
2316 changed files with 68799 additions and 3808 deletions

View File

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@@ -1,53 +0,0 @@
# Audit Trail "Why am I seeing this?" (Reason Capsule)
## Module
Web
## Status
IMPLEMENTED
## Description
The advisory proposed a ReasonCapsuleComponent with per-row expandable explanations showing policy name, rule ID, graph revision ID, and inputs digest. Instead, verdict explanation is implemented via VerdictWhySummaryComponent (3-5 bullet driver explanations with evidence drill-down links) and WhySafePanels in the lineage feature. The exact ReasonCapsuleComponent name and API contract (/api/audit/reasons/:verdictId) were not found, but the concept is substantially realized under different component names.
## What's Implemented
- **Existing 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`)
- **Existing 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`)
## What's Missing
- **ReasonCapsuleComponent**: No per-row expandable component showing policy name, rule ID, graph revision ID, and inputs digest for each finding/verdict in table views
- **Audit reasons API**: No `/api/audit/reasons/:verdictId` endpoint returning structured reason data for display
- **Per-finding explanation inline**: VerdictWhySummaryComponent and WhySafePanels exist for verdict-level and lineage-level explanation, but no per-row inline "why" capsule in triage table views
## Implementation Plan
- Create `ReasonCapsuleComponent` as expandable per-row explanation in triage/finding tables
- Add `/api/audit/reasons/:verdictId` endpoint returning policy name, rule ID, graph revision, inputs digest
- Wire capsule into triage table views for inline "why am I seeing this" explanation
## 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@@ -1,54 +0,0 @@
# Pack Registry Browser
## Module
Web
## Status
IMPLEMENTED
## Description
TaskRunner pack discovery and management with install/upgrade flows, compatibility checking, version history with changelogs, signature verification, and dependency graph. API client and models exist but dedicated feature module not found.
## What's Implemented
- **Existing 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`)
- **Existing 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`)
## What's Missing
- **Pack browser feature module**: No dedicated Angular feature module for browsing the TaskRunner pack registry (installed packs, available packs, version history)
- **Pack install/upgrade flow**: No UI flow for installing or upgrading TaskRunner packs with compatibility checks
- **Pack signature verification display**: No UI showing DSSE signature verification status for each pack
- **Pack dependency graph**: No visual dependency graph for pack dependencies
- **Pack changelog viewer**: No version history with changelog rendering per pack
## Implementation Plan
- Create `pack-registry` Angular feature module under `src/Web/StellaOps.Web/src/app/features/`
- Implement pack list view with install/upgrade actions
- Add signature verification status badge per pack
- Add version history/changelog component
- Wire to TaskRunner pack management API endpoints
## 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 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

@@ -1,51 +0,0 @@
# Pipeline/Run-Centric View
## Module
Web
## Status
IMPLEMENTED
## Description
Runs feature exists in the frontend with first-signal card components and prefetch services, but a full pipeline-centric view as described in the advisory is only partially present.
## What's Implemented
- **Existing components**:
- `approval-detail` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/approvals/approval-detail/approval-detail.component.ts`)
- `approval-queue` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/approvals/approval-queue/approval-queue.component.ts`)
- `promotion-request` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/approvals/promotion-request/promotion-request.component.ts`)
- `active-deployments` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/dashboard/components/active-deployments/active-deployments.component.ts`)
- `pending-approvals` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/dashboard/components/pending-approvals/pending-approvals.component.ts`)
- `pipeline-overview` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/dashboard/components/pipeline-overview/pipeline-overview.component.ts`)
- `recent-releases` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/dashboard/components/recent-releases/recent-releases.component.ts`)
- `dashboard` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/dashboard/dashboard.component.ts`)
- `deployment-list` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/deployments/deployment-list/deployment-list.component.ts`)
- `deployment-monitor` (`src/Web/StellaOps.Web/src/app/features/release-orchestrator/deployments/deployment-monitor/deployment-monitor.component.ts`)
- **Existing routes**: `approvals.routes.ts`, `dashboard.routes.ts`, `deployments.routes.ts`, `environments.routes.ts`, `evidence.routes.ts`, `releases.routes.ts`, `workflows.routes.ts`
## What's Missing
- **Pipeline run detail view**: No dedicated "run detail" view showing a single pipeline execution with its stages, gates, evidence collection, and outcome
- **Run-centric navigation**: Components exist for approvals, deployments, and releases but no unified "runs" listing that ties them together as a single pipeline execution
- **First-signal card integration**: First-signal card components exist in the `runs/` feature but may not be integrated into the pipeline-centric view
- **Backend API wiring**: Dashboard components may use stub/mock data pending backend endpoint integration
- **Unit/E2E test coverage**: Components likely lack comprehensive test coverage
## Implementation Plan
- Create a unified "pipeline run" detail view connecting scan, gate evaluation, approval, and deployment stages
- Wire pipeline-overview component to backend API for live pipeline status
- Add run-centric navigation linking approval, deployment, and evidence views
- Add unit and E2E test coverage for pipeline dashboard components
## 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

@@ -1,62 +0,0 @@
# Quiet-by-Default Triage UX (Lane Toggle + Provenance Breadcrumbs)
## Module
Web
## Status
IMPLEMENTED
## Description
Default view shows only actionable findings (Quiet lane) with Q/R keyboard shortcuts for lane toggle. Gated bucket summary chips with one-click filters. Five-level provenance breadcrumb navigation (image->layer->package->symbol->call-path) with inline attestation badges and SBOM/ReachGraph navigation links.
## 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_20260106_004_001_FE_quiet_triage_ux_integration.md
## E2E Test Plan
- **Setup**:
- [ ] Log in with a user that has appropriate permissions
- [ ] Navigate to `/triage/artifacts`
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
- **Core verification**:
- [ ] Verify the triage list loads with findings/items to review
- [ ] Verify triaging actions (accept, dismiss, override) update item status
- [ ] Verify keyboard shortcuts work for rapid triage navigation
- **Edge cases**:
- [ ] Verify graceful handling when backend API is unavailable (error state)
- [ ] Verify responsive layout at different viewport sizes
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)

View File

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

View File

@@ -1,49 +0,0 @@
# SBOM Graph Reachability Overlay with Time Slider
## Module
Web
## Status
IMPLEMENTED
## Description
Reachability halo overlay on SBOM graph visualization with time slider for temporal reachability exploration and state legend. Uses deterministic stub data pending fixture bundle.
## What's Implemented
- **Existing 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`)
- **Existing services**:
- `graph-accessibility` (`src/Web/StellaOps.Web/src/app/features/graph/graph-accessibility.service.ts`)
## What's Missing
- **Reachability halo overlay**: Graph overlay components exist but no dedicated reachability state halo (color-coded rings around nodes showing lattice state: SR/SU/RO/RU/CR/CU/X)
- **Time slider for temporal reachability**: No time slider component enabling temporal exploration of how reachability states evolved over scan/signal events
- **Lattice state legend**: No legend component mapping halo colors to reachability lattice states
- **Backend API for temporal reachability**: No API endpoint returning reachability state snapshots at different points in time
- **Deterministic fixture bundle**: Currently uses stub data; pending fixture bundle with real reachability overlay data
## Implementation Plan
- Add reachability state halo overlay to graph-overlays component using lattice state colors
- Create time slider component for temporal reachability exploration
- Add lattice state legend component
- Build backend API for temporal reachability snapshots
- Wire overlay to live reachability data via graph service
## 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

@@ -1,50 +0,0 @@
# Signals & Runtime Dashboard
## Module
Web
## Status
IMPLEMENTED
## Description
eBPF/ETW/dyld probe status monitoring, signal collection metrics, anomaly alerts, host coverage map, and real-time event stream. API client and models exist but dedicated feature UI module not found as standalone directory.
## What's Implemented
- **Existing components**:
- `extension-slot` (`src/Web/StellaOps.Web/src/app/core/plugins/extension-slots/extension-slot.component.ts`)
- **Existing 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`)
## What's Missing
- **Signals dashboard feature module**: No `src/Web/StellaOps.Web/src/app/features/signals/` directory with dedicated dashboard components
- **Probe status monitoring**: No component showing eBPF/ETW/dyld probe health status per host
- **Signal collection metrics**: No real-time metrics showing signals collected per second, error rates, latency
- **Anomaly alerts panel**: No panel displaying detected anomalies from signal data
- **Host coverage map**: No visualization showing which hosts have active runtime probes
- **Real-time event stream**: No WebSocket/SSE-based live event feed component
## Implementation Plan
- Create `features/signals/` module with route registration
- Build probe status monitoring dashboard showing per-host probe health
- Add signal collection metrics widget with real-time updates
- Build anomaly alerts panel consuming anomaly events from Signals backend
- Create host coverage map visualization
- Add WebSocket/SSE integration for real-time event streaming
## 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 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

@@ -1,56 +0,0 @@
# VEX Gate (Inline Gated Action with Evidence Tiers)
## Module
Web
## Status
IMPLEMENTED
## Description
The advisory proposed a VexGateButtonDirective that morphs primary action buttons into Green/Amber/Red gated actions with evidence sheets. VEX evidence and decision infrastructure exists (vex-evidence client, vex-decision-modal, evidence-ribbon). However, the specific VexGateButtonDirective and VexEvidenceSheetComponent with inline button morphing and tier-based gating were not found. The pattern is partially realized through separate VEX decision modals and evidence display components.
## What's Implemented
- **Existing 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`)
- **Existing 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`)
## What's Missing
- **VexGateButtonDirective**: No Angular directive that morphs primary action buttons (e.g., "Promote", "Release") into Green/Amber/Red gated states based on VEX verdict evidence tiers
- **VexEvidenceSheetComponent**: No inline evidence sheet that expands from a gated button to show the VEX evidence supporting the gate decision
- **Tier-based button color mapping**: No mapping from VEX evidence tier (Tier 1: full evidence, Tier 2: partial, Tier 3: no evidence) to button color states
- **Gate override with justification**: No inline flow for overriding a Red/Amber gate with a required justification text
## Implementation Plan
- Create `VexGateButtonDirective` that wraps action buttons with VEX gate logic and color state
- Create `VexEvidenceSheetComponent` for inline evidence display on gate button expansion
- Define evidence tier-to-color mapping (Green = all evidence, Amber = partial, Red = missing/contradictory)
- Add gate override flow requiring justification text for Red/Amber overrides
- Wire to existing `VexGateService` backend for gate evaluation data
## 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)