# Deterministic Evaluator Prep — PREP-POLICY-ENGINE-20-002-BUILD-DETERMINISTIC Status: Draft (2025-11-20) Owners: Policy Guild Scope: Capture contract and constraints for deterministic policy evaluator before implementation. ## Requirements - Deterministic execution: no wall-clock, no RNG, no network; inputs must be content-addressed. - Ordering: lexical rule ordering; first-match semantics; stable reduction order over inputs. - Safe value types: disallow floats where not needed; prefer decimal with fixed scale. - Timestamps: if required, use supplied `context.now` injected value, not system clock. ## Deliverables - Document evaluator contract and constraints in `docs/modules/policy/design/deterministic-evaluator.md`. - Provide sample config and test vectors under `docs/modules/policy/samples/deterministic-evaluator/` (hashes recorded in the design doc). ## Handoff Use this doc as the prep artefact for PREP-POLICY-ENGINE-20-002-BUILD-DETERMINISTIC. Once constraints and samples are frozen, mark the sprint task DONE and unblock POLICY-ENGINE-20-002.