save checkpoint: save features
This commit is contained in:
@@ -20,7 +20,7 @@ Deploy diff UI provides deterministic A/B SBOM comparison with policy-hit contex
|
||||
- `src/Web/StellaOps.Web/src/tests/deploy_diff/deploy-diff-panel.component.spec.ts`
|
||||
|
||||
## Follow-up Notes
|
||||
- Tier 2 verification is integration-harness based because deploy-diff route wiring exists in feature module but is not mounted in the primary shell route map.
|
||||
- Primary shell route map now mounts `/deploy/diff` via `src/Web/StellaOps.Web/src/app/app.routes.ts`, enabling strict end-user Tier 2 replay.
|
||||
|
||||
## Verification
|
||||
- Date: 2026-02-10
|
||||
@@ -48,3 +48,10 @@ Deploy diff UI provides deterministic A/B SBOM comparison with policy-hit contex
|
||||
- Tier 1 evidence: Angular build passed and checked-web suite passed 145/145 across 47 files.
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/a-b-deploy-diff-panel/run-004/tier2-e2e-check.json.
|
||||
|
||||
## Recheck (run-006)
|
||||
- Date (UTC): 2026-02-11T07:13:55Z
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 1 evidence: `docs/qa/feature-checks/runs/web/a-b-deploy-diff-panel/run-006/tier1-build-check.json`
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/a-b-deploy-diff-panel/run-006/tier2-ui-check.json`
|
||||
- Notes: Playwright now covers positive deploy-diff rendering plus missing-parameter and API-error user paths; route is mounted in the primary shell map.
|
||||
|
||||
|
||||
@@ -48,3 +48,13 @@ Advisory AI remediation workflow is implemented with autofix trigger controls, r
|
||||
- Tier 1 evidence: Angular build passed and checked-web suite passed 145/145 across 47 files.
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/ai-autofix-button-with-remediation-plan-preview-and-pr-tracker/run-004/tier2-e2e-check.json.
|
||||
|
||||
## Recheck (run-006)
|
||||
- Date (UTC): 2026-02-11
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 1 evidence: Targeted autofix component suite passed 9/9 and Web build passed.
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/ai-autofix-button-with-remediation-plan-preview-and-pr-tracker/run-006/tier2-ui-check.json`
|
||||
- Replay scope:
|
||||
- Navigate to `/ai/autofix` and validate ready state.
|
||||
- Trigger Auto-fix generation and validate remediation plan preview details.
|
||||
- Create and merge remediation PR through PR tracker interactions.
|
||||
|
||||
|
||||
@@ -48,3 +48,13 @@ Advisory AI chat surfaces are implemented with role-aware message rendering, obj
|
||||
- Tier 1 evidence: Angular build passed and checked-web suite passed 145/145 across 47 files.
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/ai-chat-panel-ui/run-004/tier2-e2e-check.json.
|
||||
|
||||
## Recheck (run-006)
|
||||
- Date (UTC): 2026-02-11
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 1 evidence: Targeted chat component suite passed 4/4 and Web build passed.
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/ai-chat-panel-ui/run-006/tier2-ui-check.json`
|
||||
- Replay scope:
|
||||
- Navigate to `/ai/chat` and validate role-aware user/assistant message rendering.
|
||||
- Verify grounding score badge and object-link citations (`SBOM`, `Reachability`).
|
||||
- Trigger `Create VEX draft` action from assistant proposed actions.
|
||||
|
||||
|
||||
@@ -47,3 +47,14 @@ Shared AI chip component library is implemented with deterministic variant styli
|
||||
- Tier 1 evidence: Angular build passed and checked-web suite passed 145/145 across 47 files.
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/ai-chip-components/run-004/tier2-e2e-check.json.
|
||||
|
||||
## Recheck (run-006)
|
||||
- Date (UTC): 2026-02-11
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 1 evidence: Targeted ai-chip component suites passed 7/7 and Web build passed.
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/ai-chip-components/run-006/tier2-ui-check.json`
|
||||
- Replay scope:
|
||||
- Navigate to `/ai/chips` and verify chip showcase surface.
|
||||
- Trigger action/warning chips and confirm status updates.
|
||||
- Expand three-line summary, open citation evidence, and confirm event logging.
|
||||
- Hover finding-row integration and verify tooltip + max-two-chip behavior.
|
||||
|
||||
|
||||
@@ -44,3 +44,14 @@ AI preferences UI is implemented via dedicated settings component with verbosity
|
||||
- Tier 1 evidence: Angular build passed and checked-web suite passed 145/145 across 47 files.
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/ai-preferences-and-verbosity-settings-ui/run-004/tier2-e2e-check.json.
|
||||
|
||||
## Recheck (run-006)
|
||||
- Date (UTC): 2026-02-11
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 1 evidence: Targeted AI preferences suite passed 4/4 and Web build passed.
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/ai-preferences-and-verbosity-settings-ui/run-006/tier2-ui-check.json`
|
||||
- Replay scope:
|
||||
- Navigate to `/settings/ai-preferences` and verify preferences workbench rendering.
|
||||
- Update verbosity and team/surface toggles, then save and confirm persisted state feedback.
|
||||
- Toggle plain-language mode and verify beginner-mode indicator behavior.
|
||||
- Reset defaults and re-save baseline preferences.
|
||||
|
||||
|
||||
@@ -48,3 +48,14 @@ Triage AI recommendation panel is implemented with cached recommendation hydrati
|
||||
- Tier 1 evidence: Angular build passed and checked-web suite passed 145/145 across 47 files.
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/ai-recommendation-panel-for-triage/run-004/tier2-e2e-check.json.
|
||||
|
||||
## Recheck (run-006)
|
||||
- Date (UTC): 2026-02-11
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 1 evidence: Targeted triage AI recommendation suite passed 4/4 and Web build passed.
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/ai-recommendation-panel-for-triage/run-006/tier2-ui-check.json`
|
||||
- Replay scope:
|
||||
- Navigate to `/triage/ai-recommendations` and verify recommendation panel shell.
|
||||
- Validate auto-analysis recommendation payload and apply suggested action.
|
||||
- Use VEX suggestion and select similar vulnerability.
|
||||
- Ask custom question and verify rendered AI explanation response.
|
||||
|
||||
|
||||
@@ -44,3 +44,13 @@ Three-line AI summary component provides deterministic What/Why/Next content and
|
||||
- Tier 1 evidence: Angular build passed and checked-web suite passed 145/145 across 47 files.
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/ai-summary-3-line-component/run-004/tier2-e2e-check.json.
|
||||
|
||||
## Recheck (run-006)
|
||||
- Date (UTC): 2026-02-11
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 1 evidence: Targeted ai-summary suite passed 3/3 and Web build passed.
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/ai-summary-3-line-component/run-006/tier2-ui-check.json`
|
||||
- Replay scope:
|
||||
- Navigate to `/ai/chips` and verify What/Why/Next three-line summary rendering.
|
||||
- Expand progressive disclosure and verify evidence-citation section.
|
||||
- Trigger a citation interaction and confirm event feedback.
|
||||
|
||||
|
||||
@@ -48,3 +48,13 @@ AOC verification workflow is implemented with tenant-scoped verification action
|
||||
- Tier 1 evidence: Angular build passed and checked-web suite passed 145/145 across 47 files.
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/aoc-verification-action-with-cli-parity-guidance/run-004/tier2-e2e-check.json.
|
||||
|
||||
## Recheck (run-006)
|
||||
- Date (UTC): 2026-02-11
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 1 evidence: Targeted AOC verification suites passed 8/8 and Web build passed.
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/aoc-verification-action-with-cli-parity-guidance/run-006/tier2-ui-check.json`
|
||||
- Replay scope:
|
||||
- Navigate to `/aoc/verify` and verify workbench status + CLI parity panel.
|
||||
- Run verification action and assert deterministic result summary rendering.
|
||||
- Exercise by-violation and by-document drilldown interactions with raw-document action capture.
|
||||
|
||||
|
||||
@@ -45,3 +45,9 @@ Approval detail workflow renders a split-pane decision surface with security dif
|
||||
- Tier 1 evidence: Angular build passed and checked-web suite passed 145/145 across 47 files.
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/approval-detail-with-reachability-witness-panel/run-004/tier2-e2e-check.json.
|
||||
|
||||
|
||||
## Recheck (run-006)
|
||||
- Date (UTC): 2026-02-11T06:16:10Z
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/approval-detail-with-reachability-witness-panel/run-006/tier2-ui-check.json.
|
||||
|
||||
|
||||
@@ -44,3 +44,9 @@ Approvals inbox provides diff-first promotion cards with what-changed summaries,
|
||||
- Tier 1 evidence: Angular build passed and checked-web suite passed 145/145 across 47 files.
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/approvals-inbox-with-diff-first-presentation/run-004/tier2-e2e-check.json.
|
||||
|
||||
|
||||
## Recheck (run-006)
|
||||
- Date (UTC): 2026-02-11T06:16:10Z
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/approvals-inbox-with-diff-first-presentation/run-006/tier2-ui-check.json.
|
||||
|
||||
|
||||
@@ -47,3 +47,9 @@ Attested score UI surfaces are implemented for reduction-profile metadata, hard-
|
||||
- Tier 1 evidence: Angular build passed and checked-web suite passed 145/145 across 47 files.
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/attested-score-ui/run-004/tier2-e2e-check.json.
|
||||
|
||||
## Recheck (run-006)
|
||||
- Date (UTC): 2026-02-11
|
||||
- Status: VERIFIED (strict end-user replay)
|
||||
- Tier 1 evidence: Focused attested-score unit suite passed (`score-badge` + `score-breakdown-popover`, 6/6 tests). Evidence: `docs/qa/feature-checks/runs/web/attested-score-ui/run-006/tier1-build-check.json`.
|
||||
- Tier 2 evidence: Strict Playwright route replay on `/findings/scan-attested?view=detail` passed with hard-fail + anchored badge assertions and full breakdown popover checks. Evidence: `docs/qa/feature-checks/runs/web/attested-score-ui/run-006/tier2-ui-check.json`.
|
||||
|
||||
|
||||
@@ -48,3 +48,9 @@ Audit bundle creation flow is implemented with deterministic wizard progression
|
||||
- Tier 1 evidence: Angular build passed and checked-web suite passed 145/145 across 47 files.
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/audit-bundle-create-modal/run-004/tier2-e2e-check.json.
|
||||
|
||||
|
||||
## Recheck (run-006)
|
||||
- Date (UTC): 2026-02-11T06:20:40Z
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/audit-bundle-create-modal/run-006/tier2-ui-check.json.
|
||||
|
||||
|
||||
@@ -47,3 +47,9 @@ Audit bundle export surfaces are implemented with listing, recency ordering, and
|
||||
- Tier 1 evidence: Angular build passed and checked-web suite passed 145/145 across 47 files.
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/audit-bundle-export/run-004/tier2-e2e-check.json.
|
||||
|
||||
|
||||
## Recheck (run-006)
|
||||
- Date (UTC): 2026-02-11T06:20:40Z
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/audit-bundle-export/run-006/tier2-ui-check.json.
|
||||
|
||||
|
||||
@@ -47,3 +47,13 @@ Inline per-finding reason capsule that explains why a verdict is shown, includin
|
||||
- Tier 1 evidence: Angular build passed and checked-web suite passed 145/145 across 47 files.
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/audit-trail-why-am-i-seeing-this/run-004/tier2-e2e-check.json.
|
||||
|
||||
## Recheck (run-006)
|
||||
- Date (UTC): 2026-02-11
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 1 evidence: Targeted audit reason capsule suites passed 8/8 and Web build passed.
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/audit-trail-why-am-i-seeing-this/run-006/tier2-ui-check.json`
|
||||
- Replay scope:
|
||||
- Navigate to `/audit/reasons` and verify reason-capsule workbench rendering.
|
||||
- Expand primary reason capsule and verify deterministic policy/rule provenance.
|
||||
- Exercise retry/error path (`unavailable -> Retry -> recovered reason details`).
|
||||
|
||||
|
||||
@@ -46,3 +46,9 @@ Auditor workspace is implemented with evidence ribbon integration, compliance re
|
||||
- Tier 1 evidence: Angular build passed and checked-web suite passed 145/145 across 47 files.
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/auditor-workspace/run-004/tier2-e2e-check.json.
|
||||
|
||||
|
||||
## Recheck (run-006)
|
||||
- Date (UTC): 2026-02-11T06:26:05Z
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/auditor-workspace/run-006/tier2-ui-check.json.
|
||||
|
||||
|
||||
@@ -47,3 +47,10 @@ Binary-index UI surfaces are implemented for B2R2-driven semantic analysis opera
|
||||
- Tier 1 evidence: Angular build passed and checked-web suite passed 145/145 across 47 files.
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/b2r2-lowuir-ir-lifting-for-semantic-binary-analysis/run-004/tier2-e2e-check.json.
|
||||
|
||||
## Recheck (run-006)
|
||||
- Date (UTC): 2026-02-11T07:33:40Z
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 1 evidence: `docs/qa/feature-checks/runs/web/b2r2-lowuir-ir-lifting-for-semantic-binary-analysis/run-006/tier1-build-check.json`
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/b2r2-lowuir-ir-lifting-for-semantic-binary-analysis/run-006/tier2-ui-check.json`
|
||||
- Notes: Route-level Playwright flow now verifies patch-coverage heatmap -> CVE details -> matching-images drilldown plus retryable API error-state behavior.
|
||||
|
||||
|
||||
@@ -45,3 +45,13 @@ Backport-resolution surfaces are implemented with function-level diff rendering,
|
||||
- Tier 1 evidence: Angular build passed and checked-web suite passed 145/145 across 47 files.
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/backport-resolution-ui-with-function-diff-viewer/run-003/tier2-e2e-check.json.
|
||||
|
||||
## Recheck (run-006)
|
||||
- Date (UTC): 2026-02-11
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 1 evidence: Focused backport-resolution suite passed 3/3 across 1 file.
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/backport-resolution-ui-with-function-diff-viewer/run-006/tier2-ui-check.json`
|
||||
- Replay scope:
|
||||
- Navigate to `/qa/web-recheck` and verify backport resolution section renders with binary/function diff controls.
|
||||
- Replay function-diff and resolution-chip interactions for unresolved backport decisions.
|
||||
- Open and validate evidence drawer payloads for patch-vs-vulnerable comparison flow.
|
||||
|
||||
|
||||
@@ -36,3 +36,13 @@ Binary-diff panel is implemented with scope selection (file/section/function), e
|
||||
- Tier 1 evidence: Angular build passed and checked-web suite passed 145/145 across 47 files.
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/binary-diff-panel-ui-component/run-003/tier2-e2e-check.json.
|
||||
|
||||
## Recheck (run-005)
|
||||
- Date (UTC): 2026-02-11
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 1 evidence: Targeted binary-diff suite passed 3/3 across 1 file.
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/binary-diff-panel-ui-component/run-005/tier2-ui-check.json`
|
||||
- Replay scope:
|
||||
- Navigate to `/qa/web-recheck` and verify Binary Diff + Backport Resolution UI surface.
|
||||
- Validate scope switching, DSSE export action, and emitted binary-diff events.
|
||||
- Validate function-diff and evidence-drawer drilldown interactions for binary resolution evidence.
|
||||
|
||||
|
||||
@@ -38,3 +38,13 @@ BinaryIndex operations UI is implemented with tabbed health/benchmark/cache/conf
|
||||
- Tier 1 evidence: Angular build passed and checked-web suite passed 145/145 across 47 files.
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/binaryindex-ops-ui/run-003/tier2-e2e-check.json.
|
||||
|
||||
## Recheck (run-005)
|
||||
- Date (UTC): 2026-02-11
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 1 evidence: Targeted binary-index suites passed 5/5 across 2 files.
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/binaryindex-ops-ui/run-005/tier2-ui-check.json`
|
||||
- Replay scope:
|
||||
- Navigate to `/ops/binary-index` and verify health/lifter warmness state.
|
||||
- Validate benchmark, cache, and configuration tab interactions and rendered metrics.
|
||||
- Validate fingerprint export flow and recent export surface with deterministic API playback.
|
||||
|
||||
|
||||
@@ -35,3 +35,13 @@ Case header verdict display is implemented with ship/block/exception badges, fin
|
||||
- Tier 1 evidence: Angular build passed and checked-web suite passed 145/145 across 47 files.
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/can-i-ship-case-header/run-003/tier2-e2e-check.json.
|
||||
|
||||
## Recheck (run-005)
|
||||
- Date (UTC): 2026-02-11
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 1 evidence: Focused case-header suite passed 3/3 across 1 file.
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/can-i-ship-case-header/run-005/tier2-ui-check.json`
|
||||
- Replay scope:
|
||||
- Navigate to `/qa/web-recheck` and verify verdict, attestation, and snapshot controls emit expected events.
|
||||
- Execute contextual ask actions including presets, custom prompt submission, and close behavior.
|
||||
- Submit decision-drawer affected decision with reason and notes and verify emitted event payload.
|
||||
|
||||
|
||||
@@ -48,3 +48,9 @@ Full-featured causal timeline view with lane-based event visualization (D3.js, o
|
||||
- tier1-build-check.json: pass
|
||||
- tier2-e2e-check.json: pass
|
||||
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T06:16:10Z
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/causal-timeline-with-critical-path-and-event-detail/run-003/tier2-ui-check.json.
|
||||
|
||||
|
||||
@@ -37,3 +37,13 @@ UI badge component displaying Canonical Graph Signature (CGS) hash with one-clic
|
||||
- tier1-build-check.json: pass
|
||||
- tier2-e2e-check.json: pass
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 1 evidence: Focused cgs-badge suite passed 3/3 across 1 file.
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/cgs-badge-component/run-003/tier2-ui-check.json`
|
||||
- Replay scope:
|
||||
- Navigate to `/qa/web-recheck` and verify CGS badge + confidence summary render.
|
||||
- Trigger replay from the CGS card and verify replay hash event logging.
|
||||
- Verify both confidence visualization renderers are visible in the same user flow.
|
||||
|
||||
|
||||
@@ -38,3 +38,13 @@ Visual bar chart breakdown showing how each evidence factor (SBOM, VEX, reachabi
|
||||
- tier1-build-check.json: pass
|
||||
- tier2-e2e-check.json: pass
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 1 evidence: Focused confidence-breakdown suites passed 8/8 across 2 files.
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/confidence-breakdown-visualization/run-003/tier2-ui-check.json`
|
||||
- Replay scope:
|
||||
- Navigate to `/qa/web-recheck` and verify confidence section rendering.
|
||||
- Trigger replay interaction and verify confidence-linked transaction logging.
|
||||
- Verify Graphviz and Mermaid visualization renderers are both visible.
|
||||
|
||||
|
||||
@@ -45,3 +45,25 @@ Console-level configuration pane showing integration status grouped by sections
|
||||
- tier1-build-check.json: pass
|
||||
- tier2-e2e-check.json: pass
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T06:37:41Z
|
||||
- Status: FAILED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/configuration-pane/run-003/tier2-ui-check.json`
|
||||
- Notes: `/console/configuration` failed strict end-user assertion because the `Configuration` heading never rendered during the Playwright transaction.
|
||||
|
||||
## Recheck (run-004)
|
||||
- Date (UTC): 2026-02-11
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 1 evidence: Focused configuration-pane suite passed 3/3 across 1 file.
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/configuration-pane/run-004/tier2-ui-check.json`
|
||||
- Replay scope:
|
||||
- Navigate to `/settings/configuration-pane` and verify heading, summary metrics, and integration list render.
|
||||
- Verify `Primary Database` row using scoped `.integration-name` selector.
|
||||
- Open integration detail panel and verify `Edit Configuration` action is visible.
|
||||
|
||||
|
||||
## Recheck (run-007)
|
||||
- Date (UTC): 2026-02-11T10:08:09Z
|
||||
- Status: PASSED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/configuration-pane/run-007/tier2-ui-check.json
|
||||
- Notes: Verified on /settings/configuration-pane with configuration summary and detail-panel interaction assertions.
|
||||
|
||||
@@ -43,3 +43,19 @@ Previously marked as dropped in planning metadata; QA verification confirmed imp
|
||||
- tier1-build-check.json: pass
|
||||
- tier2-e2e-check.json: pass
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 1 evidence: Focused contextual-command-bar suites passed 5/5 across 2 files.
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/contextual-command-bar/run-003/tier2-ui-check.json`
|
||||
- Replay scope:
|
||||
- Navigate to `/qa/web-recheck` and verify Ask Stella contextual controls are visible.
|
||||
- Replay suggested prompt actions (`Explain Reachability`, `Show Minimal Evidence`).
|
||||
- Submit freeform ask query and verify close event is recorded.
|
||||
|
||||
|
||||
## Recheck (run-004)
|
||||
- Date (UTC): 2026-02-11T10:08:09Z
|
||||
- Status: PASSED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/contextual-command-bar/run-004/tier2-ui-check.json
|
||||
- Notes: Verified via /qa/web-recheck contextual ask bar prompt and freeform interaction flow.
|
||||
|
||||
@@ -38,3 +38,9 @@ New landing page replacing security-centric home with release control plane view
|
||||
- tier1-build-check.json: pass
|
||||
- tier2-e2e-check.json: pass
|
||||
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T06:16:10Z
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/control-plane-dashboard/run-003/tier2-ui-check.json.
|
||||
|
||||
|
||||
@@ -42,3 +42,19 @@ Component detail page with CycloneDX 1.7 evidence panel showing identity evidenc
|
||||
- tier1-build-check.json: pass
|
||||
- tier2-e2e-check.json: pass
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 1 evidence: Focused cyclonedx evidence suites passed 4/4 across 2 files.
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/cyclonedx-evidence-panel-with-pedigree-timeline/run-003/tier2-ui-check.json`
|
||||
- Replay scope:
|
||||
- Navigate to `/qa/sbom-component-detail` and verify evidence + pedigree headings, patch summary, and timeline nodes.
|
||||
- Open occurrences drawer and validate evidence detail content and close behavior.
|
||||
- Open and close patch diff modal via overlay interaction.
|
||||
|
||||
|
||||
## Recheck (run-004)
|
||||
- Date (UTC): 2026-02-11T10:08:09Z
|
||||
- Status: PASSED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/cyclonedx-evidence-panel-with-pedigree-timeline/run-004/tier2-ui-check.json
|
||||
- Notes: Verified via /qa/sbom-component-detail evidence panel, pedigree timeline, and occurrence drawer checks.
|
||||
|
||||
@@ -40,3 +40,9 @@ Dead-letter queue browser with message inspection, replay workflows (single/batc
|
||||
- tier1-build-check.json: pass
|
||||
- tier2-e2e-check.json: pass
|
||||
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T06:16:10Z
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/dead-letter-queue-management-ui/run-003/tier2-ui-check.json.
|
||||
|
||||
|
||||
@@ -67,3 +67,9 @@ Enhanced decision drawer component for making VEX triage decisions from the evid
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-10
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T10:08:09Z
|
||||
- Status: PASSED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/decision-drawer-for-vex-decisions/run-003/tier2-ui-check.json
|
||||
- Notes: Verified via /qa/web-recheck decision drawer open/submit event flow.
|
||||
|
||||
@@ -55,3 +55,9 @@ Delta summary strip component shows before/after comparison statistics in the co
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-10
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T06:21:33Z
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/delta-summary-strip/run-003/tier2-ui-check.json.
|
||||
|
||||
|
||||
@@ -55,3 +55,9 @@ Side-by-side diff component in the risk feature comparing before/after states pe
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-10
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T06:21:33Z
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/delta-table/run-003/tier2-ui-check.json.
|
||||
|
||||
|
||||
@@ -55,3 +55,9 @@ Full compare/delta view UI with dedicated feature area including components, ser
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-10
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T06:16:10Z
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/delta-verdict-compare-view-ui/run-003/tier2-ui-check.json.
|
||||
|
||||
|
||||
@@ -37,3 +37,15 @@ Deployment detail page with workflow DAG visualization showing deployment step e
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-10
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T06:37:41Z
|
||||
- Status: FAILED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/deployment-detail-with-workflow-dag-visualization/run-003/tier2-ui-check.json`
|
||||
- Notes: Deployment detail route rendered without `.workflow-dag .dag-node` elements (expected 4), blocking end-user DAG interaction verification.
|
||||
|
||||
## Recheck (run-004)
|
||||
- Date (UTC): 2026-02-11T10:08:09Z
|
||||
- Status: PASSED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/deployment-detail-with-workflow-dag-visualization/run-004/tier2-ui-check.json
|
||||
- Notes: Verified via /release-orchestrator/deployments/dep-001 workflow DAG node rendering and selection checks.
|
||||
|
||||
@@ -37,3 +37,9 @@ Real-time deployment monitoring with per-target progress tracking, live log stre
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-10
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T06:16:10Z
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/deployment-monitoring-ui/run-003/tier2-ui-check.json.
|
||||
|
||||
|
||||
@@ -38,3 +38,9 @@ Dedicated settings pane for configuring determinization parameters (reanalysis i
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-10
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T10:08:09Z
|
||||
- Status: PASSED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/determinization-config-pane-ui/run-003/tier2-ui-check.json
|
||||
- Notes: Verified on /settings/determinization-config with validate/save user transaction.
|
||||
|
||||
@@ -38,3 +38,9 @@ Angular UI components for CVE observation state management: "Unknown (auto-track
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-10
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T10:08:09Z
|
||||
- Status: PASSED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/determinization-ui-components/run-003/tier2-ui-check.json
|
||||
- Notes: Verified via /qa/web-recheck determinization chip/uncertainty/guardrail/decay rendering checks.
|
||||
|
||||
@@ -40,3 +40,9 @@ Developer-focused workspace assembling Evidence Ribbon, Quick-Verify CTA with st
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-10
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T06:16:10Z
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/developer-workspace/run-003/tier2-ui-check.json.
|
||||
|
||||
|
||||
@@ -44,3 +44,9 @@ Configurable display settings (showRuntimeOverlays, enableTraceExport, showRiskL
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-10
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T10:08:09Z
|
||||
- Status: PASSED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/display-preferences-service/run-003/tier2-ui-check.json
|
||||
- Notes: Verified via /qa/web-recheck display preference interaction and event assertions.
|
||||
|
||||
@@ -41,3 +41,9 @@ Six reusable domain-specific widgets: DigestChip (truncated digest with copy), G
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-10
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T10:08:09Z
|
||||
- Status: PASSED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/domain-widget-library/run-003/tier2-ui-check.json
|
||||
- Notes: Verified via /qa/web-recheck domain widget rendering and interaction assertions.
|
||||
|
||||
@@ -41,3 +41,9 @@ Shared UI components for displaying entropy analysis results on container images
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-10
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T10:08:09Z
|
||||
- Status: PASSED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/entropy-analysis-panel-and-policy-banner/run-003/tier2-ui-check.json
|
||||
- Notes: Verified via /qa/web-recheck entropy panel action/event replay assertions.
|
||||
|
||||
44
docs/features/checked/web/environment-management-ui.md
Normal file
44
docs/features/checked/web/environment-management-ui.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# Environment Management UI (CRUD + Freeze Windows + Targets)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Environment management UI with list/detail views, target health monitoring, freeze window editor, and environment settings configuration.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/environments/`
|
||||
- **Routes**: `environments.routes.ts`
|
||||
- **Components**:
|
||||
- `environment-detail-page` (`src/Web/StellaOps.Web/src/app/features/environments/environment-detail-page.component.ts`)
|
||||
- `environments-list-page` (`src/Web/StellaOps.Web/src/app/features/environments/environments-list-page.component.ts`)
|
||||
- **Source**: SPRINT_20260110_111_002_FE_environment_management_ui.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/release-orchestrator`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
## Verification
|
||||
- Run: docs/qa/feature-checks/runs/web/environment-management-ui/run-001/
|
||||
- Tier 0 (source): pass ( ier0-source-check.json)
|
||||
- Tier 1 (build/tests): pass ( ier1-build-check.json)
|
||||
- Tier 2 (behavior): pass ( ier2-e2e-check.json)
|
||||
- Verified on (UTC): 2026-02-10
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T06:16:10Z
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/environment-management-ui/run-003/tier2-ui-check.json.
|
||||
|
||||
47
docs/features/checked/web/evidence-card-ui-export.md
Normal file
47
docs/features/checked/web/evidence-card-ui-export.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# Evidence Card UI Export
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Evidence card export buttons in evidence pack viewer allowing single-file receipt download in standard and compact formats.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/evidence/`
|
||||
- **Routes**: `evidence.routes.ts`
|
||||
- **Components**:
|
||||
- `evidence-center-page` (`src/Web/StellaOps.Web/src/app/features/evidence/evidence-center-page.component.ts`)
|
||||
- `evidence-packet-page` (`src/Web/StellaOps.Web/src/app/features/evidence/evidence-packet-page.component.ts`)
|
||||
- `evidence-page` (`src/Web/StellaOps.Web/src/app/features/evidence/evidence-page.component.ts`)
|
||||
- `evidence-panel` (`src/Web/StellaOps.Web/src/app/features/evidence/evidence-panel.component.ts`)
|
||||
- `audit-bundle-create-modal` (`src/Web/StellaOps.Web/src/app/features/evidence/modals/audit-bundle-create-modal.component.ts`)
|
||||
- **Source**: SPRINT_20260112_006_FE_evidence_card_ui.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/evidence`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the export/download action triggers correctly
|
||||
- [ ] Verify the exported file is in the expected format (JSON, SARIF, CSV, etc.)
|
||||
- [ ] Verify export includes all expected data fields
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
## Verification
|
||||
- Run: docs/qa/feature-checks/runs/web/evidence-card-ui-export/run-001/
|
||||
- Tier 0 (source): pass ( ier0-source-check.json)
|
||||
- Tier 1 (build/tests): pass ( ier1-build-check.json)
|
||||
- Tier 2 (behavior): pass ( ier2-e2e-check.json)
|
||||
- Verified on (UTC): 2026-02-10
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T06:16:10Z
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/evidence-card-ui-export/run-003/tier2-ui-check.json.
|
||||
|
||||
47
docs/features/checked/web/evidence-center-hub.md
Normal file
47
docs/features/checked/web/evidence-center-hub.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# Evidence Center Hub
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Unified evidence center replacing scattered evidence views, providing a single hub for browsing, filtering, and verifying all attestation evidence across releases.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/evidence/`
|
||||
- **Routes**: `evidence.routes.ts`
|
||||
- **Components**:
|
||||
- `evidence-center-page` (`src/Web/StellaOps.Web/src/app/features/evidence/evidence-center-page.component.ts`)
|
||||
- `evidence-packet-page` (`src/Web/StellaOps.Web/src/app/features/evidence/evidence-packet-page.component.ts`)
|
||||
- `evidence-page` (`src/Web/StellaOps.Web/src/app/features/evidence/evidence-page.component.ts`)
|
||||
- `evidence-panel` (`src/Web/StellaOps.Web/src/app/features/evidence/evidence-panel.component.ts`)
|
||||
- `audit-bundle-create-modal` (`src/Web/StellaOps.Web/src/app/features/evidence/modals/audit-bundle-create-modal.component.ts`)
|
||||
- **Source**: SPRINT_20260118_006_FE_evidence_unification.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/evidence`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
## Verification
|
||||
- Run: docs/qa/feature-checks/runs/web/evidence-center-hub/run-001/
|
||||
- Tier 0 (source): pass ( ier0-source-check.json)
|
||||
- Tier 1 (build/tests): pass ( ier1-build-check.json)
|
||||
- Tier 2 (behavior): pass ( ier2-e2e-check.json)
|
||||
- Verified on (UTC): 2026-02-10
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T06:16:10Z
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/evidence-center-hub/run-003/tier2-ui-check.json.
|
||||
|
||||
42
docs/features/checked/web/evidence-packet-drawer.md
Normal file
42
docs/features/checked/web/evidence-packet-drawer.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Evidence Packet Drawer (Slide-In)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Contextual slide-in drawer for viewing evidence packet details from any page without navigation, showing attestation contents and verification status.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/overlays/evidence-packet-drawer/`
|
||||
- **Components**:
|
||||
- `evidence-packet-drawer` (`src/Web/StellaOps.Web/src/app/shared/overlays/evidence-packet-drawer/evidence-packet-drawer.component.ts`)
|
||||
- **Source**: SPRINT_20260118_006_FE_evidence_unification.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the panel/drawer opens on trigger (click, keyboard shortcut)
|
||||
- [ ] Verify the panel displays the correct detail data for the selected item
|
||||
- [ ] Verify the panel can be closed (X button, Escape key, backdrop click)
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
## Verification
|
||||
- Run: docs/qa/feature-checks/runs/web/evidence-packet-drawer/run-001/
|
||||
- Tier 0 (source): pass ( ier0-source-check.json)
|
||||
- Tier 1 (build/tests): pass ( ier1-build-check.json)
|
||||
- Tier 2 (behavior): pass ( ier2-e2e-check.json)
|
||||
- Verified on (UTC): 2026-02-10
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T06:16:10Z
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/evidence-packet-drawer/run-003/tier2-ui-check.json.
|
||||
|
||||
42
docs/features/checked/web/evidence-presentation-ux.md
Normal file
42
docs/features/checked/web/evidence-presentation-ux.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Evidence Presentation UX (Panels, Drawers, Rail, Export Center)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Comprehensive evidence presentation: tabbed panels across triage/findings/SBOM/policy views with reachability, binary diff, provenance, policy, and attestation chain tabs. Per-finding evidence drawer, right-rail proof pane with witness path call traces, DSSE badges, confidence meters. Evidence export center with audit bundle creation. TTE metrics tracking.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/evidence-drawer/`
|
||||
- **Components**:
|
||||
- `evidence-drawer` (`src/Web/StellaOps.Web/src/app/shared/components/evidence-drawer/evidence-drawer.component.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
## Verification
|
||||
- Run: docs/qa/feature-checks/runs/web/evidence-presentation-ux/run-001/
|
||||
- Tier 0 (source): pass ( ier0-source-check.json)
|
||||
- Tier 1 (build/tests): pass ( ier1-build-check.json)
|
||||
- Tier 2 (behavior): pass ( ier2-e2e-check.json)
|
||||
- Verified on (UTC): 2026-02-10
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T06:44:05Z
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/evidence-presentation-ux/run-003/tier2-ui-check.json`
|
||||
- Notes: Strict evidence-center drawer flow now verifies signed/verified presentation states and contents-section interaction from an end-user route.
|
||||
@@ -0,0 +1,48 @@
|
||||
# Evidence Provenance Visualization Component
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Interactive evidence provenance chain visualization showing the path: finding -> advisory -> VEX -> policy -> attestation. Part of the evidence-export feature module with routing integration.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/evidence-checklist/`
|
||||
- **Components**:
|
||||
- `evidence-checklist` (`src/Web/StellaOps.Web/src/app/shared/components/evidence-checklist/evidence-checklist.component.ts`)
|
||||
- **Source**: SPRINT_20251229_016_FE_evidence_export_replay_ui.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the visualization renders correctly with sample data
|
||||
- [ ] Verify interactive elements (hover tooltips, click-to-drill-down) work
|
||||
- [ ] Verify the visualization handles empty/minimal data gracefully
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
## Verification
|
||||
- Run: docs/qa/feature-checks/runs/web/evidence-provenance-visualization-component/run-001/
|
||||
- Tier 0 (source): pass ( ier0-source-check.json)
|
||||
- Tier 1 (build/tests): pass ( ier1-build-check.json)
|
||||
- Tier 2 (behavior): pass ( ier2-e2e-check.json)
|
||||
- Verified on (UTC): 2026-02-10
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T06:50:05Z
|
||||
- Status: FAILED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/evidence-provenance-visualization-component/run-003/tier2-ui-check.json`
|
||||
- Notes: `/evidence/provenance` rendered the page header, but selecting artifact `art-001` did not render any `.chain-node` entries in the strict end-user transaction.
|
||||
|
||||
## Recheck (run-004)
|
||||
- Date (UTC): 2026-02-11T10:08:09Z
|
||||
- Status: PASSED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/evidence-provenance-visualization-component/run-004/tier2-ui-check.json
|
||||
- Notes: Verified on /evidence/provenance after artifact selection with chain-node and detail modal assertions.
|
||||
46
docs/features/checked/web/evidence-ribbon-ui-component.md
Normal file
46
docs/features/checked/web/evidence-ribbon-ui-component.md
Normal file
@@ -0,0 +1,46 @@
|
||||
# Evidence Ribbon UI Component
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Horizontal evidence ribbon component that displays a compact summary strip of evidence types (SBOM, VEX, attestation, provenance) with color-coded badges and drill-down capability. Integrated into developer and auditor workspace views.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/evidence-ribbon/`
|
||||
- **Components**:
|
||||
- `evidence-ribbon` (`src/Web/StellaOps.Web/src/app/features/evidence-ribbon/components/evidence-ribbon/evidence-ribbon.component.ts`)
|
||||
- **Services**:
|
||||
- `evidence-ribbon` (`src/Web/StellaOps.Web/src/app/features/evidence-ribbon/services/evidence-ribbon.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/evidence-ribbon/models/evidence-ribbon.models.ts`
|
||||
- **Source**: batch_38/file_11.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/triage/artifacts/:artifactId`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
## Verification
|
||||
- Run: docs/qa/feature-checks/runs/web/evidence-ribbon-ui-component/run-001/
|
||||
- Tier 0 (source): pass ( ier0-source-check.json)
|
||||
- Tier 1 (build/tests): pass ( ier1-build-check.json)
|
||||
- Tier 2 (behavior): pass ( ier2-e2e-check.json)
|
||||
- Verified on (UTC): 2026-02-10
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T06:40:35Z
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: `docs/qa/feature-checks/runs/web/evidence-ribbon-ui-component/run-003/tier2-ui-check.json`
|
||||
- Notes: Developer workspace strict Playwright flow now explicitly verifies DSSE/Rekor/CycloneDX ribbon pills and user click interaction.
|
||||
51
docs/features/checked/web/evidence-thread-browser.md
Normal file
51
docs/features/checked/web/evidence-thread-browser.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# Evidence Thread Browser (Artifact Evidence Lineage)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Browse and inspect evidence threads per artifact digest. List view shows all evidence threads; detail view shows the full thread of evidence for a specific artifact including all linked attestations, proofs, and verification results.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/evidence-thread/`
|
||||
- **Routes**: `evidence-thread.routes.ts`
|
||||
- **Components**:
|
||||
- `evidence-export-dialog` (`src/Web/StellaOps.Web/src/app/features/evidence-thread/components/evidence-export-dialog/evidence-export-dialog.component.ts`)
|
||||
- `evidence-graph-panel` (`src/Web/StellaOps.Web/src/app/features/evidence-thread/components/evidence-graph-panel/evidence-graph-panel.component.ts`)
|
||||
- `evidence-node-card` (`src/Web/StellaOps.Web/src/app/features/evidence-thread/components/evidence-node-card/evidence-node-card.component.ts`)
|
||||
- `evidence-thread-list` (`src/Web/StellaOps.Web/src/app/features/evidence-thread/components/evidence-thread-list/evidence-thread-list.component.ts`)
|
||||
- `evidence-thread-view` (`src/Web/StellaOps.Web/src/app/features/evidence-thread/components/evidence-thread-view/evidence-thread-view.component.ts`)
|
||||
- `evidence-timeline-panel` (`src/Web/StellaOps.Web/src/app/features/evidence-thread/components/evidence-timeline-panel/evidence-timeline-panel.component.ts`)
|
||||
- `evidence-transcript-panel` (`src/Web/StellaOps.Web/src/app/features/evidence-thread/components/evidence-transcript-panel/evidence-transcript-panel.component.ts`)
|
||||
- **Services**:
|
||||
- `evidence-thread` (`src/Web/StellaOps.Web/src/app/features/evidence-thread/services/evidence-thread.service.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/evidence`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
## Verification
|
||||
- Run: docs/qa/feature-checks/runs/web/evidence-thread-browser/run-001/
|
||||
- Tier 0 (source): pass ( ier0-source-check.json)
|
||||
- Tier 1 (build/tests): pass ( ier1-build-check.json)
|
||||
- Tier 2 (behavior): pass ( ier2-e2e-check.json)
|
||||
- Verified on (UTC): 2026-02-10
|
||||
|
||||
## Recheck (run-003)
|
||||
- Date (UTC): 2026-02-11T06:16:10Z
|
||||
- Status: VERIFIED (strict Tier 2 UI replay)
|
||||
- Tier 2 evidence: docs/qa/feature-checks/runs/web/evidence-thread-browser/run-003/tier2-ui-check.json.
|
||||
|
||||
69
docs/features/checked/web/exception-and-waiver-ux.md
Normal file
69
docs/features/checked/web/exception-and-waiver-ux.md
Normal file
@@ -0,0 +1,69 @@
|
||||
# Exception and Waiver UX (Wizard, Ledger, Simulation)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Exception wizard component, policy exception component with simulation integration, dedicated API client, and exception ledger showing history with status changes, expiry dates, owner info, and create capability.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/triage/`
|
||||
- **Components**:
|
||||
- `ai-code-guard-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/ai-code-guard-badge/ai-code-guard-badge.component.ts`)
|
||||
- `ai-recommendation-panel` (`src/Web/StellaOps.Web/src/app/features/triage/components/ai-recommendation-panel/ai-recommendation-panel.component.ts`)
|
||||
- `attestation-viewer` (`src/Web/StellaOps.Web/src/app/features/triage/components/attestation-viewer/attestation-viewer.component.ts`)
|
||||
- `bulk-action-modal` (`src/Web/StellaOps.Web/src/app/features/triage/components/bulk-action-modal/bulk-action-modal.component.ts`)
|
||||
- `case-header` (`src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.ts`)
|
||||
- `decision-drawer-enhanced` (`src/Web/StellaOps.Web/src/app/features/triage/components/decision-drawer/decision-drawer-enhanced.component.ts`)
|
||||
- `decision-drawer` (`src/Web/StellaOps.Web/src/app/features/triage/components/decision-drawer/decision-drawer.component.ts`)
|
||||
- `attestation-chain` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/attestation-chain.component.ts`)
|
||||
- `backport-verdict-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/backport-verdict-badge.component.ts`)
|
||||
- `binary-diff-tab` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/binary-diff-tab.component.ts`)
|
||||
- `confidence-meter` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/confidence-meter.component.ts`)
|
||||
- `diff-tab` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/diff-tab.component.ts`)
|
||||
- `dsse-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/dsse-badge.component.ts`)
|
||||
- `evidence-uri-link` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/evidence-uri-link.component.ts`)
|
||||
- `function-trace` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/function-trace.component.ts`)
|
||||
- ... and 48 more components
|
||||
- **Services**:
|
||||
- `advisory-ai` (`src/Web/StellaOps.Web/src/app/features/triage/services/advisory-ai.service.ts`)
|
||||
- `binary-diff-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/binary-diff-evidence.service.ts`)
|
||||
- `diff-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/diff-evidence.service.ts`)
|
||||
- `display-preferences` (`src/Web/StellaOps.Web/src/app/features/triage/services/display-preferences.service.ts`)
|
||||
- `evidence-tab` (`src/Web/StellaOps.Web/src/app/features/triage/services/evidence-tab.service.ts`)
|
||||
- `gating` (`src/Web/StellaOps.Web/src/app/features/triage/services/gating.service.ts`)
|
||||
- `keyboard-shortcuts` (`src/Web/StellaOps.Web/src/app/features/triage/services/keyboard-shortcuts.service.ts`)
|
||||
- `reach-graph-slice` (`src/Web/StellaOps.Web/src/app/features/triage/services/reach-graph-slice.service.ts`)
|
||||
- `reachability` (`src/Web/StellaOps.Web/src/app/features/triage/services/reachability.service.ts`)
|
||||
- `runtime-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/runtime-evidence.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/diff-evidence.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/evidence-panel.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/evidence.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/gating.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/reachability.models.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/triage/artifacts`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/exception-and-waiver-ux/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-11
|
||||
@@ -0,0 +1,69 @@
|
||||
# Exception Center with Kanban View
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Comprehensive exception management center with list and kanban board views, workflow transitions (draft/pending/approved/rejected/expired), an approval queue with batch operations, a multi-step exception creation wizard, detail view with audit log, and inline exception drafting.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/triage/`
|
||||
- **Components**:
|
||||
- `ai-code-guard-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/ai-code-guard-badge/ai-code-guard-badge.component.ts`)
|
||||
- `ai-recommendation-panel` (`src/Web/StellaOps.Web/src/app/features/triage/components/ai-recommendation-panel/ai-recommendation-panel.component.ts`)
|
||||
- `attestation-viewer` (`src/Web/StellaOps.Web/src/app/features/triage/components/attestation-viewer/attestation-viewer.component.ts`)
|
||||
- `bulk-action-modal` (`src/Web/StellaOps.Web/src/app/features/triage/components/bulk-action-modal/bulk-action-modal.component.ts`)
|
||||
- `case-header` (`src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.ts`)
|
||||
- `decision-drawer-enhanced` (`src/Web/StellaOps.Web/src/app/features/triage/components/decision-drawer/decision-drawer-enhanced.component.ts`)
|
||||
- `decision-drawer` (`src/Web/StellaOps.Web/src/app/features/triage/components/decision-drawer/decision-drawer.component.ts`)
|
||||
- `attestation-chain` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/attestation-chain.component.ts`)
|
||||
- `backport-verdict-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/backport-verdict-badge.component.ts`)
|
||||
- `binary-diff-tab` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/binary-diff-tab.component.ts`)
|
||||
- `confidence-meter` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/confidence-meter.component.ts`)
|
||||
- `diff-tab` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/diff-tab.component.ts`)
|
||||
- `dsse-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/dsse-badge.component.ts`)
|
||||
- `evidence-uri-link` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/evidence-uri-link.component.ts`)
|
||||
- `function-trace` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/function-trace.component.ts`)
|
||||
- ... and 48 more components
|
||||
- **Services**:
|
||||
- `advisory-ai` (`src/Web/StellaOps.Web/src/app/features/triage/services/advisory-ai.service.ts`)
|
||||
- `binary-diff-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/binary-diff-evidence.service.ts`)
|
||||
- `diff-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/diff-evidence.service.ts`)
|
||||
- `display-preferences` (`src/Web/StellaOps.Web/src/app/features/triage/services/display-preferences.service.ts`)
|
||||
- `evidence-tab` (`src/Web/StellaOps.Web/src/app/features/triage/services/evidence-tab.service.ts`)
|
||||
- `gating` (`src/Web/StellaOps.Web/src/app/features/triage/services/gating.service.ts`)
|
||||
- `keyboard-shortcuts` (`src/Web/StellaOps.Web/src/app/features/triage/services/keyboard-shortcuts.service.ts`)
|
||||
- `reach-graph-slice` (`src/Web/StellaOps.Web/src/app/features/triage/services/reach-graph-slice.service.ts`)
|
||||
- `reachability` (`src/Web/StellaOps.Web/src/app/features/triage/services/reachability.service.ts`)
|
||||
- `runtime-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/runtime-evidence.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/diff-evidence.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/evidence-panel.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/evidence.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/gating.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/reachability.models.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/triage/artifacts`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/exception-center-with-kanban-view/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-11
|
||||
@@ -0,0 +1,37 @@
|
||||
# "Explain Like I'm New" / Plain Language Toggle
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Toggle between technical and plain language modes with Alt+P shortcut, glossary tooltip directive for jargon expansion, and dedicated service for managing the state. Originally marked TODO in advisory but now implemented.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/plain-language-toggle/`
|
||||
- **Components**:
|
||||
- `plain-language-toggle` (`src/Web/StellaOps.Web/src/app/shared/components/plain-language-toggle/plain-language-toggle.component.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/explain-like-i-m-new-plain-language-toggle/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-11
|
||||
64
docs/features/checked/web/explainer-timeline-ui-component.md
Normal file
64
docs/features/checked/web/explainer-timeline-ui-component.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# Explainer Timeline UI Component (Step-by-Step Verdict Explanation)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Interactive step-by-step verdict explanation visualization with expand/collapse behavior. ExplainerStepComponent renders individual reasoning steps; ExplainerService provides data from backend; supports progressive disclosure of decision rationale for lineage views.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/lineage/`
|
||||
- **Routes**: `lineage.routes.ts`
|
||||
- **Components**:
|
||||
- `attestation-links` (`src/Web/StellaOps.Web/src/app/features/lineage/components/attestation-links/attestation-links.component.ts`)
|
||||
- `audit-pack-export` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/audit-pack-export.component.ts`)
|
||||
- `export-options` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/export-options/export-options.component.ts`)
|
||||
- `merkle-display` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/merkle-display/merkle-display.component.ts`)
|
||||
- `signing-options` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/signing-options/signing-options.component.ts`)
|
||||
- `cgs-badge` (`src/Web/StellaOps.Web/src/app/features/lineage/components/cgs-badge/cgs-badge.component.ts`)
|
||||
- `compare-panel` (`src/Web/StellaOps.Web/src/app/features/lineage/components/compare-panel/compare-panel.component.ts`)
|
||||
- `diff-table` (`src/Web/StellaOps.Web/src/app/features/lineage/components/diff-table/diff-table.component.ts`)
|
||||
- `explainer-step` (`src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/explainer-step/explainer-step.component.ts`)
|
||||
- `explainer-timeline` (`src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/explainer-timeline.component.ts`)
|
||||
- `export-dialog` (`src/Web/StellaOps.Web/src/app/features/lineage/components/export-dialog/export-dialog.component.ts`)
|
||||
- `keyboard-shortcuts-help` (`src/Web/StellaOps.Web/src/app/features/lineage/components/keyboard-shortcuts-help/keyboard-shortcuts-help.component.ts`)
|
||||
- `lineage-compare-panel` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-compare-panel/lineage-compare-panel.component.ts`)
|
||||
- `lineage-compare` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-compare/lineage-compare.component.ts`)
|
||||
- `lineage-component-diff` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-component-diff/lineage-component-diff.component.ts`)
|
||||
- ... and 32 more components
|
||||
- **Services**:
|
||||
- `audit-pack` (`src/Web/StellaOps.Web/src/app/features/lineage/services/audit-pack.service.ts`)
|
||||
- `explainer` (`src/Web/StellaOps.Web/src/app/features/lineage/services/explainer.service.ts`)
|
||||
- `lineage-export` (`src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-export.service.ts`)
|
||||
- `lineage-graph` (`src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-graph.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/models/audit-pack.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/diff-table/models/diff-table.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/models/explainer.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/node-diff-table/models/diff-table.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/pinned-explanation/models/pinned.models.ts`
|
||||
- **Source**: SPRINT_20251229_001_005_FE_explainer_timeline.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/lineage`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/explainer-timeline-ui-component/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-11
|
||||
50
docs/features/checked/web/feed-mirror-airgap-ops-ui.md
Normal file
50
docs/features/checked/web/feed-mirror-airgap-ops-ui.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# Feed Mirror & AirGap Ops UI
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Feed mirror ops UI with mirror registry list, snapshot management, AirGap import/export with bundle validation, feed version lock for deterministic scans, offline sync status, and bundle freshness warnings.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/feed-mirror/`
|
||||
- **Routes**: `feed-mirror.routes.ts`
|
||||
- **Components**:
|
||||
- `airgap-export` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/airgap-export.component.ts`)
|
||||
- `airgap-import` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/airgap-import.component.ts`)
|
||||
- `feed-mirror-dashboard` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/feed-mirror-dashboard.component.ts`)
|
||||
- `feed-mirror` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/feed-mirror.component.ts`)
|
||||
- `feed-version-lock` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/feed-version-lock.component.ts`)
|
||||
- `freshness-warnings` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/freshness-warnings.component.ts`)
|
||||
- `mirror-detail` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/mirror-detail.component.ts`)
|
||||
- `mirror-list` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/mirror-list.component.ts`)
|
||||
- `offline-sync-status` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/offline-sync-status.component.ts`)
|
||||
- `snapshot-actions` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/snapshot-actions.component.ts`)
|
||||
- `snapshot-selector` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/snapshot-selector.component.ts`)
|
||||
- `sync-status-indicator` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/sync-status-indicator.component.ts`)
|
||||
- `version-lock` (`src/Web/StellaOps.Web/src/app/features/feed-mirror/version-lock.component.ts`)
|
||||
- **Source**: SPRINT_20251229_020_FE_feed_mirror_airgap_ops_ui
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/ops/feeds`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/feed-mirror-airgap-ops-ui/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-11
|
||||
@@ -0,0 +1,39 @@
|
||||
# Filter Preset Pills with URL Synchronization
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Always-visible horizontal-scrolling filter chips (7 presets: actionable, prod-runtime, backport-verified, critical-only, needs-review, vex-applied, all-findings) with bidirectional URL synchronization for shareable filter states and copy-URL support.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/vuln-explorer/components/filter-preset-pills/`
|
||||
- **Components**:
|
||||
- `filter-preset-pills` (`src/Web/StellaOps.Web/src/app/features/vuln-explorer/components/filter-preset-pills/filter-preset-pills.component.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/vuln-explorer/components/filter-preset-pills/filter-preset.models.ts`
|
||||
- **Source**: SPRINT_20260103_001_FE_preset_pills_patch_map.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify search/filter input accepts and processes user input
|
||||
- [ ] Verify results update in real-time as filter criteria change
|
||||
- [ ] Verify clearing filters resets to the full unfiltered view
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/filter-preset-pills-with-url-synchronization/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-11
|
||||
37
docs/features/checked/web/finding-detail-drawer.md
Normal file
37
docs/features/checked/web/finding-detail-drawer.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# Finding Detail Drawer
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Shared slide-in drawer for viewing finding details from any context, displaying reachability evidence, VEX status, and available actions without full-page navigation.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/overlays/finding-detail-drawer/`
|
||||
- **Components**:
|
||||
- `finding-detail-drawer` (`src/Web/StellaOps.Web/src/app/shared/overlays/finding-detail-drawer/finding-detail-drawer.component.ts`)
|
||||
- **Source**: SPRINT_20260118_007_FE_security_consolidation.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the panel/drawer opens on trigger (click, keyboard shortcut)
|
||||
- [ ] Verify the panel displays the correct detail data for the selected item
|
||||
- [ ] Verify the panel can be closed (X button, Escape key, backdrop click)
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/finding-detail-drawer/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-11
|
||||
39
docs/features/checked/web/firstsignalcard-component.md
Normal file
39
docs/features/checked/web/firstsignalcard-component.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# FirstSignalCard Component (Prefetch, SSE Updates, Storybook)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
FirstSignalCard Angular component with prefetch service for fast initial signal delivery, signal store, API client, SSE updates showing summary + next action buttons, Storybook stories, and unit tests.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/runs/`
|
||||
- **Components**:
|
||||
- `first-signal-card` (`src/Web/StellaOps.Web/src/app/features/runs/components/first-signal-card/first-signal-card.component.ts`)
|
||||
- **Services**:
|
||||
- `first-signal-prefetch` (`src/Web/StellaOps.Web/src/app/features/runs/services/first-signal-prefetch.service.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/firstsignalcard-component/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-11
|
||||
51
docs/features/checked/web/frontend-plugin-system.md
Normal file
51
docs/features/checked/web/frontend-plugin-system.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# Frontend Plugin System (Discovery, Sandbox, Extension Slots)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Frontend plugin architecture with plugin discovery service, dynamic module loader, sandboxed execution, a registry for managing plugin lifecycle, tenant-scoped plugin configuration, navigation integration for plugin-contributed menu items, and an extension slot component allowing plugins to inject UI at designated extension points.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/core/plugins/`
|
||||
- **Components**:
|
||||
- `extension-slot` (`src/Web/StellaOps.Web/src/app/core/plugins/extension-slots/extension-slot.component.ts`)
|
||||
- **Services**:
|
||||
- `plugin-discovery` (`src/Web/StellaOps.Web/src/app/core/plugins/discovery/plugin-discovery.service.ts`)
|
||||
- `extension-slot` (`src/Web/StellaOps.Web/src/app/core/plugins/extension-slots/extension-slot.service.ts`)
|
||||
- `plugin-loader` (`src/Web/StellaOps.Web/src/app/core/plugins/loader/plugin-loader.service.ts`)
|
||||
- `plugin-manifest-loader` (`src/Web/StellaOps.Web/src/app/core/plugins/loader/plugin-manifest-loader.service.ts`)
|
||||
- `navigation-plugin` (`src/Web/StellaOps.Web/src/app/core/plugins/navigation/navigation-plugin.service.ts`)
|
||||
- `plugin-registry` (`src/Web/StellaOps.Web/src/app/core/plugins/registry/plugin-registry.service.ts`)
|
||||
- `plugin-sandbox` (`src/Web/StellaOps.Web/src/app/core/plugins/sandbox/plugin-sandbox.service.ts`)
|
||||
- `tenant-plugin-config` (`src/Web/StellaOps.Web/src/app/core/plugins/tenant/tenant-plugin-config.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/core/plugins/models/extension-slot.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/core/plugins/models/plugin-lifecycle.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/core/plugins/models/plugin-manifest.model.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/frontend-plugin-system/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-11
|
||||
|
||||
39
docs/features/checked/web/function-map-management-ui.md
Normal file
39
docs/features/checked/web/function-map-management-ui.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# Function Map Management UI (Runtime Behavior Verification)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Manage function maps that define expected runtime behavior for services. Includes a list view with verification status and coverage metrics, a multi-step wizard (SBOM source, hot function patterns, coverage thresholds, review) for creating maps, a detail view with verification history, and an observation timeline chart showing matched vs unmatched observations over time.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/binary-index/`
|
||||
- **Components**:
|
||||
- `binary-index-ops` (`src/Web/StellaOps.Web/src/app/features/binary-index/binary-index-ops.component.ts`)
|
||||
- `patch-map` (`src/Web/StellaOps.Web/src/app/features/binary-index/patch-map.component.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/analyze/patch-map`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/function-map-management-ui/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-11
|
||||
|
||||
38
docs/features/checked/web/gate-explain-drawer.md
Normal file
38
docs/features/checked/web/gate-explain-drawer.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# Gate Explain Drawer
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Slide-in drawer explaining why a policy gate passed or failed, showing each rule evaluation, evidence inputs, and what would need to change for a different outcome.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/overlays/gate-explain-drawer/`
|
||||
- **Components**:
|
||||
- `gate-explain-drawer` (`src/Web/StellaOps.Web/src/app/shared/overlays/gate-explain-drawer/gate-explain-drawer.component.ts`)
|
||||
- **Source**: SPRINT_20260118_009_FE_route_migration_shared_components.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the panel/drawer opens on trigger (click, keyboard shortcut)
|
||||
- [ ] Verify the panel displays the correct detail data for the selected item
|
||||
- [ ] Verify the panel can be closed (X button, Escape key, backdrop click)
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/gate-explain-drawer/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-11
|
||||
|
||||
45
docs/features/checked/web/graph-export.md
Normal file
45
docs/features/checked/web/graph-export.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# Graph Export (SVG/PNG)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Graph export service supporting SVG and PNG formats with options for scale, legend inclusion, metadata embedding, and custom background colors. Originally marked TODO in advisory but now implemented.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/graph/`
|
||||
- **Components**:
|
||||
- `graph-canvas` (`src/Web/StellaOps.Web/src/app/features/graph/graph-canvas.component.ts`)
|
||||
- `graph-explorer` (`src/Web/StellaOps.Web/src/app/features/graph/graph-explorer.component.ts`)
|
||||
- `graph-filters` (`src/Web/StellaOps.Web/src/app/features/graph/graph-filters.component.ts`)
|
||||
- `graph-hotkey-help` (`src/Web/StellaOps.Web/src/app/features/graph/graph-hotkey-help.component.ts`)
|
||||
- `graph-overlays` (`src/Web/StellaOps.Web/src/app/features/graph/graph-overlays.component.ts`)
|
||||
- `graph-side-panels` (`src/Web/StellaOps.Web/src/app/features/graph/graph-side-panels.component.ts`)
|
||||
- **Services**:
|
||||
- `graph-accessibility` (`src/Web/StellaOps.Web/src/app/features/graph/graph-accessibility.service.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/graph`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the visualization renders correctly with sample data
|
||||
- [ ] Verify interactive elements (hover tooltips, click-to-drill-down) work
|
||||
- [ ] Verify the visualization handles empty/minimal data gracefully
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/graph-export/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-11
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
# Graph Split View with Diff Engine
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Visual graph diff engine with split-view component for comparing two dependency/SBOM graphs side by side with change highlighting, diff computation, and synchronized navigation.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/graph/`
|
||||
- **Components**:
|
||||
- `graph-canvas` (`src/Web/StellaOps.Web/src/app/features/graph/graph-canvas.component.ts`)
|
||||
- `graph-explorer` (`src/Web/StellaOps.Web/src/app/features/graph/graph-explorer.component.ts`)
|
||||
- `graph-filters` (`src/Web/StellaOps.Web/src/app/features/graph/graph-filters.component.ts`)
|
||||
- `graph-hotkey-help` (`src/Web/StellaOps.Web/src/app/features/graph/graph-hotkey-help.component.ts`)
|
||||
- `graph-overlays` (`src/Web/StellaOps.Web/src/app/features/graph/graph-overlays.component.ts`)
|
||||
- `graph-side-panels` (`src/Web/StellaOps.Web/src/app/features/graph/graph-side-panels.component.ts`)
|
||||
- **Services**:
|
||||
- `graph-accessibility` (`src/Web/StellaOps.Web/src/app/features/graph/graph-accessibility.service.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/graph`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify side-by-side comparison view renders correctly with two versions
|
||||
- [ ] Verify additions, removals, and changes are visually highlighted
|
||||
- [ ] Verify diff data matches the expected delta between versions
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/graph-split-view-with-diff-engine/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-11T07:02:25Z
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
# Identity Watchlist Management UI
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Full CRUD UI for managing identity watchlist entries (issuer, SAN, keyId) with match modes (Exact, Prefix, Glob, Regex), severity levels, scope (Tenant/Global/System), alert viewing, pattern testing, and duplicate suppression configuration. Users can create, edit, delete, enable/disable watchlist entries and view resulting alerts.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/watchlist/`
|
||||
- **Components**:
|
||||
- `watchlist-page` (`src/Web/StellaOps.Web/src/app/features/watchlist/watchlist-page.component.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/security`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the list/table loads with paginated data
|
||||
- [ ] Verify sorting and filtering controls work correctly
|
||||
- [ ] Verify clicking a row navigates to the detail view
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/identity-watchlist-management-ui/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-11T07:02:25Z
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
# Impact-First Vulnerability Detail (EPSS/KEV)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Vulnerability detail page redesigned with impact-first layout showing EPSS probability, KEV catalog status, reachability state, and blast radius before technical details.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/vulnerabilities/`
|
||||
- **Components**:
|
||||
- `claim-table` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/claim-table.component.ts`)
|
||||
- `confidence-meter` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/confidence-meter.component.ts`)
|
||||
- `policy-chips` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/policy-chips.component.ts`)
|
||||
- `replay-button` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/replay-button.component.ts`)
|
||||
- `trust-algebra` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/trust-algebra.component.ts`)
|
||||
- `trust-vector-bars` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/trust-vector-bars.component.ts`)
|
||||
- `vuln-triage-dashboard` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/vuln-triage-dashboard/vuln-triage-dashboard.component.ts`)
|
||||
- `vulnerability-detail` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/vulnerability-detail.component.ts`)
|
||||
- `vulnerability-explorer` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/vulnerability-explorer.component.ts`)
|
||||
- **Services**:
|
||||
- `trust-algebra` (`src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/trust-algebra.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/vulnerabilities/components/trust-algebra/trust-algebra.models.ts`
|
||||
- **Source**: SPRINT_20260118_007_FE_security_consolidation.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/vulnerabilities`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/impact-first-vulnerability-detail/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-11T07:02:25Z
|
||||
|
||||
46
docs/features/checked/web/integration-hub-ui.md
Normal file
46
docs/features/checked/web/integration-hub-ui.md
Normal file
@@ -0,0 +1,46 @@
|
||||
# Integration Hub UI (List + Detail + Connection Test)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Integration Hub frontend with list view showing integration status/health, detail view with configuration and activity log, and connection test UI for verifying integration connectivity.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/integration-hub/`
|
||||
- **Routes**: `integration-hub.routes.ts`
|
||||
- **Components**:
|
||||
- `integration-activity` (`src/Web/StellaOps.Web/src/app/features/integration-hub/integration-activity.component.ts`)
|
||||
- `integration-detail` (`src/Web/StellaOps.Web/src/app/features/integration-hub/integration-detail.component.ts`)
|
||||
- `integration-hub` (`src/Web/StellaOps.Web/src/app/features/integration-hub/integration-hub.component.ts`)
|
||||
- `integration-list` (`src/Web/StellaOps.Web/src/app/features/integration-hub/integration-list.component.ts`)
|
||||
- **Services**:
|
||||
- `integration` (`src/Web/StellaOps.Web/src/app/features/integration-hub/integration.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/integration-hub/integration.models.ts`
|
||||
- **Source**: SPRINT_20251229_011_FE_integration_hub_ui.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/integrations`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/integration-hub-ui/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-11T07:02:25Z
|
||||
|
||||
49
docs/features/checked/web/integration-onboarding-wizard.md
Normal file
49
docs/features/checked/web/integration-onboarding-wizard.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# Integration Onboarding Wizard (Multi-Type Setup Flows)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Multi-step integration onboarding wizard supporting registry, SCM, CI, and host integration types. Includes preflight checks, copy-safe instructions, and template generation for Helm/systemd deployments.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/integration-hub/`
|
||||
- **Routes**: `integration-hub.routes.ts`
|
||||
- **Components**:
|
||||
- `integration-activity` (`src/Web/StellaOps.Web/src/app/features/integration-hub/integration-activity.component.ts`)
|
||||
- `integration-detail` (`src/Web/StellaOps.Web/src/app/features/integration-hub/integration-detail.component.ts`)
|
||||
- `integration-hub` (`src/Web/StellaOps.Web/src/app/features/integration-hub/integration-hub.component.ts`)
|
||||
- `integration-list` (`src/Web/StellaOps.Web/src/app/features/integration-hub/integration-list.component.ts`)
|
||||
- **Services**:
|
||||
- `integration` (`src/Web/StellaOps.Web/src/app/features/integration-hub/integration.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/integration-hub/integration.models.ts`
|
||||
- **Additional wizard surface**:
|
||||
- `integration-wizard` (`src/Web/StellaOps.Web/src/app/features/integrations/integration-wizard.component.ts`)
|
||||
- `integrations-hub` (`src/Web/StellaOps.Web/src/app/features/integrations/integrations-hub.component.ts`)
|
||||
- **Source**: SPRINT_20251229_014_FE_integration_wizards.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/integrations`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the editor/studio loads with editable content or empty template
|
||||
- [ ] Verify changes can be saved and persisted
|
||||
- [ ] Verify validation errors are displayed for invalid input
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/integration-onboarding-wizard/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-11T07:15:15Z
|
||||
|
||||
42
docs/features/checked/web/issuer-trust-management-ui.md
Normal file
42
docs/features/checked/web/issuer-trust-management-ui.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Issuer Trust Management UI
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Issuer directory trust management UI with issuer list, issuer detail view showing keys and trust bundles, key rotation wizard with confirmation, and issuer lifecycle management under Admin > Trust > Issuers.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/issuer-trust/`
|
||||
- **Routes**: `issuer-trust.routes.ts`
|
||||
- **Components**:
|
||||
- `issuer-detail` (`src/Web/StellaOps.Web/src/app/features/issuer-trust/components/issuer-detail.component.ts`)
|
||||
- `issuer-editor` (`src/Web/StellaOps.Web/src/app/features/issuer-trust/components/issuer-editor.component.ts`)
|
||||
- `issuer-list` (`src/Web/StellaOps.Web/src/app/features/issuer-trust/components/issuer-list.component.ts`)
|
||||
- `key-rotation` (`src/Web/StellaOps.Web/src/app/features/issuer-trust/components/key-rotation.component.ts`)
|
||||
- `issuer-trust` (`src/Web/StellaOps.Web/src/app/features/issuer-trust/issuer-trust.component.ts`)
|
||||
- **Source**: SPRINT_20251229_024_FE_issuer_trust_ui
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/admin/issuers`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/issuer-trust-management-ui/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-11T07:21:27Z
|
||||
69
docs/features/checked/web/keyboard-shortcuts-for-triage.md
Normal file
69
docs/features/checked/web/keyboard-shortcuts-for-triage.md
Normal file
@@ -0,0 +1,69 @@
|
||||
# Keyboard Shortcuts for Triage (J, Y, R, S, A/N/U)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Keyboard shortcuts for triage workflow including help overlay, graph hotkeys, and shared keyboard shortcut infrastructure with e2e test coverage.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/triage/`
|
||||
- **Components**:
|
||||
- `ai-code-guard-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/ai-code-guard-badge/ai-code-guard-badge.component.ts`)
|
||||
- `ai-recommendation-panel` (`src/Web/StellaOps.Web/src/app/features/triage/components/ai-recommendation-panel/ai-recommendation-panel.component.ts`)
|
||||
- `attestation-viewer` (`src/Web/StellaOps.Web/src/app/features/triage/components/attestation-viewer/attestation-viewer.component.ts`)
|
||||
- `bulk-action-modal` (`src/Web/StellaOps.Web/src/app/features/triage/components/bulk-action-modal/bulk-action-modal.component.ts`)
|
||||
- `case-header` (`src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.ts`)
|
||||
- `decision-drawer-enhanced` (`src/Web/StellaOps.Web/src/app/features/triage/components/decision-drawer/decision-drawer-enhanced.component.ts`)
|
||||
- `decision-drawer` (`src/Web/StellaOps.Web/src/app/features/triage/components/decision-drawer/decision-drawer.component.ts`)
|
||||
- `attestation-chain` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/attestation-chain.component.ts`)
|
||||
- `backport-verdict-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/backport-verdict-badge.component.ts`)
|
||||
- `binary-diff-tab` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/binary-diff-tab.component.ts`)
|
||||
- `confidence-meter` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/confidence-meter.component.ts`)
|
||||
- `diff-tab` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/diff-tab.component.ts`)
|
||||
- `dsse-badge` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/dsse-badge.component.ts`)
|
||||
- `evidence-uri-link` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/evidence-uri-link.component.ts`)
|
||||
- `function-trace` (`src/Web/StellaOps.Web/src/app/features/triage/components/evidence-panel/function-trace.component.ts`)
|
||||
- ... and 48 more components
|
||||
- **Services**:
|
||||
- `advisory-ai` (`src/Web/StellaOps.Web/src/app/features/triage/services/advisory-ai.service.ts`)
|
||||
- `binary-diff-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/binary-diff-evidence.service.ts`)
|
||||
- `diff-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/diff-evidence.service.ts`)
|
||||
- `display-preferences` (`src/Web/StellaOps.Web/src/app/features/triage/services/display-preferences.service.ts`)
|
||||
- `evidence-tab` (`src/Web/StellaOps.Web/src/app/features/triage/services/evidence-tab.service.ts`)
|
||||
- `gating` (`src/Web/StellaOps.Web/src/app/features/triage/services/gating.service.ts`)
|
||||
- `keyboard-shortcuts` (`src/Web/StellaOps.Web/src/app/features/triage/services/keyboard-shortcuts.service.ts`)
|
||||
- `reach-graph-slice` (`src/Web/StellaOps.Web/src/app/features/triage/services/reach-graph-slice.service.ts`)
|
||||
- `reachability` (`src/Web/StellaOps.Web/src/app/features/triage/services/reachability.service.ts`)
|
||||
- `runtime-evidence` (`src/Web/StellaOps.Web/src/app/features/triage/services/runtime-evidence.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/diff-evidence.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/evidence-panel.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/evidence.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/gating.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/triage/models/reachability.models.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/triage/artifacts`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the triage list loads with findings/items to review
|
||||
- [ ] Verify triaging actions (accept, dismiss, override) update item status
|
||||
- [ ] Verify keyboard shortcuts work for rapid triage navigation
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/keyboard-shortcuts-for-triage/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-11T07:32:12Z
|
||||
@@ -0,0 +1,36 @@
|
||||
# Legacy Route Migration Framework
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Comprehensive route migration framework with 70+ redirect rules mapping legacy URLs to new consolidated navigation structure. Ensures bookmark and deep-link preservation during the UI restructuring from flat routes to hierarchical navigation (Security, Policy, Operations, Settings, Evidence).
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/routes/`
|
||||
- **Routes**: `legacy-redirects.routes.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/legacy-route-migration-framework/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-11T07:43:29Z
|
||||
63
docs/features/checked/web/lineage-compare-panel.md
Normal file
63
docs/features/checked/web/lineage-compare-panel.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# Lineage Compare Panel (Side-by-Side SBOM/VEX Diff)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Interactive side-by-side comparison panel for SBOM lineage graph with dedicated SBOM diff view (added/removed/updated components), VEX diff view (status transitions), and URL-addressable compare state for sharing comparison links.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/lineage/`
|
||||
- **Routes**: `lineage.routes.ts`
|
||||
- **Components**:
|
||||
- `attestation-links` (`src/Web/StellaOps.Web/src/app/features/lineage/components/attestation-links/attestation-links.component.ts`)
|
||||
- `audit-pack-export` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/audit-pack-export.component.ts`)
|
||||
- `export-options` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/export-options/export-options.component.ts`)
|
||||
- `merkle-display` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/merkle-display/merkle-display.component.ts`)
|
||||
- `signing-options` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/signing-options/signing-options.component.ts`)
|
||||
- `cgs-badge` (`src/Web/StellaOps.Web/src/app/features/lineage/components/cgs-badge/cgs-badge.component.ts`)
|
||||
- `compare-panel` (`src/Web/StellaOps.Web/src/app/features/lineage/components/compare-panel/compare-panel.component.ts`)
|
||||
- `diff-table` (`src/Web/StellaOps.Web/src/app/features/lineage/components/diff-table/diff-table.component.ts`)
|
||||
- `explainer-step` (`src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/explainer-step/explainer-step.component.ts`)
|
||||
- `explainer-timeline` (`src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/explainer-timeline.component.ts`)
|
||||
- `export-dialog` (`src/Web/StellaOps.Web/src/app/features/lineage/components/export-dialog/export-dialog.component.ts`)
|
||||
- `keyboard-shortcuts-help` (`src/Web/StellaOps.Web/src/app/features/lineage/components/keyboard-shortcuts-help/keyboard-shortcuts-help.component.ts`)
|
||||
- `lineage-compare-panel` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-compare-panel/lineage-compare-panel.component.ts`)
|
||||
- `lineage-compare` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-compare/lineage-compare.component.ts`)
|
||||
- `lineage-component-diff` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-component-diff/lineage-component-diff.component.ts`)
|
||||
- ... and 32 more components
|
||||
- **Services**:
|
||||
- `audit-pack` (`src/Web/StellaOps.Web/src/app/features/lineage/services/audit-pack.service.ts`)
|
||||
- `explainer` (`src/Web/StellaOps.Web/src/app/features/lineage/services/explainer.service.ts`)
|
||||
- `lineage-export` (`src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-export.service.ts`)
|
||||
- `lineage-graph` (`src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-graph.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/models/audit-pack.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/diff-table/models/diff-table.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/models/explainer.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/node-diff-table/models/diff-table.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/pinned-explanation/models/pinned.models.ts`
|
||||
- **Source**: SPRINT_20251228_008_FE_sbom_lineage_graph_ii.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/lineage`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the panel/drawer opens on trigger (click, keyboard shortcut)
|
||||
- [ ] Verify the panel displays the correct detail data for the selected item
|
||||
- [ ] Verify the panel can be closed (X button, Escape key, backdrop click)
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
## Verification
|
||||
- Run: docs/qa/feature-checks/runs/web/lineage-compare-panel/run-001/
|
||||
- Tier 0 (source): pass ( ier0-source-check.json)
|
||||
- Tier 1 (build/tests): pass ( ier1-build-check.json)
|
||||
- Tier 2 (behavior): pass ( ier2-e2e-check.json)
|
||||
- Verified on (UTC): 2026-02-11T07:52:30Z
|
||||
63
docs/features/checked/web/lineage-timeline-slider.md
Normal file
63
docs/features/checked/web/lineage-timeline-slider.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# Lineage Timeline Slider
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Interactive timeline slider for navigating SBOM lineage graph history. Allows scrubbing through release versions chronologically with visual markers for significant security state changes.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/lineage/`
|
||||
- **Routes**: `lineage.routes.ts`
|
||||
- **Components**:
|
||||
- `attestation-links` (`src/Web/StellaOps.Web/src/app/features/lineage/components/attestation-links/attestation-links.component.ts`)
|
||||
- `audit-pack-export` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/audit-pack-export.component.ts`)
|
||||
- `export-options` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/export-options/export-options.component.ts`)
|
||||
- `merkle-display` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/merkle-display/merkle-display.component.ts`)
|
||||
- `signing-options` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/signing-options/signing-options.component.ts`)
|
||||
- `cgs-badge` (`src/Web/StellaOps.Web/src/app/features/lineage/components/cgs-badge/cgs-badge.component.ts`)
|
||||
- `compare-panel` (`src/Web/StellaOps.Web/src/app/features/lineage/components/compare-panel/compare-panel.component.ts`)
|
||||
- `diff-table` (`src/Web/StellaOps.Web/src/app/features/lineage/components/diff-table/diff-table.component.ts`)
|
||||
- `explainer-step` (`src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/explainer-step/explainer-step.component.ts`)
|
||||
- `explainer-timeline` (`src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/explainer-timeline.component.ts`)
|
||||
- `export-dialog` (`src/Web/StellaOps.Web/src/app/features/lineage/components/export-dialog/export-dialog.component.ts`)
|
||||
- `keyboard-shortcuts-help` (`src/Web/StellaOps.Web/src/app/features/lineage/components/keyboard-shortcuts-help/keyboard-shortcuts-help.component.ts`)
|
||||
- `lineage-compare-panel` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-compare-panel/lineage-compare-panel.component.ts`)
|
||||
- `lineage-compare` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-compare/lineage-compare.component.ts`)
|
||||
- `lineage-component-diff` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-component-diff/lineage-component-diff.component.ts`)
|
||||
- ... and 32 more components
|
||||
- **Services**:
|
||||
- `audit-pack` (`src/Web/StellaOps.Web/src/app/features/lineage/services/audit-pack.service.ts`)
|
||||
- `explainer` (`src/Web/StellaOps.Web/src/app/features/lineage/services/explainer.service.ts`)
|
||||
- `lineage-export` (`src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-export.service.ts`)
|
||||
- `lineage-graph` (`src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-graph.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/models/audit-pack.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/diff-table/models/diff-table.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/models/explainer.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/node-diff-table/models/diff-table.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/pinned-explanation/models/pinned.models.ts`
|
||||
- **Source**: SPRINT_20251228_008_FE_sbom_lineage_graph_ii.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/lineage`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
## Verification
|
||||
- Run: docs/qa/feature-checks/runs/web/lineage-timeline-slider/run-001/
|
||||
- Tier 0 (source): pass ( ier0-source-check.json)
|
||||
- Tier 1 (build/tests): pass ( ier1-build-check.json)
|
||||
- Tier 2 (behavior): pass ( ier2-e2e-check.json)
|
||||
- Verified on (UTC): 2026-02-11T07:59:10Z
|
||||
@@ -0,0 +1,63 @@
|
||||
# Lineage UI API Wiring with Angular Signals
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Frontend API client wiring for SBOM lineage graph with Angular signals-based state management. Connects graph visualization, diff/compare panels, and hover card overlays to the backend LineageGraphService API, including Valkey cache integration for compare operations.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/lineage/`
|
||||
- **Routes**: `lineage.routes.ts`
|
||||
- **Components**:
|
||||
- `attestation-links` (`src/Web/StellaOps.Web/src/app/features/lineage/components/attestation-links/attestation-links.component.ts`)
|
||||
- `audit-pack-export` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/audit-pack-export.component.ts`)
|
||||
- `export-options` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/export-options/export-options.component.ts`)
|
||||
- `merkle-display` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/merkle-display/merkle-display.component.ts`)
|
||||
- `signing-options` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/signing-options/signing-options.component.ts`)
|
||||
- `cgs-badge` (`src/Web/StellaOps.Web/src/app/features/lineage/components/cgs-badge/cgs-badge.component.ts`)
|
||||
- `compare-panel` (`src/Web/StellaOps.Web/src/app/features/lineage/components/compare-panel/compare-panel.component.ts`)
|
||||
- `diff-table` (`src/Web/StellaOps.Web/src/app/features/lineage/components/diff-table/diff-table.component.ts`)
|
||||
- `explainer-step` (`src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/explainer-step/explainer-step.component.ts`)
|
||||
- `explainer-timeline` (`src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/explainer-timeline.component.ts`)
|
||||
- `export-dialog` (`src/Web/StellaOps.Web/src/app/features/lineage/components/export-dialog/export-dialog.component.ts`)
|
||||
- `keyboard-shortcuts-help` (`src/Web/StellaOps.Web/src/app/features/lineage/components/keyboard-shortcuts-help/keyboard-shortcuts-help.component.ts`)
|
||||
- `lineage-compare-panel` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-compare-panel/lineage-compare-panel.component.ts`)
|
||||
- `lineage-compare` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-compare/lineage-compare.component.ts`)
|
||||
- `lineage-component-diff` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-component-diff/lineage-component-diff.component.ts`)
|
||||
- ... and 32 more components
|
||||
- **Services**:
|
||||
- `audit-pack` (`src/Web/StellaOps.Web/src/app/features/lineage/services/audit-pack.service.ts`)
|
||||
- `explainer` (`src/Web/StellaOps.Web/src/app/features/lineage/services/explainer.service.ts`)
|
||||
- `lineage-export` (`src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-export.service.ts`)
|
||||
- `lineage-graph` (`src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-graph.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/models/audit-pack.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/diff-table/models/diff-table.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/models/explainer.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/node-diff-table/models/diff-table.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/pinned-explanation/models/pinned.models.ts`
|
||||
- **Source**: SPRINT_20251229_005_FE_lineage_ui_wiring.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/lineage`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
## Verification
|
||||
- Run: docs/qa/feature-checks/runs/web/lineage-ui-api-wiring-with-angular-signals/run-001/
|
||||
- Tier 0 (source): pass ( ier0-source-check.json)
|
||||
- Tier 1 (build/tests): pass ( ier1-build-check.json)
|
||||
- Tier 2 (behavior): pass ( ier2-e2e-check.json)
|
||||
- Verified on (UTC): 2026-02-11T08:05:03Z
|
||||
@@ -0,0 +1,37 @@
|
||||
# Mermaid.js and GraphViz Diagram Renderers
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Reusable diagram rendering components - Mermaid.js renderer for flowcharts/sequence diagrams with theme support, and GraphViz DOT renderer using WASM (@viz-js/viz) for graph visualizations with multiple engine support (dot, neato, fdp, etc.).
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/visualization/`
|
||||
- **Components**:
|
||||
- `graphviz-renderer` (`src/Web/StellaOps.Web/src/app/shared/components/visualization/graphviz-renderer.component.ts`)
|
||||
- `mermaid-renderer` (`src/Web/StellaOps.Web/src/app/shared/components/visualization/mermaid-renderer.component.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the visualization renders correctly with sample data
|
||||
- [ ] Verify interactive elements (hover tooltips, click-to-drill-down) work
|
||||
- [ ] Verify the visualization handles empty/minimal data gracefully
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
## Verification
|
||||
- Run: docs/qa/feature-checks/runs/web/mermaid-js-and-graphviz-diagram-renderers/run-001/
|
||||
- Tier 0 (source): pass ( ier0-source-check.json)
|
||||
- Tier 1 (build/tests): pass ( ier1-build-check.json)
|
||||
- Tier 2 (behavior): pass ( ier2-e2e-check.json)
|
||||
- Verified on (UTC): 2026-02-11T08:09:51Z
|
||||
37
docs/features/checked/web/metrics-dashboard-component.md
Normal file
37
docs/features/checked/web/metrics-dashboard-component.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# Metrics Dashboard Component (Attestation Coverage, Approval Velocity, Gap Analysis)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Angular standalone component providing a dashboard view of attestation coverage metrics, approval velocity trends, and evidence gap analysis. Visualizes operational health of the attestation pipeline.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/analytics/`
|
||||
- **Routes**: `analytics.routes.ts`
|
||||
- **Components**:
|
||||
- `sbom-lake-page` (`src/Web/StellaOps.Web/src/app/features/analytics/sbom-lake-page.component.ts`)
|
||||
- **Source**: batch_02/file_00.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/analytics`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the dashboard loads without errors and displays summary cards/metrics
|
||||
- [ ] Verify data refreshes correctly and loading states are shown
|
||||
- [ ] Verify empty state is displayed when no data is available
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
## Verification
|
||||
- Run: docs/qa/feature-checks/runs/web/metrics-dashboard-component/run-001/
|
||||
- Tier 0 (source): pass ( ier0-source-check.json)
|
||||
- Tier 1 (build/tests): pass ( ier1-build-check.json)
|
||||
- Tier 2 (behavior): pass ( ier2-e2e-check.json)
|
||||
- Verified on (UTC): 2026-02-11T08:17:03Z
|
||||
35
docs/features/checked/web/mi1-motion-tokens-catalogue.md
Normal file
35
docs/features/checked/web/mi1-motion-tokens-catalogue.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# MI1 - Motion Tokens Catalogue (Durations, Easings, Distance Scales)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Complete motion token catalogue implemented in both SCSS custom properties and TypeScript with exact durations (80-320ms), easing curves, translate/scale values, and a Storybook story page for visual verification.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/styles/`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/mi1-motion-tokens-catalogue/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): `2026-02-11T08:26:09.7073752Z`
|
||||
35
docs/features/checked/web/mi2-reduced-motion-rules.md
Normal file
35
docs/features/checked/web/mi2-reduced-motion-rules.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# MI2 - Reduced-Motion Rules
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Comprehensive reduced-motion support via both CSS `prefers-reduced-motion` media query and `data-reduce-motion` attribute. Durations clamp to 0ms, parallax/auto-animations disabled, focus/hover states preserved.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/styles/`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/mi2-reduced-motion-rules/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): `2026-02-11T08:32:00.7257886Z`
|
||||
54
docs/features/checked/web/mi3-latency-idle-load-patterns.md
Normal file
54
docs/features/checked/web/mi3-latency-idle-load-patterns.md
Normal file
@@ -0,0 +1,54 @@
|
||||
# MI3 - Latency/Idle/Load Patterns (Skeletons, Progress, Offline Banners)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Skeleton loading placeholders with multiple variants, offline banner with retry button and connection status, and offline mode service for detecting/managing connectivity state.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/core/`
|
||||
- **Components**:
|
||||
- `extension-slot` (`src/Web/StellaOps.Web/src/app/core/plugins/extension-slots/extension-slot.component.ts`)
|
||||
- **Services**:
|
||||
- `evidence-panel-metrics` (`src/Web/StellaOps.Web/src/app/core/analytics/evidence-panel-metrics.service.ts`)
|
||||
- `gateway-metrics` (`src/Web/StellaOps.Web/src/app/core/api/gateway-metrics.service.ts`)
|
||||
- `policy-interop` (`src/Web/StellaOps.Web/src/app/core/api/policy-interop.service.ts`)
|
||||
- `reachability-integration` (`src/Web/StellaOps.Web/src/app/core/api/reachability-integration.service.ts`)
|
||||
- `vuln-export-orchestrator` (`src/Web/StellaOps.Web/src/app/core/api/vuln-export-orchestrator.service.ts`)
|
||||
- `abac` (`src/Web/StellaOps.Web/src/app/core/auth/abac.service.ts`)
|
||||
- `auth-storage` (`src/Web/StellaOps.Web/src/app/core/auth/auth-storage.service.ts`)
|
||||
- `auth` (`src/Web/StellaOps.Web/src/app/core/auth/auth.service.ts`)
|
||||
- `authority-auth` (`src/Web/StellaOps.Web/src/app/core/auth/authority-auth.service.ts`)
|
||||
- `dpop` (`src/Web/StellaOps.Web/src/app/core/auth/dpop/dpop.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/core/api/advisories.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/core/api/advisory-ai.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/core/api/ai-runs.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/core/api/analytics.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/core/api/aoc.models.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/mi3-latency-idle-load-patterns/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): `2026-02-11T08:37:58.7612207Z`
|
||||
37
docs/features/checked/web/mi9-micro-copy-localisation.md
Normal file
37
docs/features/checked/web/mi9-micro-copy-localisation.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# MI9 - Micro-Copy Localisation (i18n Keys and ICU Messages)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Full micro-interaction localisation file with EN defaults covering all interaction states (loading/skeleton/progress, error types, offline banners, toast/undo, actions, validation, accessibility labels, motion preferences). i18n service exists for key resolution.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/core/i18n/`
|
||||
- **Services**:
|
||||
- `i18n` (`src/Web/StellaOps.Web/src/app/core/i18n/i18n.service.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/mi9-micro-copy-localisation/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): `2026-02-11T08:43:15.2115744Z`
|
||||
35
docs/features/checked/web/motion-and-animation-tokens.md
Normal file
35
docs/features/checked/web/motion-and-animation-tokens.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# Motion and Animation Tokens (Duration, Easing, Reduced-Motion)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Motion token system in SCSS and TypeScript with duration scales (xs through xl), easing functions, and reduced-motion overrides. Storybook stories for visual documentation.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/styles/`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/motion-and-animation-tokens/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): `2026-02-11T08:51:11.0249063Z`
|
||||
43
docs/features/checked/web/node-diff-table-component.md
Normal file
43
docs/features/checked/web/node-diff-table-component.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# Node Diff Table Component (Tabular SBOM Change Comparison)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Tabular SBOM component-change diff view with change-type filter chips, debounced search, multi-column sorting, row selection with bulk actions, pagination, clipboard actions, and CSV export for lineage comparisons.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/lineage/components/node-diff-table/`
|
||||
- **Primary component**:
|
||||
- `diff-table.component.ts`
|
||||
- `diff-table.component.html`
|
||||
- `diff-table.component.scss`
|
||||
- `models/diff-table.models.ts`
|
||||
- **Service dependency**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-graph.service.ts`
|
||||
- **Behavioral tests**:
|
||||
- `src/Web/StellaOps.Web/src/tests/lineage/node-diff-table-component.spec.ts`
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to lineage comparison workflow hosting the node diff table
|
||||
- [ ] Ensure comparison data exists (added/removed/changed components)
|
||||
- **Core verification**:
|
||||
- [ ] Verify component rows render and sort deterministically
|
||||
- [ ] Verify search is debounced and filter chips (including both-changed) work
|
||||
- [ ] Verify bulk actions, pagination, and API-input based diff fetch behavior
|
||||
- **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)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/node-diff-table-component/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): `2026-02-11T09:03:08.3546412Z`
|
||||
@@ -0,0 +1,52 @@
|
||||
# Notification Rule Simulation & Escalation Policies
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Notification rule management with simulation-before-activation and escalation policy editing for multi-level chains, including required-channel validation on each escalation level, plus quiet-hours/channel/delivery management flows.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/admin-notifications/`
|
||||
- **Routes**: `admin-notifications.routes.ts`
|
||||
- **Components**:
|
||||
- `admin-notifications` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/admin-notifications.component.ts`)
|
||||
- `channel-management` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/channel-management.component.ts`)
|
||||
- `delivery-analytics` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/delivery-analytics.component.ts`)
|
||||
- `delivery-history` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/delivery-history.component.ts`)
|
||||
- `escalation-config` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/escalation-config.component.ts`)
|
||||
- `notification-dashboard` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/notification-dashboard.component.ts`)
|
||||
- `notification-preview` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/notification-preview.component.ts`)
|
||||
- `notification-rule-editor` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/notification-rule-editor.component.ts`)
|
||||
- `notification-rule-list` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/notification-rule-list.component.ts`)
|
||||
- `operator-override-management` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/operator-override-management.component.ts`)
|
||||
- `operator-override` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/operator-override.component.ts`)
|
||||
- `quiet-hours-config` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/quiet-hours-config.component.ts`)
|
||||
- `rule-simulator` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/rule-simulator.component.ts`)
|
||||
- `template-editor` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/template-editor.component.ts`)
|
||||
- `throttle-config` (`src/Web/StellaOps.Web/src/app/features/admin-notifications/components/throttle-config.component.ts`)
|
||||
- **Source**: SPRINT_20251229_045_FE_notification_delivery_audit
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/admin/notifications`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/notification-rule-simulation-escalation-policies/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): `2026-02-11T09:13:01.0412783Z`
|
||||
42
docs/features/checked/web/offline-kit-ui-integration.md
Normal file
42
docs/features/checked/web/offline-kit-ui-integration.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Offline Kit UI Integration
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Offline Kit UI with OfflineModeService, ManifestValidator, BundleFreshness widget, ReadOnlyGuard, and offline verification workflow for air-gapped environments, including deterministic bundle activation behavior in bundle management.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/offline-kit/`
|
||||
- **Routes**: `offline-kit.routes.ts`
|
||||
- **Components**:
|
||||
- `bundle-management` (`src/Web/StellaOps.Web/src/app/features/offline-kit/components/bundle-management.component.ts`)
|
||||
- `jwks-management` (`src/Web/StellaOps.Web/src/app/features/offline-kit/components/jwks-management.component.ts`)
|
||||
- `offline-dashboard` (`src/Web/StellaOps.Web/src/app/features/offline-kit/components/offline-dashboard.component.ts`)
|
||||
- `verification-center` (`src/Web/StellaOps.Web/src/app/features/offline-kit/components/verification-center.component.ts`)
|
||||
- `offline-kit` (`src/Web/StellaOps.Web/src/app/features/offline-kit/offline-kit.component.ts`)
|
||||
- **Source**: SPRINT_20251229_026_PLATFORM_offline_kit_integration
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/ops/offline-kit`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/offline-kit-ui-integration/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): `2026-02-11T09:23:15.9520926Z`
|
||||
47
docs/features/checked/web/operator-auditor-mode-toggle.md
Normal file
47
docs/features/checked/web/operator-auditor-mode-toggle.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# Operator/Auditor mode toggle
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
View mode service, toggle component, and operator-only/auditor-only directives implement two-mode UI with different default levels of detail.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directories**:
|
||||
- `src/Web/StellaOps.Web/src/app/core/services/`
|
||||
- `src/Web/StellaOps.Web/src/app/shared/components/view-mode-toggle/`
|
||||
- `src/Web/StellaOps.Web/src/app/shared/directives/`
|
||||
- **Components**:
|
||||
- `view-mode-toggle` (`src/Web/StellaOps.Web/src/app/shared/components/view-mode-toggle/view-mode-toggle.component.ts`)
|
||||
- **Services**:
|
||||
- `view-mode.service` (`src/Web/StellaOps.Web/src/app/core/services/view-mode.service.ts`)
|
||||
- **Directives**:
|
||||
- `stellaOperatorOnly` (`src/Web/StellaOps.Web/src/app/shared/directives/operator-only.directive.ts`)
|
||||
- `stellaAuditorOnly` (`src/Web/StellaOps.Web/src/app/shared/directives/auditor-only.directive.ts`)
|
||||
- **Verification harness**:
|
||||
- `src/Web/StellaOps.Web/src/tests/workspaces/operator-auditor-mode-toggle.spec.ts`
|
||||
- **Source**: SPRINT_20260211_006_FE_web_feature_verification_batch24
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to a page that includes mode toggle and role-gated sections
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify operator mode renders operator-only content
|
||||
- [ ] Verify mode switch to auditor updates role-gated content
|
||||
- [ ] Verify selected mode persists across user interactions
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when browser storage is unavailable
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/operator-auditor-mode-toggle/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): `2026-02-11T09:40:30.6754472Z`
|
||||
46
docs/features/checked/web/operator-quota-dashboard.md
Normal file
46
docs/features/checked/web/operator-quota-dashboard.md
Normal file
@@ -0,0 +1,46 @@
|
||||
# Operator Quota Dashboard
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Operator quota dashboard with KPI summary, tenant drill-down, throttle context panel, quota forecasting, and alert configuration.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/quota-dashboard/`
|
||||
- **Routes**: `quota.routes.ts`
|
||||
- **Components**:
|
||||
- `quota-alert-config` (`src/Web/StellaOps.Web/src/app/features/quota-dashboard/quota-alert-config.component.ts`)
|
||||
- `quota-dashboard` (`src/Web/StellaOps.Web/src/app/features/quota-dashboard/quota-dashboard.component.ts`)
|
||||
- `quota-forecast` (`src/Web/StellaOps.Web/src/app/features/quota-dashboard/quota-forecast.component.ts`)
|
||||
- `quota-report-export` (`src/Web/StellaOps.Web/src/app/features/quota-dashboard/quota-report-export.component.ts`)
|
||||
- `tenant-quota-detail` (`src/Web/StellaOps.Web/src/app/features/quota-dashboard/tenant-quota-detail.component.ts`)
|
||||
- `tenant-quota-table` (`src/Web/StellaOps.Web/src/app/features/quota-dashboard/tenant-quota-table.component.ts`)
|
||||
- `throttle-context` (`src/Web/StellaOps.Web/src/app/features/quota-dashboard/throttle-context.component.ts`)
|
||||
- **Verification harness**:
|
||||
- `src/Web/StellaOps.Web/src/tests/quotas/operator-quota-dashboard.spec.ts`
|
||||
- **Source**: SPRINT_20251229_029_FE_operator_quota_dashboard
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/ops/quotas`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the dashboard loads without errors and displays summary cards/metrics
|
||||
- [ ] Verify data refreshes correctly and loading states are shown
|
||||
- [ ] Verify empty state is displayed when no data is available
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/operator-quota-dashboard/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): `2026-02-11T09:54:12.8870256Z`
|
||||
41
docs/features/checked/web/overlay-host-component.md
Normal file
41
docs/features/checked/web/overlay-host-component.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# Overlay Host Component
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Centralized overlay/drawer management system with signal-based store for coordinating slide-in panels, modals, and drawers across the application.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/layout/overlay-host/`
|
||||
- **Components**:
|
||||
- `overlay-host` (`src/Web/StellaOps.Web/src/app/layout/overlay-host/overlay-host.component.ts`)
|
||||
- **Store**:
|
||||
- `overlay.store` (`src/Web/StellaOps.Web/src/app/layout/overlay-host/overlay.store.ts`)
|
||||
- **Verification harness**:
|
||||
- `src/Web/StellaOps.Web/src/tests/overlays/overlay-host-component.spec.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 drawer/modal overlays correctly
|
||||
- [ ] Verify escape and backdrop interactions close overlays deterministically
|
||||
- [ ] Verify open overlays receive keyboard focus for accessibility
|
||||
- **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)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/overlay-host-component/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): `2026-02-11T10:01:16.1411477Z`
|
||||
40
docs/features/checked/web/patch-map-explorer.md
Normal file
40
docs/features/checked/web/patch-map-explorer.md
Normal file
@@ -0,0 +1,40 @@
|
||||
# Patch Map Explorer (Heatmap UI)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Interactive CSS Grid heatmap showing vendor backport patch coverage across fleet with drill-down to function-level breakdown and paginated affected images. Three API endpoints: aggregated coverage, function-level details, and matching images.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/binary-index/`
|
||||
- **Components**:
|
||||
- `binary-index-ops` (`src/Web/StellaOps.Web/src/app/features/binary-index/binary-index-ops.component.ts`)
|
||||
- `patch-map` (`src/Web/StellaOps.Web/src/app/features/binary-index/patch-map.component.ts`)
|
||||
- **Verification harness**:
|
||||
- `src/Web/StellaOps.Web/src/tests/binary_index/patch-map.component.spec.ts`
|
||||
- **Source**: SPRINT_20260103_001_FE_preset_pills_patch_map.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/analyze/patch-map`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/patch-map-explorer/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): `2026-02-11T10:06:47.9174079Z`
|
||||
67
docs/features/checked/web/pinned-explanations-panel.md
Normal file
67
docs/features/checked/web/pinned-explanations-panel.md
Normal file
@@ -0,0 +1,67 @@
|
||||
# Pinned Explanations Panel (Copy-Safe Ticket Creation)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Floating panel for pinning AI explanations and evidence summaries with multi-format export (Markdown, Plain Text, JSON, HTML, Jira). Supports session persistence, drag reordering, and one-click copy-to-clipboard for creating evidence-backed tickets in external issue trackers.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/lineage/`
|
||||
- **Routes**: `lineage.routes.ts`
|
||||
- **Components**:
|
||||
- `attestation-links` (`src/Web/StellaOps.Web/src/app/features/lineage/components/attestation-links/attestation-links.component.ts`)
|
||||
- `audit-pack-export` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/audit-pack-export.component.ts`)
|
||||
- `export-options` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/export-options/export-options.component.ts`)
|
||||
- `merkle-display` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/merkle-display/merkle-display.component.ts`)
|
||||
- `signing-options` (`src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/signing-options/signing-options.component.ts`)
|
||||
- `cgs-badge` (`src/Web/StellaOps.Web/src/app/features/lineage/components/cgs-badge/cgs-badge.component.ts`)
|
||||
- `compare-panel` (`src/Web/StellaOps.Web/src/app/features/lineage/components/compare-panel/compare-panel.component.ts`)
|
||||
- `diff-table` (`src/Web/StellaOps.Web/src/app/features/lineage/components/diff-table/diff-table.component.ts`)
|
||||
- `explainer-step` (`src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/explainer-step/explainer-step.component.ts`)
|
||||
- `explainer-timeline` (`src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/explainer-timeline.component.ts`)
|
||||
- `export-dialog` (`src/Web/StellaOps.Web/src/app/features/lineage/components/export-dialog/export-dialog.component.ts`)
|
||||
- `keyboard-shortcuts-help` (`src/Web/StellaOps.Web/src/app/features/lineage/components/keyboard-shortcuts-help/keyboard-shortcuts-help.component.ts`)
|
||||
- `lineage-compare-panel` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-compare-panel/lineage-compare-panel.component.ts`)
|
||||
- `lineage-compare` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-compare/lineage-compare.component.ts`)
|
||||
- `lineage-component-diff` (`src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-component-diff/lineage-component-diff.component.ts`)
|
||||
- ... and 32 more components
|
||||
- **Services**:
|
||||
- `pinned-explanation` (`src/Web/StellaOps.Web/src/app/core/services/pinned-explanation.service.ts`)
|
||||
- `audit-pack` (`src/Web/StellaOps.Web/src/app/features/lineage/services/audit-pack.service.ts`)
|
||||
- `explainer` (`src/Web/StellaOps.Web/src/app/features/lineage/services/explainer.service.ts`)
|
||||
- `lineage-export` (`src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-export.service.ts`)
|
||||
- `lineage-graph` (`src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-graph.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/audit-pack-export/models/audit-pack.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/diff-table/models/diff-table.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/explainer-timeline/models/explainer.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/node-diff-table/models/diff-table.models.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/lineage/components/pinned-explanation/models/pinned.models.ts`
|
||||
- **Verification harness**:
|
||||
- `src/Web/StellaOps.Web/src/tests/lineage/pinned-explanations-panel.spec.ts`
|
||||
- **Source**: SPRINT_20251229_001_007_FE_pinned_explanations.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/lineage`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the panel/drawer opens on trigger (click, keyboard shortcut)
|
||||
- [ ] Verify the panel displays the correct detail data for the selected item
|
||||
- [ ] Verify the panel can be closed (X button, Escape key, backdrop click)
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/pinned-explanations-panel/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): `2026-02-11T10:14:35.4741521Z`
|
||||
33
docs/features/checked/web/platform-health-dashboard.md
Normal file
33
docs/features/checked/web/platform-health-dashboard.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# Platform Health Dashboard
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Platform health dashboard showing service health grid for 13 services, dependency graph visualization, incident timeline with auto-root-cause suggestions, and aggregate metrics.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/platform-health/`
|
||||
- **Routes**: `platform-health.routes.ts`
|
||||
- **Components**:
|
||||
- `incident-timeline` (`src/Web/StellaOps.Web/src/app/features/platform-health/incident-timeline.component.ts`)
|
||||
- `platform-health-dashboard` (`src/Web/StellaOps.Web/src/app/features/platform-health/platform-health-dashboard.component.ts`)
|
||||
- `service-detail` (`src/Web/StellaOps.Web/src/app/features/platform-health/service-detail.component.ts`)
|
||||
- **Source**: SPRINT_20251229_032_FE_platform_health_dashboard
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/ops/health`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the dashboard loads without errors and displays summary cards/metrics
|
||||
- [ ] Verify data refreshes correctly and loading states are shown
|
||||
- [ ] Verify empty state is displayed when no data is available
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
34
docs/features/checked/web/playbook-suggestion-service.md
Normal file
34
docs/features/checked/web/playbook-suggestion-service.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# Playbook Suggestion Service (OpsMemory Integration)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Frontend service for fetching contextual playbook suggestions from OpsMemory API. Queries by CVE ID, severity, reachability status, component type, and context tags. Includes 5-minute response caching, retry logic for transient errors, and an evidence card component for displaying playbook-linked evidence.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/opsmemory/`
|
||||
- **Components**:
|
||||
- `evidence-card` (`src/Web/StellaOps.Web/src/app/features/opsmemory/components/evidence-card/evidence-card.component.ts`)
|
||||
- **Services**:
|
||||
- `playbook-suggestion` (`src/Web/StellaOps.Web/src/app/features/opsmemory/services/playbook-suggestion.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/opsmemory/models/playbook.models.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
30
docs/features/checked/web/policy-breadcrumb-ui-component.md
Normal file
30
docs/features/checked/web/policy-breadcrumb-ui-component.md
Normal file
@@ -0,0 +1,30 @@
|
||||
# Policy Breadcrumb UI Component
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Angular component that visualizes the policy evaluation chain as an interactive breadcrumb trail, showing which policy rules fired, their order, and individual pass/fail status. Provides drill-down from verdict summary to specific rule decisions.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/verdicts/components/policy-breadcrumb/`
|
||||
- **Components**:
|
||||
- `policy-breadcrumb` (`src/Web/StellaOps.Web/src/app/features/verdicts/components/policy-breadcrumb/policy-breadcrumb.component.ts`)
|
||||
- **Source**: SPRINT_1227_0014_0002_FE_verdict_ui.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
@@ -0,0 +1,36 @@
|
||||
# Policy Gates Preview with Air-Gap Mode and Feed Freshness
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Policy gates preview panel with air-gap mode toggle (sealed/connected with offline verification status), feed freshness status badges (fresh/warning/stale counts), bundle simulation for promotions, gate simulation results display, and policy profile selection.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/policy-gates/`
|
||||
- **Routes**: `policy-gates.routes.ts`
|
||||
- **Components**:
|
||||
- `airgap-mode-switch` (`src/Web/StellaOps.Web/src/app/features/policy-gates/components/airgap-mode-switch/airgap-mode-switch.component.ts`)
|
||||
- `bundle-simulator` (`src/Web/StellaOps.Web/src/app/features/policy-gates/components/bundle-simulator/bundle-simulator.component.ts`)
|
||||
- `feed-freshness-badges` (`src/Web/StellaOps.Web/src/app/features/policy-gates/components/feed-freshness-badges/feed-freshness-badges.component.ts`)
|
||||
- `gate-simulation-results` (`src/Web/StellaOps.Web/src/app/features/policy-gates/components/gate-simulation-results/gate-simulation-results.component.ts`)
|
||||
- `policy-preview-panel` (`src/Web/StellaOps.Web/src/app/features/policy-gates/components/policy-preview-panel/policy-preview-panel.component.ts`)
|
||||
- `profile-selector` (`src/Web/StellaOps.Web/src/app/features/policy-gates/components/profile-selector/profile-selector.component.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/policy`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
51
docs/features/checked/web/policy-governance-controls-ui.md
Normal file
51
docs/features/checked/web/policy-governance-controls-ui.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# Policy Governance Controls UI
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Policy governance controls with risk budget dashboard, trust weighting with impact preview, risk profiles CRUD, sealed mode toggle, and policy conflict dashboard with resolution wizard.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/policy-governance/`
|
||||
- **Routes**: `policy-governance.routes.ts`
|
||||
- **Components**:
|
||||
- `conflict-resolution-wizard` (`src/Web/StellaOps.Web/src/app/features/policy-governance/conflict-resolution-wizard.component.ts`)
|
||||
- `governance-audit` (`src/Web/StellaOps.Web/src/app/features/policy-governance/governance-audit.component.ts`)
|
||||
- `impact-preview` (`src/Web/StellaOps.Web/src/app/features/policy-governance/impact-preview.component.ts`)
|
||||
- `policy-conflict-dashboard` (`src/Web/StellaOps.Web/src/app/features/policy-governance/policy-conflict-dashboard.component.ts`)
|
||||
- `policy-governance` (`src/Web/StellaOps.Web/src/app/features/policy-governance/policy-governance.component.ts`)
|
||||
- `policy-validator` (`src/Web/StellaOps.Web/src/app/features/policy-governance/policy-validator.component.ts`)
|
||||
- `risk-budget-config` (`src/Web/StellaOps.Web/src/app/features/policy-governance/risk-budget-config.component.ts`)
|
||||
- `risk-budget-dashboard` (`src/Web/StellaOps.Web/src/app/features/policy-governance/risk-budget-dashboard.component.ts`)
|
||||
- `risk-profile-editor` (`src/Web/StellaOps.Web/src/app/features/policy-governance/risk-profile-editor.component.ts`)
|
||||
- `risk-profile-list` (`src/Web/StellaOps.Web/src/app/features/policy-governance/risk-profile-list.component.ts`)
|
||||
- `schema-docs` (`src/Web/StellaOps.Web/src/app/features/policy-governance/schema-docs.component.ts`)
|
||||
- `schema-playground` (`src/Web/StellaOps.Web/src/app/features/policy-governance/schema-playground.component.ts`)
|
||||
- `sealed-mode-control` (`src/Web/StellaOps.Web/src/app/features/policy-governance/sealed-mode-control.component.ts`)
|
||||
- `sealed-mode-overrides` (`src/Web/StellaOps.Web/src/app/features/policy-governance/sealed-mode-overrides.component.ts`)
|
||||
- `staleness-config` (`src/Web/StellaOps.Web/src/app/features/policy-governance/staleness-config.component.ts`)
|
||||
- ... and 1 more components
|
||||
- **Source**: SPRINT_20251229_047_FE_policy_governance_controls
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/admin/policy/governance`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/policy-governance-controls-ui/run-001/`
|
||||
- Date (UTC): 2026-02-11
|
||||
|
||||
52
docs/features/checked/web/policy-studio-ui.md
Normal file
52
docs/features/checked/web/policy-studio-ui.md
Normal file
@@ -0,0 +1,52 @@
|
||||
# Policy Studio UI (Monaco Editor, Simulation, Approvals)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Full Policy Studio authoring environment with Monaco-based DSL editor (stella-dsl@1 syntax highlighting, IntelliSense), policy simulation panel with deterministic diff rendering, guided rule builder, YAML editor with schema validation, submit/review/approve workflow with two-person approval, run viewer dashboards, and explain view with evidence overlay exports.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/policy-studio/`
|
||||
- **Components**:
|
||||
- `conflict-visualizer` (`src/Web/StellaOps.Web/src/app/features/policy-studio/ai/conflict-visualizer.component.ts`)
|
||||
- `live-rule-preview` (`src/Web/StellaOps.Web/src/app/features/policy-studio/ai/live-rule-preview.component.ts`)
|
||||
- `test-case-panel` (`src/Web/StellaOps.Web/src/app/features/policy-studio/ai/test-case-panel.component.ts`)
|
||||
- `version-history` (`src/Web/StellaOps.Web/src/app/features/policy-studio/ai/version-history.component.ts`)
|
||||
- `policy-approvals` (`src/Web/StellaOps.Web/src/app/features/policy-studio/approvals/policy-approvals.component.ts`)
|
||||
- `policy-dashboard` (`src/Web/StellaOps.Web/src/app/features/policy-studio/dashboard/policy-dashboard.component.ts`)
|
||||
- `policy-editor` (`src/Web/StellaOps.Web/src/app/features/policy-studio/editor/policy-editor.component.ts`)
|
||||
- `policy-explain` (`src/Web/StellaOps.Web/src/app/features/policy-studio/explain/policy-explain.component.ts`)
|
||||
- `policy-nl-input` (`src/Web/StellaOps.Web/src/app/features/policy-studio/nl-input/policy-nl-input.component.ts`)
|
||||
- `policy-rule-builder` (`src/Web/StellaOps.Web/src/app/features/policy-studio/rule-builder/policy-rule-builder.component.ts`)
|
||||
- `policy-simulation` (`src/Web/StellaOps.Web/src/app/features/policy-studio/simulation/policy-simulation.component.ts`)
|
||||
- `policy-workspace` (`src/Web/StellaOps.Web/src/app/features/policy-studio/workspace/policy-workspace.component.ts`)
|
||||
- `policy-yaml-editor` (`src/Web/StellaOps.Web/src/app/features/policy-studio/yaml/policy-yaml-editor.component.ts`)
|
||||
- **Services**:
|
||||
- `monaco-loader` (`src/Web/StellaOps.Web/src/app/features/policy-studio/editor/monaco-loader.service.ts`)
|
||||
- `policy-api` (`src/Web/StellaOps.Web/src/app/features/policy-studio/services/policy-api.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/policy-studio/models/policy.models.ts`
|
||||
- **Source**: SPRINT_0210_0001_0002_ui_ii.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/policy-studio/packs`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the editor/studio loads with editable content or empty template
|
||||
- [ ] Verify changes can be saved and persisted
|
||||
- [ ] Verify validation errors are displayed for invalid input
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/policy-studio-ui/run-001/`
|
||||
- Date (UTC): 2026-02-11
|
||||
|
||||
39
docs/features/checked/web/promotion-and-approval-queue-ui.md
Normal file
39
docs/features/checked/web/promotion-and-approval-queue-ui.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# Promotion and Approval Queue UI
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Promotion request form with gate preview, approval queue with filtering, approval detail with gate results display, approve/reject with comments, and batch approval support.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/approvals/`
|
||||
- **Routes**: `approvals.routes.ts`
|
||||
- **Components**:
|
||||
- `approval-detail-page` (`src/Web/StellaOps.Web/src/app/features/approvals/approval-detail-page.component.ts`)
|
||||
- `approval-detail` (`src/Web/StellaOps.Web/src/app/features/approvals/approval-detail.component.ts`)
|
||||
- `approvals-inbox-page` (`src/Web/StellaOps.Web/src/app/features/approvals/approvals-inbox-page.component.ts`)
|
||||
- `approvals-inbox` (`src/Web/StellaOps.Web/src/app/features/approvals/approvals-inbox.component.ts`)
|
||||
- `request-exception-modal` (`src/Web/StellaOps.Web/src/app/features/approvals/modals/request-exception-modal.component.ts`)
|
||||
- **Source**: SPRINT_20260110_111_005_FE_promotion_approval_ui.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/approvals`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the list/table loads with paginated data
|
||||
- [ ] Verify sorting and filtering controls work correctly
|
||||
- [ ] Verify clicking a row navigates to the detail view
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/promotion-and-approval-queue-ui/run-001/`
|
||||
- Date (UTC): 2026-02-11
|
||||
40
docs/features/checked/web/proof-chain-verification-ui.md
Normal file
40
docs/features/checked/web/proof-chain-verification-ui.md
Normal file
@@ -0,0 +1,40 @@
|
||||
# Proof chain verification UI
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
13 Angular standalone components implement proof-driven UX with evidence chains, including tabbed panels, static evidence cards, and E2E tests.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/proof-chain/`
|
||||
- **Components**:
|
||||
- `proof-detail-panel` (`src/Web/StellaOps.Web/src/app/features/proof-chain/components/proof-detail-panel.component.ts`)
|
||||
- `verification-badge` (`src/Web/StellaOps.Web/src/app/features/proof-chain/components/verification-badge.component.ts`)
|
||||
- `proof-chain` (`src/Web/StellaOps.Web/src/app/features/proof-chain/proof-chain.component.ts`)
|
||||
- **Services**:
|
||||
- `proof-chain` (`src/Web/StellaOps.Web/src/app/features/proof-chain/proof-chain.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/proof-chain/proof-chain.models.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/proofs/:subjectDigest`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/proof-chain-verification-ui/run-001/`
|
||||
- Date (UTC): 2026-02-11
|
||||
42
docs/features/checked/web/proof-graph-ux.md
Normal file
42
docs/features/checked/web/proof-graph-ux.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Proof Graph UX (Unified Evidence View)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Evidence page, panel, and list components with analytics metrics for evidence panel interactions, integrated across triage, findings, SBOM, and release orchestrator views.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/proof-chain/`
|
||||
- **Components**:
|
||||
- `proof-detail-panel` (`src/Web/StellaOps.Web/src/app/features/proof-chain/components/proof-detail-panel.component.ts`)
|
||||
- `verification-badge` (`src/Web/StellaOps.Web/src/app/features/proof-chain/components/verification-badge.component.ts`)
|
||||
- `proof-chain` (`src/Web/StellaOps.Web/src/app/features/proof-chain/proof-chain.component.ts`)
|
||||
- **Services**:
|
||||
- `proof-chain` (`src/Web/StellaOps.Web/src/app/features/proof-chain/proof-chain.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/proof-chain/proof-chain.models.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/proofs/:subjectDigest`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the visualization renders correctly with sample data
|
||||
- [ ] Verify interactive elements (hover tooltips, click-to-drill-down) work
|
||||
- [ ] Verify the visualization handles empty/minimal data gracefully
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
|
||||
## Verification
|
||||
- Run: docs/qa/feature-checks/runs/web/proof-graph-ux/run-001/`r
|
||||
- Date (UTC): 2026-02-11
|
||||
|
||||
39
docs/features/checked/web/proof-ledger-view.md
Normal file
39
docs/features/checked/web/proof-ledger-view.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# Proof Ledger View (Merkle Tree Scan History)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Interactive proof ledger displaying scan proof history with Merkle tree visualization, proof bundle download, and a Score Replay Dashboard for triggering and monitoring deterministic score replay operations with before/after comparison.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/proofs/`
|
||||
- **Components**:
|
||||
- `proof-ledger-view` (`src/Web/StellaOps.Web/src/app/features/proofs/proof-ledger-view.component.ts`)
|
||||
- **Services**:
|
||||
- `manifest-api` (`src/Web/StellaOps.Web/src/app/core/api/proof.client.ts`)
|
||||
- `proof-bundle-api` (`src/Web/StellaOps.Web/src/app/core/api/proof.client.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/core/api/proof.models.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/proofs/:subjectDigest`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/proof-ledger-view/run-001/`
|
||||
- Date (UTC): 2026-02-11
|
||||
41
docs/features/checked/web/proof-linked-vex-ui.md
Normal file
41
docs/features/checked/web/proof-linked-vex-ui.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# Proof-linked VEX UI (Evidence drawer, Proof Spine component)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Angular UI components for proof spine visualization (segments, badges, detail modal) and evidence drawer are implemented with e2e test coverage.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/`
|
||||
- **Components**:
|
||||
- `proof-spine` (`src/Web/StellaOps.Web/src/app/shared/components/proof-spine/proof-spine.component.ts`)
|
||||
- `proof-segment` (`src/Web/StellaOps.Web/src/app/shared/components/proof-spine/proof-segment.component.ts`)
|
||||
- `proof-badges-row` (`src/Web/StellaOps.Web/src/app/shared/components/proof-spine/proof-badges-row.component.ts`)
|
||||
- `evidence-drawer` (`src/Web/StellaOps.Web/src/app/shared/components/evidence-drawer/evidence-drawer.component.ts`)
|
||||
- **Services**:
|
||||
- `n/a (presentation components consume typed inputs from parent feature surfaces)`
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/core/models/proof-spine.model.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/proofs/:subjectDigest`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the 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)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/proof-linked-vex-ui/run-001/`
|
||||
- Date (UTC): 2026-02-11
|
||||
38
docs/features/checked/web/proof-spine-ui-component.md
Normal file
38
docs/features/checked/web/proof-spine-ui-component.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# Proof Spine UI component (segmented visualization with badges)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Angular proof-spine component suite with segment visualization, badge rows, detail modals, and e2e tests.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/proof-spine/`
|
||||
- **Components**:
|
||||
- `chain-integrity-badge` (`src/Web/StellaOps.Web/src/app/shared/components/proof-spine/chain-integrity-badge.component.ts`)
|
||||
- `proof-badges-row` (`src/Web/StellaOps.Web/src/app/shared/components/proof-spine/proof-badges-row.component.ts`)
|
||||
- `proof-segment` (`src/Web/StellaOps.Web/src/app/shared/components/proof-spine/proof-segment.component.ts`)
|
||||
- `proof-spine` (`src/Web/StellaOps.Web/src/app/shared/components/proof-spine/proof-spine.component.ts`)
|
||||
- `segment-detail-modal` (`src/Web/StellaOps.Web/src/app/shared/components/proof-spine/segment-detail-modal.component.ts`)
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/proof-spine-ui-component/run-001/`
|
||||
- Date (UTC): 2026-02-11
|
||||
@@ -0,0 +1,41 @@
|
||||
# Proof Studio with What-If Slider and Confidence Factors
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Interactive proof studio for exploring confidence scores with a "what-if" slider for simulating evidence changes, confidence breakdown visualization showing contributing factors as bar charts, and confidence factor chips for individual factor display.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/proof-studio/`
|
||||
- **Components**:
|
||||
- `confidence-breakdown` (`src/Web/StellaOps.Web/src/app/features/proof-studio/components/confidence-breakdown/confidence-breakdown.component.ts`)
|
||||
- `confidence-factor-chip` (`src/Web/StellaOps.Web/src/app/features/proof-studio/components/confidence-factor-chip/confidence-factor-chip.component.ts`)
|
||||
- `proof-studio-container` (`src/Web/StellaOps.Web/src/app/features/proof-studio/components/proof-studio-container/proof-studio-container.component.ts`)
|
||||
- `what-if-slider` (`src/Web/StellaOps.Web/src/app/features/proof-studio/components/what-if-slider/what-if-slider.component.ts`)
|
||||
- **Services**:
|
||||
- `proof-studio` (`src/Web/StellaOps.Web/src/app/features/proof-studio/services/proof-studio.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/proof-studio/models/proof-trace.model.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to `/proofs/:subjectDigest`
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the editor/studio loads with editable content or empty template
|
||||
- [ ] Verify changes can be saved and persisted
|
||||
- [ ] Verify validation errors are displayed for invalid input
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/proof-studio-with-what-if-slider-and-confidence-factors/run-001/`
|
||||
- Date (UTC): 2026-02-11
|
||||
@@ -0,0 +1,34 @@
|
||||
# Quick-Verify Drawer UI Component
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Slide-out drawer component for one-click verification of attestation chains, DSSE signatures, and Rekor inclusion proofs directly from any evidence chip or finding row.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/shared/components/quick-verify-drawer/`
|
||||
- **Components**:
|
||||
- `quick-verify-drawer` (`src/Web/StellaOps.Web/src/app/shared/components/quick-verify-drawer/quick-verify-drawer.component.ts`)
|
||||
- **Source**: batch_38/file_13.md
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the panel/drawer opens on trigger (click, keyboard shortcut)
|
||||
- [ ] Verify the panel displays the correct detail data for the selected item
|
||||
- [ ] Verify the panel can be closed (X button, Escape key, backdrop click)
|
||||
- **Edge cases**:
|
||||
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
||||
- [ ] Verify responsive layout at different viewport sizes
|
||||
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/quick-verify-drawer-ui-component/run-001/`
|
||||
- Date (UTC): 2026-02-11
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user