Archive live search ingestion browser validation sprint
This commit is contained in:
67
docs/features/checked/web/security-operations-leaves-ui.md
Normal file
67
docs/features/checked/web/security-operations-leaves-ui.md
Normal file
@@ -0,0 +1,67 @@
|
||||
# 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`
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [x] Start the local Angular test server with `npm run serve:test`.
|
||||
- [x] Use a test session with mission, scanner, ops, and notify viewer scopes.
|
||||
- **Core verification**:
|
||||
- [x] Open `/analyze/unknowns` and verify redirect into canonical `/security/unknowns`.
|
||||
- [x] Drill into unknown detail and verify the identification workflow stays mounted.
|
||||
- [x] Open the canonical notifications shell and verify the operator page and watchlist handoff render.
|
||||
- [x] Open `/mission-control/alerts` and `/mission-control/activity` and verify both pages render live operator links.
|
||||
|
||||
## 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.ts`
|
||||
- `npx playwright test --config playwright.config.ts tests/e2e/security-operations-leaves-cutover.spec.ts --workers=1`
|
||||
- `npm run build`
|
||||
- Tier 0 (source): pass
|
||||
- Tier 1 (build/tests): pass
|
||||
- Tier 2 (behavior): pass
|
||||
- Notes:
|
||||
- Angular targeted tests passed: `5` files, `16` tests.
|
||||
- Playwright passed: `1` security-operations cutover scenario.
|
||||
- The browser flow uses `/ops/operations/notifications` because the local frontend proxy reserves `/notify`; the `/notify` alias remains covered by the route-contract test.
|
||||
- Production build passed; existing bundle-budget warnings remain unchanged from the baseline.
|
||||
- Verified on (UTC): 2026-03-08T08:42:15Z
|
||||
Reference in New Issue
Block a user