feat(ui): preserve platform setup canonical routes

This commit is contained in:
master
2026-03-08 11:12:42 +02:00
parent d0f2cc3b2c
commit 6870649abf
19 changed files with 478 additions and 42 deletions

View File

@@ -0,0 +1,85 @@
# Sprint 20260308-007 - FE Platform Setup Canonical Route Preservation
## Topic & Scope
- Preserve the canonical `ops/platform-setup/*` route family while the setup/topology cutover continues, so bookmarked and linked operator flows do not silently rewrite into `setup/topology/*`.
- Keep the work limited to Web route ownership, canonical alias preservation, and Playwright/Angular verification for the affected platform-setup and setup-topology surfaces.
- Use the old broad Web QA loop only as upstream evidence; do not continue to treat that generic loop as the active place for setup/topology route work.
- Working directory: `src/Web/StellaOps.Web`.
- Expected evidence: focused Angular route tests, Playwright canonical-route retest slices, and sprint execution log updates.
## Dependencies & Concurrency
- Upstream evidence came from [SPRINT_20260306_003_FE_playwright_setup_reset_iteration_loop.md](C:/dev/New%20folder/git.stella-ops.org/docs-archived/implplan/SPRINT_20260306_003_FE_playwright_setup_reset_iteration_loop.md), which closed after handing off this remaining non-search defect.
- Overlapping active ownership exists in `platform-setup.routes.ts`, `platform-setup-home.component.ts`, `topology-shell.component.ts`, and related route specs; changes must stay tightly scoped to canonical route preservation.
- Safe parallelism:
- Playwright triage and route-spec updates can proceed without touching component markup.
- URL-preservation fixes should prefer route-tree aliasing over broad topology-shell rewrites.
## Documentation Prerequisites
- `docs/qa/feature-checks/FLOW.md`
- `docs/code-of-conduct/TESTING_PRACTICES.md`
- `docs/code-of-conduct/CODE_OF_CONDUCT.md`
- `docs/modules/ui/architecture.md`
- `src/Web/StellaOps.Web/AGENTS.md`
## Delivery Tracker
### FE-PLATFORMSETUP-001 - Reproduce and bound the canonical rewrite defect
Status: DONE
Dependency: none
Owners: QA, Developer (FE)
Task description:
- Reproduce the currently failing `ops/platform-setup` canonical routes in Playwright and map exactly which leaves rewrite to `setup/topology/*` or other non-canonical locations.
- Keep the evidence concrete: original URL, landed URL, expected canonical URL preservation, and the route/component boundary responsible.
Completion criteria:
- [x] A bounded list exists for the affected `ops/platform-setup/*` canonical routes.
- [x] Each affected route includes real Playwright evidence showing the original and landed URLs.
- [x] The owning route tree and overlapping files are documented before any fix is applied.
### FE-PLATFORMSETUP-002 - Preserve canonical platform-setup URLs in the Web router
Status: DONE
Dependency: FE-PLATFORMSETUP-001
Owners: Developer (FE)
Task description:
- Repair the affected platform-setup routes so canonical `ops/platform-setup/*` URLs keep rendering the intended platform-setup/topology surfaces without rewriting the browser address to `setup/topology/*`.
- Prefer route aliasing or shared leaf mounting that keeps operator bookmarks stable and does not fork the actual feature behavior.
Completion criteria:
- [x] `ops/platform-setup/*` leaves remain on their requested canonical URLs.
- [x] The rendered content matches the intended platform-setup/topology surface for each repaired leaf.
- [x] The fix does not regress the existing `setup/topology/*` routes.
### FE-PLATFORMSETUP-003 - Add focused regression coverage and retest
Status: DONE
Dependency: FE-PLATFORMSETUP-002
Owners: Test Automation, QA
Task description:
- Add or update Angular route coverage and Playwright canonical-route coverage for the repaired platform-setup leaves.
- Re-run the affected slice of `prealpha-canonical-full-sweep.spec.ts` and record the exact passing commands.
Completion criteria:
- [x] Focused Angular route tests cover the preserved canonical aliases.
- [x] Focused Playwright coverage passes for the repaired `ops/platform-setup/*` routes.
- [x] The sprint log records the exact retest commands and outcomes.
## Execution Log
| Date (UTC) | Update | Owner |
| --- | --- | --- |
| 2026-03-08 | Sprint created after the refreshed broad Playwright canonical sweep proved the remaining open defect was no longer search/policy related: `ops/platform-setup/regions-environments` rewrote to `setup/topology/regions`, leaving canonical URL preservation broken during the setup/topology cutover. | Developer |
| 2026-03-08 | Bounded the drift to four canonical platform-setup leaves: `regions-environments`, `promotion-paths`, `workflows-gates`, and `gate-profiles`, all redirected by `platform-setup.routes.ts` and reinforced by stale page-local links. | Developer |
| 2026-03-08 | Replaced redirect-only leaves with mounted canonical pages, repaired platform-setup quick links and internal handoffs, and verified with focused Angular tests, Playwright route preservation flows, and a production build. | Developer |
## Decisions & Risks
- Decision: treat this as a dedicated setup/topology canonical-route sprint, not a continuation of the search-adjacent QA loop.
- Decision: canonical URLs must stay stable for operator bookmarks and routed entry points even when the rendered feature surface is shared with setup/topology.
- Decision: preserve `/ops/platform-setup/*` only for the leaves that already have mounted platform-setup page components; environment and agent detail drill-ins still use `Setup > Topology`.
- Risk: overlapping ownership already exists in active setup/topology files.
- Mitigation: keep fixes narrowly focused on route preservation, add targeted route tests, and avoid broad shell/navigation churn.
- Verification:
- `npm run test -- --watch=false --include src/tests/platform/platform-setup-routes.spec.ts --include src/tests/platform/platform-setup-canonical-links.spec.ts --include src/tests/setup/setup-topology-trust-cutover.spec.ts --include src/tests/topology/topology-routes.spec.ts`
- `npx playwright test --config playwright.config.ts tests/e2e/platform-setup-canonical-route-preservation.spec.ts tests/e2e/topology-trust-admin-cutover.spec.ts --workers=1`
- `npm run build`
## Next Checkpoints
- 2026-03-08: reproduce the full `ops/platform-setup/*` drift set with Playwright and bound the affected leaves.
- 2026-03-08: land the first route-preservation fix with focused Angular + Playwright evidence.