Policy Editor Guide
Audience: Policy authors, reviewers, and approvers working in the Stella Ops Console. Imposed rule: Edits must run lint, simulate, and shadow+coverage gates before promotion; the UI enforces attachment of results on submission.
Console status (2026-10-09, CCP-016): the Console has no policy editor, rule builder, simulation, submission or approval page. Those pages were withdrawn because the Policy routes they read are not served. The Console lists policy packs, creates an empty pack and tests a pack revision against a release (
/ops/policy/packs). Revision creation, bundle compilation and activation are Policy API operations (Policy Studio API contract). The sections below describe the authoring model, not a current Console page.
This guide walks through the Stella Ops Console Policy Editor end to end: authoring, validation, simulation, submission, approvals, promotion, and the offline workflow. For the underlying language, see the Policy DSL and SPL v1 references.
1. Workspace
- Left rail: policy list, versions, status (draft/submitted/approved/active/archived), shadow flag badge.
- Editor pane: YAML/SPL with schema validation, syntax highlighting, auto-format; shows IR hash after successful lint.
- Metadata panel: description, tags, AOC indicator, attestation status.
- Attachments panel: lint report, simulate diff, coverage results; mandatory before submission.
2. Validation
- Live lint via compiler service; blocks save on fatal errors.
- Schema assist: hover shows field descriptions; unknown fields flagged as warnings.
- Determinism check: twin-run diff runs on save; failures block submission.
3. Simulation
- Quick simulate: select fixtures (SBOM/VEX bundles) → runs in shadow mode; results shown inline with deltas vs previous version.
- Batch simulate: enqueue via orchestrator; results stored as attachments; required freshness <24h for submission.
4. Submission & approvals
- Submit requires: lint OK, simulate attachment, coverage results, shadow enabled.
- Reviewers comment inline; blocking comments must be resolved before approval.
- Approvers must enter reason/ticket; Authority enforces two-person rule when configured.
5. Promotion & activation
- Publish & sign: produces DSSE attestation over IR hash + approval metadata; Rekor mirror when online.
- Activate: selects approved version; records input cursors; triggers run if requested.
- Rollback: pick prior approved version; requires reason.
6. Offline workflow
- Load policy pack + attachments from Offline Kit; editor runs local lint/simulate with sealed inputs.
- Submit/approve offline records events locally; sync to Authority when reconnected.
7. Shortcuts & a11y
- Keyboard:
Ctrl+Ssave,Ctrl+Shift+Llint,Ctrl+Shift+Rsimulate. - Screen reader labels on editor, results table, and buttons; focus order follows workflow.
8. Troubleshooting
- Lint failures: open Problems tab; fix schema/unknown fields.
- Simulate stale: rerun quick simulate; ensure fixtures match policy inputs.
- Attestation mismatch: regenerate IR (auto) and retry publish; check Authority scopes.
