3.2 KiB
3.2 KiB
Policy Studio UI (Monaco Editor, Simulation, Approvals)
Module
Web
Status
VERIFIED
Description
Full Policy Studio authoring environment with Monaco-based DSL editor (stella-dsl@1 syntax highlighting, IntelliSense), policy simulation panel with deterministic diff rendering, guided rule builder, YAML editor with schema validation, submit/review/approve workflow with two-person approval, run viewer dashboards, and explain view with evidence overlay exports.
Implementation Details
- Feature directory:
src/Web/StellaOps.Web/src/app/features/policy-studio/ - Components:
conflict-visualizer(src/Web/StellaOps.Web/src/app/features/policy-studio/ai/conflict-visualizer.component.ts)live-rule-preview(src/Web/StellaOps.Web/src/app/features/policy-studio/ai/live-rule-preview.component.ts)test-case-panel(src/Web/StellaOps.Web/src/app/features/policy-studio/ai/test-case-panel.component.ts)version-history(src/Web/StellaOps.Web/src/app/features/policy-studio/ai/version-history.component.ts)policy-approvals(src/Web/StellaOps.Web/src/app/features/policy-studio/approvals/policy-approvals.component.ts)policy-dashboard(src/Web/StellaOps.Web/src/app/features/policy-studio/dashboard/policy-dashboard.component.ts)policy-editor(src/Web/StellaOps.Web/src/app/features/policy-studio/editor/policy-editor.component.ts)policy-explain(src/Web/StellaOps.Web/src/app/features/policy-studio/explain/policy-explain.component.ts)policy-nl-input(src/Web/StellaOps.Web/src/app/features/policy-studio/nl-input/policy-nl-input.component.ts)policy-rule-builder(src/Web/StellaOps.Web/src/app/features/policy-studio/rule-builder/policy-rule-builder.component.ts)policy-simulation(src/Web/StellaOps.Web/src/app/features/policy-studio/simulation/policy-simulation.component.ts)policy-workspace(src/Web/StellaOps.Web/src/app/features/policy-studio/workspace/policy-workspace.component.ts)policy-yaml-editor(src/Web/StellaOps.Web/src/app/features/policy-studio/yaml/policy-yaml-editor.component.ts)
- Services:
monaco-loader(src/Web/StellaOps.Web/src/app/features/policy-studio/editor/monaco-loader.service.ts)policy-api(src/Web/StellaOps.Web/src/app/features/policy-studio/services/policy-api.service.ts)
- Models:
src/Web/StellaOps.Web/src/app/features/policy-studio/models/policy.models.ts
- Source: SPRINT_0210_0001_0002_ui_ii.md
E2E Test Plan
- Setup:
- Log in with a user that has appropriate permissions
- Navigate to
/policy-studio/packs - Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
- Core verification:
- Verify the editor/studio loads with editable content or empty template
- Verify changes can be saved and persisted
- Verify validation errors are displayed for invalid input
- Edge cases:
- Verify graceful handling when backend API is unavailable (error state)
- Verify responsive layout at different viewport sizes
- Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
Verification
- Run:
docs/qa/feature-checks/runs/web/policy-studio-ui/run-001/ - Date (UTC): 2026-02-11