Files
git.stella-ops.org/docs/features/unchecked/web/approval-detail-with-reachability-witness-panel.md

1.7 KiB

Approval Detail with Reachability Witness Panel

Module

Web

Status

IMPLEMENTED

Description

Split-pane approval detail with diff + gates on left and decision + comments on right, featuring the reachability witness panel ("The Moat") showing reachability evidence for each finding.

Implementation Details

  • Feature directory: src/Web/StellaOps.Web/src/app/features/approvals/
  • Routes: approvals.routes.ts
  • Components:
    • approval-detail-page (src/Web/StellaOps.Web/src/app/features/approvals/approval-detail-page.component.ts)
    • approval-detail (src/Web/StellaOps.Web/src/app/features/approvals/approval-detail.component.ts)
    • approvals-inbox-page (src/Web/StellaOps.Web/src/app/features/approvals/approvals-inbox-page.component.ts)
    • approvals-inbox (src/Web/StellaOps.Web/src/app/features/approvals/approvals-inbox.component.ts)
    • request-exception-modal (src/Web/StellaOps.Web/src/app/features/approvals/modals/request-exception-modal.component.ts)
  • Source: SPRINT_20260118_005_FE_approvals_feature.md

E2E Test Plan

  • Setup:
    • Log in with a user that has appropriate permissions
    • Navigate to /approvals
    • Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
  • Core verification:
    • Verify the panel/drawer opens on trigger (click, keyboard shortcut)
    • Verify the panel displays the correct detail data for the selected item
    • Verify the panel can be closed (X button, Escape key, backdrop click)
  • Edge cases:
    • Verify graceful handling when backend API is unavailable (error state)
    • Verify responsive layout at different viewport sizes
    • Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)