Skip to content

executionProvenanceSchema

const executionProvenanceSchema: object

The JSON Schemas those models were generated from, for runtime use.

readonly $id: "https://schemas.inderun.dev/1.0/execution-provenance.schema.json"

readonly $schema: "https://json-schema.org/draft/2020-12/schema"

readonly additionalProperties: true

readonly description: "Provider-neutral record of how an execution was carried out: the target the outcome is attributed to, its declared locality, the configured and provider-reported model, every attempt, and why other candidates were rejected. Carried on TaskResult, on every StreamTerminalOutcome branch, and on IndeRunError. It reports what the engine observed and what providers declared or reported; it never infers a model or locality a provider did not state, and it never contains request content, credentials, or provider payloads."

readonly properties: object

readonly attemptCount: object

readonly description: "How many providers were attempted. 0 when the request failed validation or routing, or was cancelled before any attempt started."

readonly minimum: 0

readonly type: "integer"

readonly attempts: object

readonly description: "Every attempted provider, in attempt order, with how its attempt ended."

readonly items: object

properties.attempts.items.additionalProperties

Section titled “properties.attempts.items.additionalProperties”

readonly additionalProperties: true

readonly properties: object

properties.attempts.items.properties.committed

Section titled “properties.attempts.items.properties.committed”

readonly committed: object

properties.attempts.items.properties.committed.description

Section titled “properties.attempts.items.properties.committed.description”

readonly description: "Whether the run committed to this provider during the attempt: its first content was delivered, it signalled the first possible audible effect, or it handed over an artifact. After commit a failure ends the run instead of falling back. Absent means the attempt did not commit."

properties.attempts.items.properties.committed.type

Section titled “properties.attempts.items.properties.committed.type”

readonly type: "boolean"

properties.attempts.items.properties.errorClass

Section titled “properties.attempts.items.properties.errorClass”

readonly errorClass: object

properties.attempts.items.properties.errorClass.description

Section titled “properties.attempts.items.properties.errorClass.description”

readonly description: "Normalized error class of a failed attempt."

properties.attempts.items.properties.errorClass.enum

Section titled “properties.attempts.items.properties.errorClass.enum”

readonly enum: readonly ["CapabilityMismatch", "Offline", "AuthError", "RateLimited", "Timeout", "Unavailable", "Internal"]

properties.attempts.items.properties.outcome

Section titled “properties.attempts.items.properties.outcome”

readonly outcome: object

properties.attempts.items.properties.outcome.description

Section titled “properties.attempts.items.properties.outcome.description”

readonly description: "'succeeded' (produced the result or was committed to and completed), 'failed', or 'cancelled'."

properties.attempts.items.properties.outcome.enum

Section titled “properties.attempts.items.properties.outcome.enum”

readonly enum: readonly ["succeeded", "failed", "cancelled"]

properties.attempts.items.properties.outcome.title

Section titled “properties.attempts.items.properties.outcome.title”

readonly title: "AttemptOutcome"

properties.attempts.items.properties.providerId

Section titled “properties.attempts.items.properties.providerId”

readonly providerId: object

properties.attempts.items.properties.providerId.minLength

Section titled “properties.attempts.items.properties.providerId.minLength”

readonly minLength: 1

properties.attempts.items.properties.providerId.type

Section titled “properties.attempts.items.properties.providerId.type”

readonly type: "string"

readonly required: readonly ["providerId", "outcome"]

readonly title: "ExecutionProvenanceAttempt"

readonly type: "object"

readonly type: "array"

readonly configuredModel: object

readonly description: "The model providerId is bound to, as its descriptor declares it. Absent when the provider cannot name its model or no provider is attributed."

readonly minLength: 1

readonly type: "string"

readonly fallbackOccurred: object

readonly description: "Whether more than one provider was attempted (attemptCount > 1)."

readonly type: "boolean"

readonly locality: object

readonly description: "Where providerId declares it executes: 'on_device' for a local provider, 'edge', or 'cloud'. A declaration by the provider's descriptor, not a measurement. 'unknown' when providerId is absent."

readonly enum: readonly ["on_device", "edge", "cloud", "unknown"]

readonly modelProfile: object

readonly description: "The model profile the request routed within; 'auto' when the request named none."

readonly minLength: 1

readonly type: "string"

readonly providerId: object

readonly description: "The target the outcome is attributed to: the provider that produced the result, the provider a stream had committed to when it ended, or the provider that was running when it was cancelled. Absent when no provider was reached or when every attempted provider failed before one was committed to."

readonly minLength: 1

readonly type: "string"

readonly reportedModel: object

readonly description: "The model identifier the provider reported in its own response. Absent means the provider did not report one; it is never inferred from configuration."

readonly minLength: 1

readonly type: "string"

readonly routeRejections: object

readonly description: "Providers the route planner rejected before any attempt, with the normalized RoutePlan reason codes. Codes only: no provider-supplied messages."

readonly items: object

properties.routeRejections.items.additionalProperties

Section titled “properties.routeRejections.items.additionalProperties”

readonly additionalProperties: true

properties.routeRejections.items.properties

Section titled “properties.routeRejections.items.properties”

readonly properties: object

properties.routeRejections.items.properties.codes

Section titled “properties.routeRejections.items.properties.codes”

readonly codes: object

properties.routeRejections.items.properties.codes.items

Section titled “properties.routeRejections.items.properties.codes.items”

readonly items: object

properties.routeRejections.items.properties.codes.items.enum

Section titled “properties.routeRejections.items.properties.codes.items.enum”

readonly enum: readonly ["task_not_supported", "run_not_supported", "streaming_not_supported", "streaming_unavailable", "privacy_constraint", "cloud_constraint", "offline", "capability_unavailable", "not_in_model_profile", "input_not_supported", "output_delivery_not_supported", "output_format_not_supported", "locale_not_supported", "voice_not_available", "prepare_not_supported", "not_ready"]

properties.routeRejections.items.properties.codes.type

Section titled “properties.routeRejections.items.properties.codes.type”

readonly type: "array"

properties.routeRejections.items.properties.providerId

Section titled “properties.routeRejections.items.properties.providerId”

readonly providerId: object

properties.routeRejections.items.properties.providerId.minLength

Section titled “properties.routeRejections.items.properties.providerId.minLength”

readonly minLength: 1

properties.routeRejections.items.properties.providerId.type

Section titled “properties.routeRejections.items.properties.providerId.type”

readonly type: "string"

readonly required: readonly ["providerId", "codes"]

readonly title: "ExecutionProvenanceRouteRejection"

readonly type: "object"

readonly type: "array"

readonly schemaVersion: object

readonly const: "1.0"

readonly description: "Contract schema version used to interpret this provenance record."

readonly required: readonly ["schemaVersion", "modelProfile", "locality", "attemptCount", "fallbackOccurred", "attempts", "routeRejections"]

readonly title: "ExecutionProvenance"

readonly type: "object"