Promotion Gate Ownership Contract

Purpose

This contract freezes ownership for promotion gate decisions and defines the Policy-to-Orchestrator interface.

Ownership Rules

Explicit Non-Goals for Concelier

Policy Evaluation Interface

{
  "request": {
    "tenantId": "string",
    "promotionId": "guid",
    "targetEnvironment": "string",
    "artifactDigest": "sha256:...",
    "evidenceRef": "guid",
    "policyBundleDigest": "sha256:..."
  },
  "response": {
    "decision": "allow|deny|pending",
    "reasonCodes": ["string"],
    "policyDigest": "sha256:...",
    "determinismHash": "sha256:...",
    "evaluatedAtUtc": "2026-02-10T00:00:00Z"
  }
}

Determinism and Fail-Closed Rules

Required Test Coverage

Promotion/Orchestrator side:

Policy side:

Integration References