# Policy Engine 30-001 Prep — Overlay Projection Status: **Ready for implementation** (2025-11-22) Owners: Policy Guild · Cartographer Guild Scope: Freeze overlay projection contract needed for Policy Engine phase III. ## Inputs - Path/scope schema: `docs/modules/policy/prep/2025-11-20-policy-engine-29-002-prep.md`. - Metrics/log schema: `docs/modules/policy/prep/2025-11-20-policy-engine-29-004-prep.md`. ## Overlay Projection Contract - Input: evaluation records `{tenantId, policyId, pathScope[], evidenceDigest, decision, reasons[]}`. - Output overlay entry: - `overlayId` (deterministic hash of `tenantId+policyId+pathScope+evidenceDigest`) - `subject` (`purl` or `pkg` tuple), `pathScope`, `decision`, `rationale`, `inputs` (evidence digests), `policyVersion`, `createdAt`. - Determinism: pathScope sorted; reasons sorted by `code`; timestamps set to evaluation clock. - Export shape for downstream components via `/overlays/{overlayId}` and `/overlays/search` with paging. ## Acceptance Criteria - Overlay schema above referenced in Sprint 125 and 0125 trackers; downstream simulation/bridge tasks can consume it without further schema. - Any future field additions require version bump `overlaySchemaVersion`. ## Notes - Completes PREP-POLICY-ENGINE-30-001-WAITING-ON-29-004-M.