feat(ui): ship consolidated operations shell

This commit is contained in:
master
2026-03-07 20:31:32 +02:00
parent 55701483ea
commit a3f532359b
29 changed files with 1447 additions and 454 deletions

View File

@@ -0,0 +1,131 @@
# 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: DONE
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:
- [x] The live shell exposes the intended overview groups and submenu entries.
- [x] Overview group labels and child-route labels are wired in code.
- [x] No parallel `platform-ops` owner tree is required for operator access.
### FE-PO-002 - Ship the overview page and grouped blocking cards
Status: DONE
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:
- [x] Blocking strip renders the required signals in the live shell.
- [x] Grouped cards route into working child pages.
- [x] Overview sections follow one consistent shipped pattern.
### FE-PO-003 - Absorb high-value legacy widgets and pages
Status: DONE
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:
- [x] High-value legacy widgets are visible in the active shell or child routes.
- [x] Missing operational views are actually shipped into target pages.
- [x] Only genuinely duplicated legacy routes remain candidates for retirement.
### FE-PO-004 - Cut over routes and legacy aliases
Status: DONE
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:
- [x] Canonical route family is active in the router.
- [x] Legacy aliases redirect into working operations pages.
- [x] Sidebar, overview cards, and breadcrumb labels match in the shipped shell.
### FE-PO-005 - Complete Setup boundary and topology deep links
Status: DONE
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:
- [x] Agent fleet and topology ownership remain under Setup in the live UI.
- [x] Operations-to-Setup deep links work from shipped pages.
- [x] No duplicated topology management remains exposed under Ops.
### FE-PO-006 - Verify, document, and cut over the consolidated shell
Status: DONE
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:
- [x] Verification covers overview groups and target routes.
- [x] Legacy alias redirects are included in testing.
- [x] 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 |
| 2026-03-07 | Implementation started. Current `Ops > Operations` routes exist, but the overview and several child pages still link to dead `/platform/ops/*` paths. Consolidation work will replace those with canonical `/ops/operations/*` routes and add legacy redirect coverage. | Developer |
| 2026-03-07 | Shipped the consolidated overview taxonomy, canonical `/ops/operations/*` links, legacy alias redirects, and Setup-boundary deep links. | Developer |
| 2026-03-07 | Verified with targeted Angular and Playwright coverage, updated module docs, and archived the sprint. | QA |
## 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.