This commit is contained in:
master
2026-02-21 16:21:33 +02:00
parent 7e36c1f151
commit b911537870
116 changed files with 4365 additions and 5903 deletions

18
docs/modules/ui/TASKS.md Normal file
View File

@@ -0,0 +1,18 @@
# UI Task Board
## Active Sprint Links
- `docs/implplan/SPRINT_20260221_041_FE_prealpha_ia_ops_setup_rewire.md`
## Delivery Tasks
- [DONE] 041-T1 Root IA/nav rewrite (Mission Control + Ops + Setup)
- [DONE] 041-T2 Canonical route tree rebuild (no alias redirects)
- [DONE] 041-T3 Mission Control menu expansion
- [DONE] 041-T4 Ops consolidation (Platform + Policy + Integrations)
- [DONE] 041-T5 Setup consolidation (Administration renamed + Topology moved)
- [DONE] 041-T6 Releases completion and full hotfix split
- [DONE] 041-T7 Security split completion and distinct reports
- [DONE] 041-T8 Evidence default and topology detail gaps
- [DONE] 041-T9 Global header contract completion
- [DONE] 041-T10 Integrations consolidation for advisory + VEX
- [DONE] 041-T11 Docs sync for new pre-alpha IA
- [DONE] 041-T12 Targeted tests and verification evidence

View File

@@ -1,109 +1,59 @@
# S00 Route Deprecation Map (Pack 22/23 Canonical)
# S00 Route Retirement Map (Pre-Alpha Canonical)
Status: Active
Date: 2026-02-20
Date: 2026-02-21
Working directory: `docs/modules/ui/v2-rewire`
Canonical source: `source-of-truth.md`, `pack-22.md`
Canonical source: `source-of-truth.md`, `pack-22.md`, `pack-23.md`
## Purpose
Define deterministic route migration from pre-Pack22 root families to Pack22/23 canonical IA:
Define the pre-alpha routing contract where only canonical roots are supported and legacy families are retired.
- `/dashboard` (Mission Control)
- `/releases` (run-centric subroots under `/releases/versions*` and `/releases/runs*`)
- `/security` (workspace subroots under `/security/posture`, `/security/triage`, `/security/disposition`, `/security/sbom/*`, `/security/reachability`)
- `/evidence` (capsule-first subroots under `/evidence/capsules`, `/evidence/exports`, `/evidence/verification/*`, `/evidence/audit-log`)
- `/topology`
- `/platform` (ops/integrations/setup canonical root; legacy `/operations`, `/integrations`, `/administration` are alias-window routes)
Canonical root families:
- `/` and `/mission-control`
- `/releases`
- `/security`
- `/evidence`
- `/ops`
- `/setup`
## Action definitions
| Action | Meaning |
| --- | --- |
| `canonical` | Route family is authoritative and must be used by nav and breadcrumbs. |
| `redirect` | Legacy route redirects to canonical route. |
| `alias-window` | Legacy route remains temporarily available and is tracked via alias telemetry. |
| `canonical` | Route family is authoritative and must be used by nav, breadcrumbs, and deep links. |
| `retired` | Legacy route family is removed from active router trees. No compatibility redirects or alias windows. |
## Root family mapping
## Root family status
| Legacy root family | Canonical target | Action |
| Legacy root family | Canonical replacement | Action |
| --- | --- | --- |
| `/release-control/*` | split between `/releases/*` and `/topology/*` | `redirect` + `alias-window` |
| `/security-risk/*` | `/security/*` | `redirect` + `alias-window` |
| `/evidence-audit/*` | `/evidence/*` | `redirect` + `alias-window` |
| `/platform-ops/*` | `/platform/ops/*` | `redirect` + `alias-window` |
| `/operations/*` (old ops shell) | `/platform/ops/*` | `redirect` + `alias-window` |
| `/integrations/*` (legacy root) | `/platform/integrations/*` | `redirect` + `alias-window` |
| `/administration/*` (legacy root) | `/platform/setup/*` | `redirect` + `alias-window` |
| `/settings/release-control/*` | `/topology/promotion-graph`, `/topology/regions`, `/topology/targets`, `/topology/agents`, `/topology/workflows` | `redirect` |
| `/release-control/*` | `/releases/*` and `/setup/topology/*` | `retired` |
| `/security-risk/*` | `/security/*` | `retired` |
| `/evidence-audit/*` | `/evidence/*` | `retired` |
| `/platform-ops/*` | `/ops/operations/*` | `retired` |
| `/platform/*` | `/ops/*` | `retired` |
| `/policy*` (root-level variants) | `/ops/policy/*` | `retired` |
| `/topology/*` (root-level) | `/setup/topology/*` | `retired` |
| `/administration/*` | `/setup/*` | `retired` |
| `/operations/*` (legacy root) | `/ops/operations/*` | `retired` |
| `/integrations/*` (legacy root) | `/ops/integrations/*` | `retired` |
## Release Control decomposition
## Canonical ownership map
| Legacy path | Canonical target | Action |
| --- | --- | --- |
| `/release-control/releases` | `/releases/runs` | `redirect` |
| `/release-control/releases/:id` | `/releases/runs/:id/timeline` | `redirect` |
| `/release-control/approvals` | `/releases/approvals` | `redirect` |
| `/release-control/runs` | `/releases/runs` | `redirect` |
| `/release-control/deployments` | `/releases/runs` | `redirect` |
| `/release-control/promotions` | `/releases/runs` | `redirect` |
| `/release-control/hotfixes` | `/releases/hotfix` | `redirect` |
| `/release-control/regions` | `/topology/regions` | `redirect` |
| `/release-control/setup` | `/topology/promotion-graph` | `redirect` |
| `/release-control/setup/environments-paths` | `/topology/promotion-graph` | `redirect` |
| `/release-control/setup/targets-agents` | `/topology/targets` | `redirect` |
| `/release-control/setup/workflows` | `/topology/workflows` | `redirect` |
| Workspace | Scope |
| --- | --- |
| `Mission Control` | Mission board, alerts, activity |
| `Releases` | Versions, runs, approvals, hotfix lane, promotions, environments, deployment history |
| `Security` | Posture, triage, advisories/VEX, supply-chain data, reachability, reports |
| `Evidence` | Overview, capsules, verify/replay, proofs, exports, audit log |
| `Ops` | Operations, data integrity, integrations, policy, platform setup |
| `Setup` | Administration surfaces + topology (overview/map/targets/hosts/agents/connectivity/drift) |
## Settings alias decomposition
## Enforcement checkpoints
| Legacy path | Canonical target | Action |
| --- | --- | --- |
| `/settings/release-control` | `/topology/promotion-graph` | `redirect` |
| `/settings/release-control/environments` | `/topology/regions` | `redirect` |
| `/settings/release-control/targets` | `/topology/targets` | `redirect` |
| `/settings/release-control/agents` | `/topology/agents` | `redirect` |
| `/settings/release-control/workflows` | `/topology/workflows` | `redirect` |
## Security consolidation
| Legacy path | Canonical target | Action |
| --- | --- | --- |
| `/security-risk` | `/security/posture` | `redirect` |
| `/security-risk/findings*` | `/security/triage*` | `redirect` |
| `/security-risk/vulnerabilities*` | `/security/triage*` | `redirect` |
| `/security-risk/vex` | `/security/disposition` | `redirect` |
| `/security-risk/exceptions` | `/security/disposition` | `redirect` |
| `/security-risk/sbom` | `/security/sbom/graph` | `redirect` |
| `/security-risk/sbom-lake` | `/security/sbom/lake` | `redirect` |
| `/security-risk/advisory-sources` | `/platform/integrations/feeds` | `redirect` |
| `/sbom-sources` | `/platform/integrations/sbom-sources` | `redirect` |
## Evidence and Operations renames
| Legacy path | Canonical target | Action |
| --- | --- | --- |
| `/evidence-audit` | `/evidence/capsules` | `redirect` |
| `/evidence-audit/packs*` | `/evidence/capsules*` | `redirect` |
| `/evidence-audit/audit-log` | `/evidence/audit-log` | `redirect` |
| `/evidence-audit/replay` | `/evidence/verification/replay` | `redirect` |
| `/platform-ops` | `/platform/ops` | `redirect` |
| `/platform-ops/data-integrity` | `/platform/ops/data-integrity` | `redirect` |
| `/platform-ops/orchestrator*` | `/platform/ops/orchestrator*` | `redirect` |
| `/platform-ops/agents` | `/topology/agents` | `redirect` |
## Telemetry expectations
- Legacy alias hits must emit deterministic `legacy_route_hit` telemetry with:
- `oldPath`,
- `newPath`,
- tenant/user context metadata.
- Legacy detection and expected target resolution are derived from `LEGACY_REDIRECT_ROUTE_TEMPLATES` to prevent drift between redirect behavior and telemetry mapping.
- Alias telemetry must remain active until Pack22 cutover approval.
## Cutover checkpoint
Before alias removal:
- Legacy hit rate for `/release-control/*`, `/security-risk/*`, `/evidence-audit/*`, `/platform-ops/*` is reviewed.
- Route-to-endpoint matrix in `docs/qa/` confirms canonical routes are using Pack22 endpoints.
- Sprint closure notes record alias telemetry evidence and final removal plan.
- App-level route declarations must not include legacy redirect route maps.
- No `redirectTo` entries are permitted in active pre-alpha route trees.
- Search shortcuts, contextual primary actions, and sidebar links must target canonical roots only.
- QA route tests must assert retired legacy trees are empty and canonical trees are present.

View File

@@ -1,7 +1,7 @@
# UI v2 Rewire Source of Truth
Status: Active
Date: 2026-02-20
Date: 2026-02-21
Working directory: `docs/modules/ui/v2-rewire`
## 1) Hard rules
@@ -15,6 +15,7 @@ Working directory: `docs/modules/ui/v2-rewire`
4. Canonical planning references must come from this file plus `authority-matrix.md`, not raw packs alone.
5. `pack-23.md` is the active Platform IA override for all conflicts with `pack-22.md` and lower packs.
6. `pack-22.md` remains authority for non-Platform areas unless `pack-23.md` explicitly overrides them.
7. Pre-alpha policy is canonical-only routing: no legacy redirects and no alias windows.
## 2) Canonical IA (v3)
@@ -26,8 +27,8 @@ Canonical top-level modules are:
- `Releases`
- `Security`
- `Evidence`
- `Topology`
- `Platform`
- `Ops`
- `Setup`
### 2.2 Global context
@@ -39,7 +40,8 @@ Required global context controls:
- Region multi-select
- Environment multi-select scoped to Region selection
- Time window selector
- Status indicators (offline/feed/policy/evidence)
- Stage selector
- Status indicators (offline/feed/policy/evidence/live event stream)
### 2.3 Ownership decisions resolved by precedence
@@ -47,16 +49,17 @@ These are authoritative for planning and replace older conflicting placements:
- `Release Control` root is decomposed:
- release lifecycle surfaces move to `Releases`,
- inventory/setup surfaces move to `Topology`.
- inventory/topology surfaces move to `Setup -> Topology`.
- `Bundle` is deprecated in operator IA and renamed to `Release Version`.
- `Runs`, `Deployments`, `Promotions`, and `Hotfixes` are lifecycle views inside `Releases` and not top-level modules.
- `VEX` and `Exceptions` remain distinct data models, but are exposed in one operator workspace:
- `Security -> Disposition Center` tabs (`VEX Statements`, `Exceptions`, `Expiring`),
- feeds/source configuration lives in `Platform -> Integrations -> Feeds`.
- feeds/source configuration lives in `Ops -> Integrations -> Advisory & VEX Sources`.
- SBOM Graph/Lake are one `Security -> SBOM` workspace with mode tabs.
- Reachability is a first-class surface under `Security -> Reachability`.
- `Policy Governance` remains administration-owned under `Platform -> Setup`.
- Trust posture is visible in `Evidence`, while signing/trust mutation stays in `Platform -> Setup -> Trust & Signing`.
- Topology ownership is setup-owned under `Setup -> Topology`.
- Policy and former Platform ownership are consolidated under `Ops`.
- Trust posture is visible in `Evidence`, while signing/trust mutation stays under `Ops` setup/policy surfaces.
## 3) Canonical screen authorities
@@ -95,11 +98,12 @@ Superseded:
- Standalone menu treatment from earlier packs where runs/deployments/promotions/hotfixes were separate roots.
### 3.4 Topology
### 3.4 Setup + Topology
Authoritative packs:
- `pack-22.md` for module ownership and taxonomy.
- `pack-22.md` for topology taxonomy and environment detail structure.
- `pack-23.md` for platform ownership moves now consolidated under `Ops`.
- `pack-18.md` for environment detail shell standards reused inside topology-aware views.
### 3.5 Security
@@ -120,11 +124,11 @@ Authoritative packs:
- `pack-22.md` for evidence navigation framing and release linkage expectations.
- `pack-20.md` for evidence chain structure (packs/export/proof/replay/audit).
### 3.7 Operations
### 3.7 Ops
Authoritative packs:
- `pack-23.md` for Platform Ops placement and workflow prioritization.
- `pack-23.md` for Platform + Policy + Integrations consolidation under one root.
- `pack-15.md` for data integrity operating model.
- `pack-10.md` for feeds/airgap operational detail where still valid.
@@ -135,7 +139,7 @@ Authoritative packs:
- `pack-23.md` for Platform Integrations placement and topology ownership split.
- `pack-10.md` and `pack-21.md` for connector detail flows where not overridden.
### 3.9 Platform Administration
### 3.9 Setup Administration
Authoritative packs:
@@ -153,10 +157,12 @@ Use these terms in sprint tickets/specs:
- `Security & Risk` -> `Security`
- `Evidence & Audit` -> `Evidence`
- `Evidence Pack/Bundle` -> `Decision Capsule`
- `Platform Ops` -> `Platform -> Ops`
- `Integrations` root -> `Platform -> Integrations` (alias-window only at `/integrations`)
- `Setup` root -> `Platform -> Setup` (includes administration-owned setup/governance)
- `Regions & Environments` menu -> `Topology` module + global context switchers
- `Platform Ops` -> `Ops`
- `Policy` -> `Ops -> Policy`
- `Integrations` -> `Ops -> Integrations`
- `Administration` -> `Setup`
- `Topology` root -> `Setup -> Topology`
- `Regions & Environments` menu -> `Setup -> Topology` + global context switchers
## 5) Planning gaps to schedule first
@@ -164,6 +170,6 @@ Create first-wave dependency sprints for:
- backend global context contracts and persistence (`Region/Environment` top-bar model),
- releases read-model contracts for list/detail/activity/approvals queue,
- topology inventory contracts and synchronization,
- setup-owned topology inventory contracts and synchronization,
- security disposition aggregation contracts (VEX + Exceptions UX join),
- route deprecation map from `/release-control/*`, `/security-risk/*`, `/evidence-audit/*`, `/platform-ops/*` to canonical paths.
- route retirement cleanup from legacy families to canonical pre-alpha roots with no redirect compatibility layer.