feat(ui): ship consolidated operations shell
This commit is contained in:
62
docs/features/checked/web/operations-consolidation-ui.md
Normal file
62
docs/features/checked/web/operations-consolidation-ui.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# Operations Consolidation UI
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Shipped the canonical `Ops > Operations` owner shell with grouped overview cards, blocking-strip signals, canonical `/ops/operations/*` child routes, absorbed legacy data-integrity and queue links, and explicit deep links into `Setup > Topology` for agent-fleet ownership. Legacy `platform-ops/*` and `platform/ops/*` aliases now resolve into the consolidated shell instead of requiring a parallel product tree.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/platform/ops/`
|
||||
- **Primary components**:
|
||||
- `platform-ops-overview-page` (`src/Web/StellaOps.Web/src/app/features/platform/ops/platform-ops-overview-page.component.ts`)
|
||||
- `platform-feeds-airgap-page` (`src/Web/StellaOps.Web/src/app/features/platform/ops/platform-feeds-airgap-page.component.ts`)
|
||||
- `platform-jobs-queues-page` (`src/Web/StellaOps.Web/src/app/features/platform/ops/platform-jobs-queues-page.component.ts`)
|
||||
- **Canonical routes**:
|
||||
- `/ops/operations`
|
||||
- `/ops/operations/data-integrity`
|
||||
- `/ops/operations/jobs-queues`
|
||||
- `/ops/operations/health-slo`
|
||||
- `/ops/operations/feeds-airgap`
|
||||
- `/ops/operations/offline-kit`
|
||||
- `/ops/operations/quotas`
|
||||
- `/ops/operations/aoc`
|
||||
- `/ops/operations/doctor`
|
||||
- `/ops/operations/signals`
|
||||
- `/ops/operations/packs`
|
||||
- `/ops/operations/notifications`
|
||||
- **Legacy aliases**:
|
||||
- `/platform-ops/*`
|
||||
- `/platform/ops/*`
|
||||
- **Secondary entry points**:
|
||||
- `Mission Control`
|
||||
- `Setup > Topology`
|
||||
- `Evidence`
|
||||
- `Releases`
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that can access `Ops` and `Setup`.
|
||||
- [ ] Navigate to `/ops/operations`.
|
||||
- [ ] Ensure doctor trend and approvals fixtures or seeded data exist.
|
||||
- **Core verification**:
|
||||
- [ ] Verify `Blocking`, `Execution`, `Health`, `Supply And Airgap`, and `Capacity And Setup Boundary` groups render.
|
||||
- [ ] Verify overview cards drill into the intended canonical child routes.
|
||||
- [ ] Verify Setup-boundary links send agent and topology work to `Setup > Topology`.
|
||||
- **Legacy verification**:
|
||||
- [ ] Verify `platform-ops/*` and `platform/ops/*` aliases land in canonical `/ops/operations/*` routes.
|
||||
- [ ] Verify query-string state survives redirect into tabbed child pages.
|
||||
- [ ] Verify data-integrity drill-ins and job detail routes keep working after alias cutover.
|
||||
|
||||
## Verification
|
||||
- Run:
|
||||
- `npx ng test --watch=false --include src/tests/platform-ops/platform-ops-routes.spec.ts --include src/tests/platform-ops/platform-ops-overview-page.component.spec.ts --include src/tests/platform-ops/platform-feeds-airgap-page.component.spec.ts --include src/tests/platform-ops/data-integrity-pages.spec.ts --include src/tests/navigation/legacy-redirects.spec.ts`
|
||||
- `PLAYWRIGHT_PORT=4410 npx playwright test tests/e2e/operations-consolidation.spec.ts --workers=1`
|
||||
- Tier 0 (source): pass
|
||||
- Tier 1 (build/tests): pass
|
||||
- Tier 2 (behavior): pass
|
||||
- Note: under the local Angular dev server, `/platform*` first-request URLs are intercepted by `proxy.conf.json`, so the Playwright legacy-alias check uses client-side navigation after app bootstrap to validate Angular redirect behavior deterministically.
|
||||
- Verified on (UTC): 2026-03-07T18:28:16Z
|
||||
@@ -1,128 +0,0 @@
|
||||
# Sprint 20260307-026 - Platform Ops Consolidation
|
||||
|
||||
## Topic & Scope
|
||||
- Consolidate legacy `platform-ops` ideas into one canonical `Ops > Operations` shell.
|
||||
- Ship a fully usable consolidated Operations shell with a working overview, child routes, legacy redirects, and absorbed high-value widgets from the old surfaces.
|
||||
- Complete the missing operator functionality in the active shell instead of merely cataloging or grouping old pages.
|
||||
- Working directory: `src/Web/StellaOps.Web/src/app/features/platform`.
|
||||
- Allowed coordination edits: `src/Web/StellaOps.Web/src/app/features/platform-ops/`, `src/Web/StellaOps.Web/src/app/routes/operations.routes.ts`, `src/Web/StellaOps.Web/src/app/features/aoc-compliance/`, `docs/modules/ui/platform-ops-consolidation`, and `docs/modules/ui/TASKS.md`.
|
||||
- Expected evidence: active Operations overview and child routes, absorbed legacy widgets, working redirects, targeted tests, and updated operator docs.
|
||||
|
||||
## Dependencies & Concurrency
|
||||
- Depends on:
|
||||
- `docs/modules/ui/platform-ops-consolidation/README.md`
|
||||
- `docs/UI_GUIDE.md`
|
||||
- `src/Web/StellaOps.Web/src/app/routes/operations.routes.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/platform/ops/platform-ops-overview-page.component.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/platform-ops/platform-ops-overview.component.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/features/aoc-compliance/aoc-compliance.routes.ts`
|
||||
- Safe parallelism:
|
||||
- overview taxonomy and child-route labeling should freeze before widget implementation begins
|
||||
- grouped overview cards and route cleanup can proceed in parallel once taxonomy is stable
|
||||
- Setup boundary work can proceed in parallel with legacy widget absorption
|
||||
|
||||
## Documentation Prerequisites
|
||||
- `docs/modules/ui/platform-ops-consolidation/README.md`
|
||||
- `docs/modules/ui/contextual-actions-patterns/README.md`
|
||||
- `docs/modules/ui/restoration-topics/platform-ops-consolidation.md`
|
||||
- `docs/modules/ui/component-preservation-map/RESTORATION_PRIORITIES.md`
|
||||
|
||||
## Delivery Tracker
|
||||
|
||||
### FE-PO-001 - Rebuild the Operations overview and submenu in the live shell
|
||||
Status: TODO
|
||||
Dependency: none
|
||||
Owners: Product Manager, FE Architect
|
||||
Task description:
|
||||
- Implement the grouped overview taxonomy and submenu structure in the active `Ops > Operations` shell.
|
||||
- Ensure the overview and submenu expose the real operator concerns rather than leaving them as a paper design.
|
||||
|
||||
Completion criteria:
|
||||
- [ ] The live shell exposes the intended overview groups and submenu entries.
|
||||
- [ ] Overview group labels and child-route labels are wired in code.
|
||||
- [ ] No parallel `platform-ops` owner tree is required for operator access.
|
||||
|
||||
### FE-PO-002 - Ship the overview page and grouped blocking cards
|
||||
Status: TODO
|
||||
Dependency: FE-PO-001
|
||||
Owners: Developer, FE Architect
|
||||
Task description:
|
||||
- Implement the overview page with blocking strip, grouped cards, trend summaries, and single-target drill-ins.
|
||||
- Make the overview page usable as the real operator landing page rather than a placeholder around child routes.
|
||||
|
||||
Completion criteria:
|
||||
- [ ] Blocking strip renders the required signals in the live shell.
|
||||
- [ ] Grouped cards route into working child pages.
|
||||
- [ ] Overview sections follow one consistent shipped pattern.
|
||||
|
||||
### FE-PO-003 - Absorb high-value legacy widgets and pages
|
||||
Status: TODO
|
||||
Dependency: FE-PO-001
|
||||
Owners: Developer, Documentation author
|
||||
Task description:
|
||||
- Migrate the high-value legacy `platform-ops` widgets and pages into the overview or the correct child routes.
|
||||
- Retire only the obsolete duplicates after the missing operational functionality is actually present in the live shell.
|
||||
|
||||
Completion criteria:
|
||||
- [ ] High-value legacy widgets are visible in the active shell or child routes.
|
||||
- [ ] Missing operational views are actually shipped into target pages.
|
||||
- [ ] Only genuinely duplicated legacy routes remain candidates for retirement.
|
||||
|
||||
### FE-PO-004 - Cut over routes and legacy aliases
|
||||
Status: TODO
|
||||
Dependency: FE-PO-001
|
||||
Owners: FE Architect, Developer
|
||||
Task description:
|
||||
- Implement canonical `/ops/operations/*` paths, legacy alias redirects, and route-label consistency.
|
||||
- Ensure old bookmarks and legacy route trees redirect into working pages without reviving a second shell.
|
||||
|
||||
Completion criteria:
|
||||
- [ ] Canonical route family is active in the router.
|
||||
- [ ] Legacy aliases redirect into working operations pages.
|
||||
- [ ] Sidebar, overview cards, and breadcrumb labels match in the shipped shell.
|
||||
|
||||
### FE-PO-005 - Complete Setup boundary and topology deep links
|
||||
Status: TODO
|
||||
Dependency: FE-PO-002
|
||||
Owners: Product Manager, FE Architect
|
||||
Task description:
|
||||
- Implement the boundary between operations monitoring and setup ownership, especially for agent fleet and topology concerns.
|
||||
- Wire deep links between `Ops > Operations` and `Setup > Topology` where operators need to cross that boundary.
|
||||
|
||||
Completion criteria:
|
||||
- [ ] Agent fleet and topology ownership remain under Setup in the live UI.
|
||||
- [ ] Operations-to-Setup deep links work from shipped pages.
|
||||
- [ ] No duplicated topology management remains exposed under Ops.
|
||||
|
||||
### FE-PO-006 - Verify, document, and cut over the consolidated shell
|
||||
Status: TODO
|
||||
Dependency: FE-PO-004
|
||||
Owners: QA, Documentation author
|
||||
Task description:
|
||||
- Add Playwright scenarios for the operations overview, grouped cards, child-route drill-ins, and legacy alias redirects.
|
||||
- Update UI docs and operational runbooks so the consolidated shell ships as the usable owner surface.
|
||||
|
||||
Completion criteria:
|
||||
- [ ] Verification covers overview groups and target routes.
|
||||
- [ ] Legacy alias redirects are included in testing.
|
||||
- [ ] Docs reflect the consolidated and shipped owner shell.
|
||||
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2026-03-07 | Sprint created to ship a consolidated Operations shell with grouped overview cards, stable child routes, legacy-widget absorption, and explicit Setup boundaries. | Project Manager |
|
||||
|
||||
## Decisions & Risks
|
||||
- Decision: `Ops > Operations` remains the one operator shell; legacy `platform-ops` becomes migration input only.
|
||||
- Decision: overview cards should be grouped by operator concern, not by backend service naming alone.
|
||||
- Risk: useful legacy widgets may be dropped if the merge matrix is shallow.
|
||||
- Mitigation: require a legacy widget absorption matrix before implementation begins.
|
||||
- Risk: topology and agent-fleet concerns may leak back into Ops ownership.
|
||||
- Mitigation: freeze Setup boundaries and cross-links explicitly.
|
||||
- Delivery rule: this sprint is only complete when the consolidated Operations shell is the usable owner surface and legacy pages are no longer needed for the restored operator workflows.
|
||||
- Reference design note: `docs/modules/ui/platform-ops-consolidation/README.md`.
|
||||
|
||||
## Next Checkpoints
|
||||
- 2026-03-08: confirm one-shell decision, overview groups, and Setup boundary.
|
||||
- 2026-03-09: freeze overview card contract and legacy merge matrix.
|
||||
- 2026-03-10: finalize route cleanup and QA contract.
|
||||
@@ -16,8 +16,12 @@ The Console presents operator dashboards for scans, policies, VEX evidence, runt
|
||||
- Added restoration topic shape notes at `restoration-topics/README.md` for Watchlist, Reachability Witnessing, Platform Ops, Triage explainability, and Workflow Visualization placement.
|
||||
- Added implementation-ready UX dossiers for Watchlist, Reachability Witnessing, Platform Ops Consolidation, Triage Explainability Workspace, Workflow Visualization and Replay, and shared contextual action patterns.
|
||||
- Added FE sprint files for the five accepted restoration topics plus a shared sprint for single actions, drawers, tabs, and stray-page placement patterns.
|
||||
- Shipped the canonical `Setup > Trust & Signing` watchlist shell, including entries, alerts, tuning, and Mission Control or Notifications deep links.
|
||||
- Added checked-feature verification for watchlist management at `../../features/checked/web/identity-watchlist-management-ui.md`.
|
||||
- Shipped the canonical `Security > Reachability` witness and proof-of-exposure shell, including cross-shell handoffs from findings, triage, evidence replay, and release detail.
|
||||
- Added checked-feature verification for reachability witnessing at `../../features/checked/web/reachability-witnessing-ui.md`.
|
||||
- Shipped the consolidated `Ops > Operations` shell with grouped overview cards, canonical `/ops/operations/*` routes, and legacy `platform-ops` alias cutover.
|
||||
- Added checked-feature verification for operations consolidation at `../../features/checked/web/operations-consolidation-ui.md`.
|
||||
|
||||
## Latest updates (2026-02-21)
|
||||
- Runtime mock cutover completed for policy simulation history/conflict/batch flows and graph explorer data loading in `src/Web/StellaOps.Web/src/app/**`.
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
- `docs/implplan/SPRINT_20260307_009_DOCS_ui_component_preservation_map.md`
|
||||
- `docs/implplan/SPRINT_20260307_022_FE_policy_vex_release_decisioning_studio.md`
|
||||
- `docs/implplan/SPRINT_20260307_023_DOCS_ui_restoration_topic_shapes.md`
|
||||
- `docs/implplan/SPRINT_20260307_026_FE_platform_ops_consolidation.md`
|
||||
- `docs/implplan/SPRINT_20260307_027_FE_triage_explainability_workspace.md`
|
||||
- `docs/implplan/SPRINT_20260307_028_FE_workflow_visualization_replay.md`
|
||||
- `docs/implplan/SPRINT_20260307_029_FE_contextual_actions_and_stray_surfaces.md`
|
||||
@@ -82,12 +81,12 @@
|
||||
- [DONE] FE-RW-004 Cross-product deep links and release-context use for reachability proofs
|
||||
- [DONE] FE-RW-005 Supporting evidence and export surfaces for witness UX
|
||||
- [DONE] FE-RW-006 QA, rollout, and docs sync for reachability witnessing
|
||||
- [TODO] FE-PO-001 Freeze Operations overview taxonomy and submenu structure
|
||||
- [TODO] FE-PO-002 Overview page regrouping and blocking-card contract
|
||||
- [TODO] FE-PO-003 Legacy widget absorption matrix for Platform Ops
|
||||
- [TODO] FE-PO-004 Route cleanup and alias migration contract for Operations
|
||||
- [TODO] FE-PO-005 Setup boundary and deep-link contract for Operations
|
||||
- [TODO] FE-PO-006 QA, rollout, and docs sync for Platform Ops consolidation
|
||||
- [DONE] FE-PO-001 Freeze Operations overview taxonomy and submenu structure
|
||||
- [DONE] FE-PO-002 Overview page regrouping and blocking-card contract
|
||||
- [DONE] FE-PO-003 Legacy widget absorption matrix for Platform Ops
|
||||
- [DONE] FE-PO-004 Route cleanup and alias migration contract for Operations
|
||||
- [DONE] FE-PO-005 Setup boundary and deep-link contract for Operations
|
||||
- [DONE] FE-PO-006 QA, rollout, and docs sync for Platform Ops consolidation
|
||||
- [TODO] FE-TX-001 Freeze artifact workspace route, lane, and panel contract
|
||||
- [TODO] FE-TX-002 List-lane segmentation slice for Artifact Workspace
|
||||
- [TODO] FE-TX-003 Detail-side explainability rail slice
|
||||
|
||||
@@ -13,7 +13,6 @@ Provide a living plan for UI deliverables, dependencies, and evidence.
|
||||
- `SPRINT_20260307_009_DOCS_ui_component_preservation_map.md` - per-component preservation dossiers for unused and weakly surfaced console UI components.
|
||||
- `SPRINT_20260307_022_FE_policy_vex_release_decisioning_studio.md` - canonical Decisioning Studio shell to unify policy, simulation, VEX decisioning, and release-context gate explanation.
|
||||
- `SPRINT_20260307_023_DOCS_ui_restoration_topic_shapes.md` - documentation prerequisite for shell/menu/tab placements; not a product-delivery sprint by itself.
|
||||
- `SPRINT_20260307_026_FE_platform_ops_consolidation.md` - ship one Operations shell with grouped overview cards, legacy widget absorption, and legacy redirects.
|
||||
- `SPRINT_20260307_027_FE_triage_explainability_workspace.md` - ship the artifact workspace lane model, explainability panels, and audit-bundle flows.
|
||||
- `SPRINT_20260307_028_FE_workflow_visualization_replay.md` - ship run-detail graph, timeline, replay, and evidence tabs plus bounded workflow-editor preview reuse.
|
||||
- `SPRINT_20260307_029_FE_contextual_actions_and_stray_surfaces.md` - ship the shared tabs, drawers, right rails, split views, and contextual detail primitives adopted by the restoration features.
|
||||
@@ -27,6 +26,7 @@ Provide a living plan for UI deliverables, dependencies, and evidence.
|
||||
- `docs/modules/ui/watchlist-operations/README.md` - detailed watchlist UX dossier and owner-shell contract.
|
||||
- `docs/features/checked/web/reachability-witnessing-ui.md` - shipped verification note for the canonical Reachability witness and PoE shell.
|
||||
- `docs/features/checked/web/identity-watchlist-management-ui.md` - shipped verification note for the Trust & Signing watchlist shell and its Mission Control / Notifications handoffs.
|
||||
- `docs/features/checked/web/operations-consolidation-ui.md` - shipped verification note for the canonical Operations shell, overview grouping, and legacy alias cutover.
|
||||
- `docs/modules/ui/reachability-witnessing/README.md` - detailed witness and proof UX dossier plus cross-shell deep-link contract.
|
||||
- `docs/modules/ui/platform-ops-consolidation/README.md` - detailed Operations overview taxonomy and legacy absorption plan.
|
||||
- `docs/modules/ui/triage-explainability-workspace/README.md` - detailed artifact workspace and audit-bundle UX dossier.
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# Platform Ops Consolidation
|
||||
|
||||
**Status:** Shipped on 2026-03-07
|
||||
|
||||
## Recommendation
|
||||
|
||||
Keep one consolidated operator shell under `Ops > Operations` and absorb the useful legacy `platform-ops` surfaces into it.
|
||||
@@ -10,6 +12,14 @@ Keep one consolidated operator shell under `Ops > Operations` and absorb the use
|
||||
|
||||
This is not a restoration of an abandoned product. It is a consolidation of operator navigation, overview grouping, and missing widgets into the existing route tree.
|
||||
|
||||
## Shipped Scope
|
||||
|
||||
- Mounted one grouped `Ops > Operations` overview with blocking-strip status, quick submenu chips, pending-action callouts, and an explicit Setup ownership boundary.
|
||||
- Standardized canonical route helpers under `/ops/operations/*` and rewired active overview and child-page links away from dead `/platform/ops/*` paths.
|
||||
- Added legacy alias redirects for both `/platform-ops/*` and `/platform/ops/*` into the live Operations shell.
|
||||
- Preserved agent-fleet and topology ownership under `Setup > Topology` while adding direct Operations handoffs where runtime monitoring needs to cross that boundary.
|
||||
- Added focused route, component, and Playwright verification plus a checked-feature note at `docs/features/checked/web/operations-consolidation-ui.md`.
|
||||
|
||||
## Why This Is The Right Shape
|
||||
|
||||
- The current app already routes operators through `/ops/operations`.
|
||||
@@ -115,6 +125,15 @@ Prefer the current route family and tighten it rather than creating new paths.
|
||||
- duplicate overview routes should be retired once card parity is reached
|
||||
- child-route labels should match the sidebar and overview cards exactly
|
||||
|
||||
## Verification
|
||||
|
||||
- Angular:
|
||||
- `npx ng test --watch=false --include src/tests/platform-ops/platform-ops-routes.spec.ts --include src/tests/platform-ops/platform-ops-overview-page.component.spec.ts --include src/tests/platform-ops/platform-feeds-airgap-page.component.spec.ts --include src/tests/platform-ops/data-integrity-pages.spec.ts --include src/tests/navigation/legacy-redirects.spec.ts`
|
||||
- Playwright:
|
||||
- `PLAYWRIGHT_PORT=4410 npx playwright test tests/e2e/operations-consolidation.spec.ts --workers=1`
|
||||
- Checked feature record:
|
||||
- `docs/features/checked/web/operations-consolidation-ui.md`
|
||||
|
||||
## What To Merge
|
||||
|
||||
### Preserve as the main shell
|
||||
|
||||
Reference in New Issue
Block a user