3.6 KiB
3.6 KiB
Security Operations Leaves UI
Module
Web
Status
VERIFIED
Description
Shipped the weak-route security operations leaves as fully surfaced operator workflows. Mission Control now exposes alerts and activity, Security owns unknowns tracking and determinization flows, and Ops > Operations owns notifications. Stale /analyze/unknowns* and /notify entry points now resolve into mounted canonical pages instead of dead owner paths.
Implementation Details
- Feature directories:
src/Web/StellaOps.Web/src/app/features/mission-control/src/Web/StellaOps.Web/src/app/features/unknowns-tracking/src/Web/StellaOps.Web/src/app/features/notify/
- Primary components:
mission-alerts-page(src/Web/StellaOps.Web/src/app/features/mission-control/mission-alerts-page.component.ts)mission-activity-page(src/Web.StellaOps.Web/src/app/features/mission-control/mission-activity-page.component.ts)unknowns-dashboard(src/Web.StellaOps.Web/src/app/features/unknowns-tracking/unknowns-dashboard.component.ts)grey-queue-dashboard(src/Web.StellaOps.Web/src/app/features/unknowns-tracking/grey-queue-dashboard.component.ts)determinization-review(src/Web.StellaOps.Web/src/app/features/unknowns-tracking/determinization-review.component.ts)notify-panel(src/Web.StellaOps.Web/src/app/features/notify/notify-panel.component.ts)
- Canonical routes:
/mission-control/alerts/mission-control/activity/security/unknowns/security/unknowns/:unknownId/security/unknowns/:unknownId/determinization/security/unknowns/queue/grey/ops/operations/notifications
- Legacy aliases:
/analyze/unknowns/analyze/unknowns/:unknownId/analyze/unknowns/:unknownId/determinization/analyze/unknowns/queue/grey/notify
- Secondary entry points:
- sidebar
Mission Control > Alerts - sidebar
Mission Control > Activity - sidebar
Security > Unknowns - sidebar
Operations > Notifications
- sidebar
E2E Test Plan
- Setup:
- Start the local Angular test server with
npm run serve:test. - Use a test session with mission, scanner, ops, and notify viewer scopes.
- Start the local Angular test server with
- Core verification:
- Open
/analyze/unknownsand verify redirect into canonical/security/unknowns. - Drill into unknown detail and verify the identification workflow stays mounted.
- Open the canonical notifications shell and verify the operator page and watchlist handoff render.
- Open
/mission-control/alertsand/mission-control/activityand verify both pages render live operator links.
- Open
Verification
- Run:
npm run test -- --watch=false --include src/app/layout/app-sidebar/app-sidebar.component.spec.ts --include src/tests/security/security-operations-leaves-cutover.spec.ts --include src/tests/unknowns/unknowns-tracking-ui.behavior.spec.ts --include src/tests/unknowns/unknowns-route-handoffs.spec.ts --include src/tests/notify/notify-watchlist-handoff.spec.tsnpx playwright test --config playwright.config.ts tests/e2e/security-operations-leaves-cutover.spec.ts --workers=1npm run build
- Tier 0 (source): pass
- Tier 1 (build/tests): pass
- Tier 2 (behavior): pass
- Notes:
- Angular targeted tests passed:
5files,16tests. - Playwright passed:
1security-operations cutover scenario. - The browser flow uses
/ops/operations/notificationsbecause the local frontend proxy reserves/notify; the/notifyalias remains covered by the route-contract test. - Production build passed; existing bundle-budget warnings remain unchanged from the baseline.
- Angular targeted tests passed:
- Verified on (UTC): 2026-03-08T08:42:15Z