Skip to main content
Deployable Assets turns an immutable EvalGate release version into a governed runtime endpoint. Each deployment binds one asset to one environment (dev, staging, or prod) and keeps an exact serving version, policy snapshot, rollout assignment, revision, and evidence history. Use this control plane when an asset has passed offline evaluation and must serve application traffic without losing the connection between the request, release version, model-gateway call, cost, policy decision, and rollout state.

Supported assets

The same deployment contract applies to five release kinds: All deployable versions require a SHA-256 content hash and object input/output schemas. A deployment never resolves a mutable “latest” alias.

Permissions

API keys can invoke only when their organization and scopes match the deployment. An approval in one environment never authorizes another environment.

Prepare a release version

A release version payload contains a runtime and JSON object schemas:
The runtime calls the organization model gateway. Deployable invocation does not contain a direct-provider fallback or a caller-supplied egress URL.

Approve and deploy

First approve the exact version for the target environment:
Then create the environment deployment:
There is one deployment record per asset and environment. The database rejects an unapproved version, a version from another organization or artifact, a non-deployable kind, or a version without an immutable content hash.

Invoke an exact deployment

idempotencyKey is unique within the deployment. Repeating it returns the original invocation instead of creating a second gateway call or charge. requestKey controls deterministic canary assignment; use a stable customer, conversation, or session key when cohort stickiness matters. When stream is true, the response contains ordered partial evidence:
  1. version: exact artifact version and cohort chosen before execution.
  2. output: schema-validated serving output.
  3. evidence: the model-gateway call identifier.
Each durable invocation contains:
  • organization, deployment, artifact, exact version, environment, and cohort;
  • input and output hashes plus the schema-validated values;
  • gateway model-call ID, request/response hashes, latency, and token usage;
  • reported or explicitly unavailable cost source plus the budget reservation;
  • deployment and gateway policy snapshots;
  • shadow version, model call, and output hash when shadowing is enabled.
Unknown gateway cost is never presented as zero. The configured maximum per-invocation amount is reserved before the gateway call, so missing cost data cannot silently bypass the daily budget.

Policy enforcement order

Before gateway execution, EvalGate verifies:
  1. caller authentication, organization, and runs:write scope;
  2. deployment status and immutable environment/version binding;
  3. idempotency replay;
  4. serialized input size and allowed data classification;
  5. per-minute request count;
  6. atomic daily budget reservation;
  7. input schema.
Gateway output is checked against the release output schema before it can be marked successful. Blocked and failed attempts retain evidence and never masquerade as successful invocations.

Canary rollout

Approve the candidate for the same environment, then assign a bounded percentage:
Assignment hashes the deployment ID and request key into a stable bucket. A request cannot randomly move between serving and canary cohorts while its key remains the same.

Shadow rollout

Shadow mode evaluates the candidate for every serving request but never changes the serving output:
Partial shadow percentages are rejected. A failed shadow call is recorded in trace evidence and does not fail or replace a valid serving response.

Health evidence and promotion

Health windows are cohort- and version-bound. Submit the same interval for serving and canary cohorts with invocation volume, success, quality, p95 latency, cost, and policy violations.
Promotion requires comparative serving and canary evidence, at least 95% canary success, no policy violations, and canary quality no more than 0.02 below serving quality. The transition atomically moves the canary to active, stores the old active version as the rollback target, clears canary assignment, increments the revision, and appends an audit event.

Pause, resume, and rollback

Every control-plane transition includes expectedRevision. If another operator changes the deployment first, EvalGate returns a conflict and requires a refresh instead of overwriting the newer decision. Pause immediately blocks new invocations. Resume preserves the current exact active version. Rollback swaps the active and recorded previous versions inside one database transaction and clears in-progress canary assignment:
Rollback never resolves a new candidate. It selects only the exact previous version captured during promotion, revalidates its environment approval, and records both version IDs and revisions.

Operator workspace

Open Deployable Assets from the EvalGate navigation to:
  • compare active, canary, shadow, and paused environments;
  • inspect immutable hashes and policy budgets;
  • approve and deploy an exact version;
  • configure canary or shadow rollout;
  • compare quality, reliability, latency, cost, and violations by cohort;
  • inspect exact invocation and model-call provenance;
  • promote a healthy canary, pause/resume traffic, or confirm an atomic rollback;
  • follow the revisioned rollout history and rationale.
The workspace includes loading, empty, inline error, disabled-action, and destructive confirmation states. Tables remain horizontally scrollable at narrow widths, and all controls retain keyboard focus indicators.

Troubleshooting