feat(ui): ship release promotions cutover

This commit is contained in:
master
2026-03-08 11:54:57 +02:00
parent abbfe64bd7
commit e4779a430f
18 changed files with 912 additions and 15 deletions

View File

@@ -9,6 +9,8 @@
The Console presents operator dashboards for scans, policies, VEX evidence, runtime posture, and admin workflows.
## Latest updates (2026-03-08)
- Shipped the canonical `Releases > Promotions` cutover, including repaired `/release-control/promotions*` and `/releases/promotion-queue*` aliases, release-context promotion wizard handoff, and a usable create-to-detail flow.
- Added checked-feature verification for release promotions at `../../features/checked/web/release-promotions-cutover-ui.md`.
- Preserved canonical `Ops > Platform Setup` leaf URLs so `regions-environments`, `promotion-paths`, `workflows-gates`, and `gate-profiles` no longer rewrite into `Setup > Topology` on direct entry or quick-link navigation.
- Added checked-feature verification for canonical platform-setup route preservation at `../../features/checked/web/platform-setup-canonical-route-preservation-ui.md`.
- Shipped the `Mission Control`, `Security`, and `Ops > Operations` security-leaves cutover, including canonical surfacing for alerts, activity, unknowns, and notifications plus repaired `/analyze/unknowns*` and `/notify` ownership.
@@ -89,6 +91,7 @@ The Console presents operator dashboards for scans, policies, VEX evidence, runt
- ./topology-trust-administration/README.md
- ./security-operations-leaves/README.md
- ./platform-setup-canonical-route-preservation/README.md
- ./release-promotions-cutover/README.md
- ./triage-explainability-workspace/README.md
- ./workflow-visualization-replay/README.md
- ./contextual-actions-patterns/README.md

View File

@@ -111,6 +111,10 @@
- [DONE] FE-PLATFORMSETUP-001 Reproduce and bound the canonical rewrite defect
- [DONE] FE-PLATFORMSETUP-002 Preserve canonical platform-setup URLs in the Web router
- [DONE] FE-PLATFORMSETUP-003 Add focused regression coverage and retest
- [DONE] FE-RP-001 Mount canonical `/releases/promotions` routes and preserve legacy promotion aliases
- [DONE] FE-RP-002 Wire release-context handoff into the canonical promotion wizard
- [DONE] FE-RP-003 Verify route cutover and usable promotion request workflow
- [DONE] FE-RP-004 Sync docs, archive the sprint, and record the shipped feature
- [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

View File

@@ -191,6 +191,10 @@ These branches probably contain valuable pieces, but the right home needs one mo
- The issue is duplication between older release-orchestrator shells and the newer releases/evidence/setup IA.
- Likely target:
- `/releases`, `/evidence`, `/setup/topology`, and Decisioning Studio release-context entry points
- Notes:
- Shipped slice: `docs/modules/ui/release-promotions-cutover/README.md`
- Verified UI flow: `docs/features/checked/web/release-promotions-cutover-ui.md`
- Remaining review should focus on whether legacy release dashboards, environment editors, and evidence shells still add unique value beyond the active Releases and Evidence surfaces.
### 14. Evidence And Proof Exploration
- Type: `merge`

View File

@@ -34,6 +34,7 @@ Provide a living plan for UI deliverables, dependencies, and evidence.
- `docs/features/checked/web/topology-trust-administration-ui.md` - shipped verification note for canonical topology and trust setup shells, repaired settings/admin/platform aliases, and platform-setup handoffs.
- `docs/features/checked/web/security-operations-leaves-ui.md` - shipped verification note for mission alerts/activity surfacing, unknowns route repair, notifications ownership, and legacy security alias cutover.
- `docs/features/checked/web/platform-setup-canonical-route-preservation-ui.md` - shipped verification note for preserved `/ops/platform-setup/*` URLs during the shared setup/topology cutover.
- `docs/features/checked/web/release-promotions-cutover-ui.md` - shipped verification note for canonical release promotions routing, alias cutover, release-context wizard handoff, and end-to-end request submission.
- `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/offline-operations/README.md` - detailed owner-shell contract for Offline Kit, Feeds & Airgap, Evidence handoffs, and stale alias policy.
@@ -42,6 +43,7 @@ Provide a living plan for UI deliverables, dependencies, and evidence.
- `docs/modules/ui/topology-trust-administration/README.md` - canonical setup owner contract for topology inventory, trust administration, legacy trust redirects, and platform-setup handoffs.
- `docs/modules/ui/security-operations-leaves/README.md` - canonical owner contract for mission alerts/activity, security unknowns, notifications, and stale `/analyze`/`/notify` handoffs.
- `docs/modules/ui/platform-setup-canonical-route-preservation/README.md` - preserved route contract for canonical `/ops/platform-setup/*` leaves during the shared setup/topology cutover.
- `docs/modules/ui/release-promotions-cutover/README.md` - canonical promotions owner contract, alias rules, and release-context handoff for the Releases shell.
- `docs/modules/ui/triage-explainability-workspace/README.md` - detailed artifact workspace and audit-bundle UX dossier.
- `docs/modules/ui/workflow-visualization-replay/README.md` - detailed run-detail graph, timeline, replay, and evidence UX dossier.
- `docs/modules/ui/contextual-actions-patterns/README.md` - shared placement contract for stray actions, pages, drawers, and tabs.

View File

@@ -0,0 +1,51 @@
# Release Promotions Cutover
## Purpose
- Make `Releases` own the promotion workflow instead of splitting it across stale queue aliases, orphaned promotion routes, and approval-only entry points.
- Keep approvals as the adjudication surface, but move promotion list, create, and detail flows under one canonical subtree.
## Canonical Routes
- `/releases/promotions`
- `/releases/promotions/create`
- `/releases/promotions/:promotionId`
## Alias Policy
- Preserve legacy `/release-control/promotions`, `/release-control/promotions/create`, and `/release-control/promotions/:promotionId` bookmarks.
- Preserve stale `/releases/promotion-queue`, `/releases/promotion-queue/create`, and `/releases/promotion-queue/:promotionId` bookmarks.
- Redirect aliases into the canonical `/releases/promotions*` subtree while preserving query params and fragments.
## Shell Surfacing
- `Releases` sidebar now exposes separate `Approvals` and `Promotions` entries.
- `Releases > Overview` links to canonical `Promotions`.
- The active release workbench launches the promotion wizard directly instead of trapping the operator in a non-executable promote tab.
## Release-Context Handoff
- The release workbench opens `/releases/promotions/create` with:
- `releaseId`
- `returnTo`
- The promotion wizard treats this as a first-class release-context launch:
- preloads environments for the supplied release
- advances directly to target selection once release identity is known
- keeps a return path back to the originating release or run context
- deep-links into Decisioning Studio with a return path back to the canonical promotion wizard
## Merge Notes From Dropped Surfaces
- The dormant `PromotionRequestComponent` was not revived as a second page.
- Its worthwhile behavior was merged into the canonical wizard:
- contextual return-to handling
- decisioning preview handoff
- release-context launch semantics
## Verification
- Angular tests cover:
- canonical promotions route ownership
- legacy alias redirects
- promotion wizard release-context hydration
- release workbench handoff into the canonical wizard
- Playwright covers:
- overview surfacing of the canonical promotions page
- legacy create alias redirect plus end-to-end promotion request submission
## Related
- `docs/features/checked/web/release-promotions-cutover-ui.md`
- `docs/modules/ui/component-preservation-map/RESTORATION_PRIORITIES.md`