StellaOps Policy Engine

Audience: policy authors writing Stella DSL packs, release engineers wiring promotion gates, and integrators consuming policy verdicts.

Policy Engine compiles and evaluates stella-dsl@1 policies deterministically, joining advisories, VEX evidence, and SBOM inventories into explainable findings with full provenance. It owns the PASS/FAIL promotion-gate decisions that the Release Orchestrator enforces, and exposes simulation and diff APIs so authors can preview the impact of a change before it ships.

This is the canonical Policy module dossier. The ../policy-engine/directory is a pointer stub plus the auto-generated API reference.

Responsibilities

Registry and Plugin Boundary

Policy is pack-first, not evaluator-plugin-first. Release safety semantics remain host-owned: severity fusion, KEV/EPSS handling, reachability weighting, signature verification, release gates, exceptions, trust weighting, and deterministic verdict hashing are implemented by Policy Engine and its shared libraries.

The following are declarative data/policy packs by default and must not execute code when imported or activated:

Third-party executable evaluators are future/rare extension points. They require a dedicated Policy sprint, a signed plugin contract, admission policy, trust-root configuration, deterministic IO limits, and explicit test coverage before any runtime code can be loaded. Kubernetes admission webhooks are not part of the base Policy default; they would be a separate integration surface, not a reason to turn policy packs into executable plugins.

Key components

Integrations & dependencies

API surface (selected route prefixes)

Routes are served under the policy-engine service (lowercased URLs). Highlights grounded in StellaOps.Policy.Engine/Endpoints:

Authorization scopes (enforced by endpoints)

Additional policy:* scopes exist in the canonical catalog (StellaOpsScopes.cs: policy:submit, policy:review, policy:publish, policy:promote) but are not currently enforced by Policy Engine endpoints — they belong to the broader Policy Studio governance surface.

Observability

Operational notes

Backlog references

Implementation Status

Note: The phase labels below originated as a forward roadmap; several phases marked “In Progress”/“Planned” already have shipped runtime surfaces in StellaOps.Policy.Engine. The status annotations have been reconciled against the code; remaining gaps are noted per phase.

Phase 1 – Deterministic evaluation core (Implemented)

Phase 2 – Orchestration & incremental runs (Implemented)

Phase 3 – Policy Studio workflows (Largely implemented)

Phase 4 – Simulation & approvals (Largely implemented)

Phase 5 – Exports & offline parity (Largely implemented)

Phase 6 – Observability & hardening (Implemented)

Key Acceptance Criteria

Technical Decisions & Risks

Epic alignment