Files
git.stella-ops.org/docs/modules/policy/prep/2025-11-20-policy-engine-30-002-prep.md
master d519782a8f
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
prep docs and service updates
2025-11-21 06:56:36 +00:00

28 lines
1.4 KiB
Markdown

# Policy Engine · Simulation Bridge Prep (POLICY-ENGINE-30-002)
- **Date:** 2025-11-20
- **Depends on:** Overlay projection (30-001)
- **Working directory:** `src/Policy/StellaOps.Policy.Engine`
## Simulation request schema
- `tenant` (string)
- `rules[]` (string) — ruleIds to simulate; if empty, simulate all active rules.
- `overlays[]` (optional) — inline `OverlayProjection` objects to test hypothetical changes without persisting.
- `paths[]` — array of `PathScope` inputs.
- `mode` (`preview|whatif`) — `preview` returns decisions only; `whatif` also returns delta vs current overlays.
- `seed` (int, optional) — for deterministic randomization if simulations sample paths.
## Response schema
- `decisions[]` — per PathScope result: `pathScope`, `decision`, `reasons[]`, `ruleId`, `version`, `effectiveAt`.
- `deltas[]` (only for `whatif`) — entries with `ruleId`, `baselineDecision`, `candidateDecision`, `diffReason`.
- `metrics` — echo of counters: `evaluated`, `allowed`, `denied`, `warned`, `deferred` for quick UI.
## Determinism rules
- When `seed` absent, use fixed seed `0xC0DEC0DE` for any randomized sampling.
- Responses ordered by input `paths[]` index, then `ruleId`.
## Acceptance for prep completion
- Simulation schemas are frozen; downstream UI/CLI harnesses can rely on shapes and ordering.
- Delta semantics clarified to unblock change-event publication (30-003).