68 lines
3.4 KiB
Markdown
68 lines
3.4 KiB
Markdown
# Policy Decisioning Studio UI
|
|
|
|
## Module
|
|
Web
|
|
|
|
## Status
|
|
VERIFIED
|
|
|
|
## Description
|
|
Shipped the canonical `Policy Decisioning Studio` shell at `/ops/policy` and made it the mutable owner for policy packs, governance, simulation, VEX, exceptions, release gates, and policy/VEX audit. Legacy `policy-studio`, `policy/*`, `admin/policy/*`, `admin/vex-hub/*`, and security VEX aliases now resolve into the same routed shell instead of leaving writable sibling products active.
|
|
|
|
## Implementation Details
|
|
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/policy-decisioning/`
|
|
- **Primary components**:
|
|
- `policy-decisioning-shell.component.ts`
|
|
- `policy-decisioning-overview-page.component.ts`
|
|
- `policy-pack-shell.component.ts`
|
|
- `policy-decisioning-vex-shell.component.ts`
|
|
- `policy-decisioning-gates-page.component.ts`
|
|
- `policy-decisioning-audit-shell.component.ts`
|
|
- **Canonical routes**:
|
|
- `/ops/policy/overview`
|
|
- `/ops/policy/packs/*`
|
|
- `/ops/policy/governance/*`
|
|
- `/ops/policy/simulation/*`
|
|
- `/ops/policy/vex/*`
|
|
- `/ops/policy/gates/*`
|
|
- `/ops/policy/audit/*`
|
|
- **Legacy aliases**:
|
|
- `/policy-studio/*`
|
|
- `/policy/*`
|
|
- `/admin/policy/*`
|
|
- `/admin/vex-hub/*`
|
|
- `/security/vex*`
|
|
- `/security/exceptions*`
|
|
- **Release-context entry points**:
|
|
- approvals detail
|
|
- promotion request
|
|
- release detail
|
|
- workflow editor
|
|
- evidence detail
|
|
|
|
## E2E Test Plan
|
|
- **Setup**:
|
|
- [x] Log in with a user that has policy, VEX, exception, and release read scopes.
|
|
- [x] Seed pack dashboard data or route fixtures for `/api/policy/packs` and `/api/policy/packs/:packId/dashboard`.
|
|
- [x] Start the local UI harness on `https://127.0.0.1:4400`.
|
|
- **Core verification**:
|
|
- [x] Verify `/ops/policy/overview` renders the canonical shell and primary tabs.
|
|
- [x] Verify a legacy pack bookmark lands inside pack-mode decisioning.
|
|
- [x] Verify a release-context gate URL renders context chips and return-to-source affordance.
|
|
- [x] Verify `/security/vex` redirects into the canonical VEX shell.
|
|
- **Regression verification**:
|
|
- [x] Verify targeted Angular route and redirect specs cover the alias contract.
|
|
- [x] Verify workflow-editor and evidence-detail deep links open the shared shell.
|
|
- [x] Verify global search VEX normalization lands in the canonical shell.
|
|
|
|
## Verification
|
|
- Run:
|
|
- `npm test -- --watch=false --include src/tests/policy_decisioning/policy-decisioning-shell.component.spec.ts --include src/tests/policy_decisioning/policy-decisioning-routes.spec.ts --include src/tests/release_orchestrator/evidence-detail.behavior.spec.ts --include src/tests/release_orchestrator/visual-workflow-editor.behavior.spec.ts --include src/tests/security/security-overview-dashboard.behavior.spec.ts --include src/tests/global_search/search-route-matrix.spec.ts --include src/tests/navigation/legacy-redirects.spec.ts --include src/tests/routes/legacy-route-migration-framework.component.spec.ts --include src/tests/administration/administration-routes.spec.ts --include src/tests/security-risk/security-risk-routes.spec.ts`
|
|
- `npx playwright test tests/e2e/policy-decisioning-studio.spec.ts`
|
|
- `npm run build`
|
|
- Tier 0 (source): pass
|
|
- Tier 1 (build/tests): pass
|
|
- Tier 2 (behavior): pass
|
|
- Note: the production build still emits existing bundle-budget warnings outside this feature scope; the build itself completes successfully.
|
|
- Verified on (UTC): 2026-03-07T23:22:53Z
|