executionProvenanceSchema
constexecutionProvenanceSchema:object
The JSON Schemas those models were generated from, for runtime use.
Type Declaration
Section titled “Type Declaration”
readonly$id:"https://schemas.inderun.dev/1.0/execution-provenance.schema.json"
$schema
Section titled “$schema”
readonly$schema:"https://json-schema.org/draft/2020-12/schema"
additionalProperties
Section titled “additionalProperties”
readonlyadditionalProperties:true
description
Section titled “description”
readonlydescription:"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."
properties
Section titled “properties”
readonlyproperties:object
properties.attemptCount
Section titled “properties.attemptCount”
readonlyattemptCount:object
properties.attemptCount.description
Section titled “properties.attemptCount.description”
readonlydescription:"How many providers were attempted. 0 when the request failed validation or routing, or was cancelled before any attempt started."
properties.attemptCount.minimum
Section titled “properties.attemptCount.minimum”
readonlyminimum:0
properties.attemptCount.type
Section titled “properties.attemptCount.type”
readonlytype:"integer"
properties.attempts
Section titled “properties.attempts”
readonlyattempts:object
properties.attempts.description
Section titled “properties.attempts.description”
readonlydescription:"Every attempted provider, in attempt order, with how its attempt ended."
properties.attempts.items
Section titled “properties.attempts.items”
readonlyitems:object
properties.attempts.items.additionalProperties
Section titled “properties.attempts.items.additionalProperties”
readonlyadditionalProperties:true
properties.attempts.items.properties
Section titled “properties.attempts.items.properties”
readonlyproperties:object
properties.attempts.items.properties.committed
Section titled “properties.attempts.items.properties.committed”
readonlycommitted:object
properties.attempts.items.properties.committed.description
Section titled “properties.attempts.items.properties.committed.description”
readonlydescription:"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”
readonlytype:"boolean"
properties.attempts.items.properties.errorClass
Section titled “properties.attempts.items.properties.errorClass”
readonlyerrorClass:object
properties.attempts.items.properties.errorClass.description
Section titled “properties.attempts.items.properties.errorClass.description”
readonlydescription:"Normalized error class of a failed attempt."
properties.attempts.items.properties.errorClass.enum
Section titled “properties.attempts.items.properties.errorClass.enum”
readonlyenum: readonly ["CapabilityMismatch","Offline","AuthError","RateLimited","Timeout","Unavailable","Internal"]
properties.attempts.items.properties.outcome
Section titled “properties.attempts.items.properties.outcome”
readonlyoutcome:object
properties.attempts.items.properties.outcome.description
Section titled “properties.attempts.items.properties.outcome.description”
readonlydescription:"'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”
readonlyenum: readonly ["succeeded","failed","cancelled"]
properties.attempts.items.properties.outcome.title
Section titled “properties.attempts.items.properties.outcome.title”
readonlytitle:"AttemptOutcome"
properties.attempts.items.properties.providerId
Section titled “properties.attempts.items.properties.providerId”
readonlyproviderId:object
properties.attempts.items.properties.providerId.minLength
Section titled “properties.attempts.items.properties.providerId.minLength”
readonlyminLength:1
properties.attempts.items.properties.providerId.type
Section titled “properties.attempts.items.properties.providerId.type”
readonlytype:"string"
properties.attempts.items.required
Section titled “properties.attempts.items.required”
readonlyrequired: readonly ["providerId","outcome"]
properties.attempts.items.title
Section titled “properties.attempts.items.title”
readonlytitle:"ExecutionProvenanceAttempt"
properties.attempts.items.type
Section titled “properties.attempts.items.type”
readonlytype:"object"
properties.attempts.type
Section titled “properties.attempts.type”
readonlytype:"array"
properties.configuredModel
Section titled “properties.configuredModel”
readonlyconfiguredModel:object
properties.configuredModel.description
Section titled “properties.configuredModel.description”
readonlydescription:"The model providerId is bound to, as its descriptor declares it. Absent when the provider cannot name its model or no provider is attributed."
properties.configuredModel.minLength
Section titled “properties.configuredModel.minLength”
readonlyminLength:1
properties.configuredModel.type
Section titled “properties.configuredModel.type”
readonlytype:"string"
properties.fallbackOccurred
Section titled “properties.fallbackOccurred”
readonlyfallbackOccurred:object
properties.fallbackOccurred.description
Section titled “properties.fallbackOccurred.description”
readonlydescription:"Whether more than one provider was attempted (attemptCount > 1)."
properties.fallbackOccurred.type
Section titled “properties.fallbackOccurred.type”
readonlytype:"boolean"
properties.locality
Section titled “properties.locality”
readonlylocality:object
properties.locality.description
Section titled “properties.locality.description”
readonlydescription:"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."
properties.locality.enum
Section titled “properties.locality.enum”
readonlyenum: readonly ["on_device","edge","cloud","unknown"]
properties.modelProfile
Section titled “properties.modelProfile”
readonlymodelProfile:object
properties.modelProfile.description
Section titled “properties.modelProfile.description”
readonlydescription:"The model profile the request routed within; 'auto' when the request named none."
properties.modelProfile.minLength
Section titled “properties.modelProfile.minLength”
readonlyminLength:1
properties.modelProfile.type
Section titled “properties.modelProfile.type”
readonlytype:"string"
properties.providerId
Section titled “properties.providerId”
readonlyproviderId:object
properties.providerId.description
Section titled “properties.providerId.description”
readonlydescription:"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."
properties.providerId.minLength
Section titled “properties.providerId.minLength”
readonlyminLength:1
properties.providerId.type
Section titled “properties.providerId.type”
readonlytype:"string"
properties.reportedModel
Section titled “properties.reportedModel”
readonlyreportedModel:object
properties.reportedModel.description
Section titled “properties.reportedModel.description”
readonlydescription:"The model identifier the provider reported in its own response. Absent means the provider did not report one; it is never inferred from configuration."
properties.reportedModel.minLength
Section titled “properties.reportedModel.minLength”
readonlyminLength:1
properties.reportedModel.type
Section titled “properties.reportedModel.type”
readonlytype:"string"
properties.routeRejections
Section titled “properties.routeRejections”
readonlyrouteRejections:object
properties.routeRejections.description
Section titled “properties.routeRejections.description”
readonlydescription:"Providers the route planner rejected before any attempt, with the normalized RoutePlan reason codes. Codes only: no provider-supplied messages."
properties.routeRejections.items
Section titled “properties.routeRejections.items”
readonlyitems:object
properties.routeRejections.items.additionalProperties
Section titled “properties.routeRejections.items.additionalProperties”
readonlyadditionalProperties:true
properties.routeRejections.items.properties
Section titled “properties.routeRejections.items.properties”
readonlyproperties:object
properties.routeRejections.items.properties.codes
Section titled “properties.routeRejections.items.properties.codes”
readonlycodes:object
properties.routeRejections.items.properties.codes.items
Section titled “properties.routeRejections.items.properties.codes.items”
readonlyitems:object
properties.routeRejections.items.properties.codes.items.enum
Section titled “properties.routeRejections.items.properties.codes.items.enum”
readonlyenum: 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”
readonlytype:"array"
properties.routeRejections.items.properties.providerId
Section titled “properties.routeRejections.items.properties.providerId”
readonlyproviderId:object
properties.routeRejections.items.properties.providerId.minLength
Section titled “properties.routeRejections.items.properties.providerId.minLength”
readonlyminLength:1
properties.routeRejections.items.properties.providerId.type
Section titled “properties.routeRejections.items.properties.providerId.type”
readonlytype:"string"
properties.routeRejections.items.required
Section titled “properties.routeRejections.items.required”
readonlyrequired: readonly ["providerId","codes"]
properties.routeRejections.items.title
Section titled “properties.routeRejections.items.title”
readonlytitle:"ExecutionProvenanceRouteRejection"
properties.routeRejections.items.type
Section titled “properties.routeRejections.items.type”
readonlytype:"object"
properties.routeRejections.type
Section titled “properties.routeRejections.type”
readonlytype:"array"
properties.schemaVersion
Section titled “properties.schemaVersion”
readonlyschemaVersion:object
properties.schemaVersion.const
Section titled “properties.schemaVersion.const”
readonlyconst:"1.0"
properties.schemaVersion.description
Section titled “properties.schemaVersion.description”
readonlydescription:"Contract schema version used to interpret this provenance record."
required
Section titled “required”
readonlyrequired: readonly ["schemaVersion","modelProfile","locality","attemptCount","fallbackOccurred","attempts","routeRejections"]
readonlytitle:"ExecutionProvenance"
readonlytype:"object"
IndeRun — open-source AI execution for cross-platform apps. Built and maintained by Independo GmbH (opens in new tab), supported by netidee (opens in new tab).
MIT-licensed SDK · No SDK usage telemetry.
© 2025–2026 Independo GmbH