Skip to content
Documentation
Documentation / Schemas

REFERENCE

Schema reference

Look up request fields and validation results. For the Quickstart, your coding agent handles these details.

Model graph request (runlocal.workload)

The bundle’s request document, field by field, in the order the protocol reads it. Every field is addressable by its JSON Pointer: #/functions/*/contract/numerics names the same field here, in the workspace, and in a validation report.

22 fields. Open one for its constraints, nested fields, and pointer.Download JSON SchemaServed by the API

Identity

What this revision is, and what it replaces.

kindstringRequiredThe document kind.
protocol_versionstringRequiredThe protocol version this document conforms to.
namestringRequiredThe name of this request, for the model and the variant that it describes, for example lidar-detector-small. It stays the same across versions. source.name is the customer's program that the model comes from, which can serve many requests.
versionstringRequiredThis version of the request, for example r1. It is a name, so it starts with a letter: write r2 or v2, not 2. (name, version) identifies one revision digest.
previousstring | nullRequiredThe revision digest of the version this one replaces, or null for the first. A version is a complete document, not a patch.
notestringOptionalFree text for the people reviewing this document. Notes are part of the revision digest and excluded from the contract and example digests, so they never change what is being asked.
sourceobjectRequiredWhere the model comes from and whether this document covers it completely. Complete coverage of one entrypoint is never a claim about the whole application.
baselineobject | nulldefault nullA link to another stored request that is the baseline of this one, for a fidelity comparison. It needs the contract digest of that request. It is not the float reference of a quantized function: the quantization overlay already makes the float body the reference. It affects the revision digest, not the contract or example digests.
01filesobjectRequiredEvery file of the request, by name. A file with no location travels with the request: send its exact bytes under objects in the transport, with the same name. A file with a location has its bytes at another place, and you send no bytes for it. Write {} when the request has no file.
02functionsobjectRequiredThe model's functions. A request has at least one. The call graph between them is acyclic.
03entrypointsobjectRequiredThe ways to call the model, by the source's names for them. A request has at least one.
04examplesobjectRequiredSituations to optimize for, by name. An example states what is known about one situation: extents, value sources, and statistics. The work table of the service (GET /api/v1/work) states which kinds of work each stated item permits. No item is required: the map can be empty when only the model is submitted, and then no shape or input is implied.
05optimizeobjectdefault {}The parts of the model to optimize, by name. Omitted or empty means every entrypoint with its whole body. A map with entries means those parts only: a request that lists one layer asks for that layer and not for the entrypoints. List an entrypoint beside a layer to ask for both. A want belongs to a target, so to state a want for the whole model, write one target for each entrypoint.
06knowledgeobjectdefault {}Questions and evidence, by name.
07extensionsobjectdefault {}Extensions this document uses, by name.

Declarations

How calls interleave, and the weights, state, constants, environments, and operators that bodies bind.

weightsobjectdefault {}Named weights at program scope for steps to bind. Empty when no function composes others with weights.
tied_weightsarraydefault []Weights that hold the same values. Equal bytes never establish tying; only this list does.
stateobjectdefault {}Persistent state, by name. Empty for a stateless model.
constantsobjectdefault {}Public constants outside function graphs, by name.
environmentsobjectdefault {}Pinned software environments. Empty when the request has no Torch graph.
operatorsobjectdefault {}The operator registry of this request. Every graph node names one entry by its key. Each entry is ONNX or Torch, and it states the identity of the operator, what defines its meaning, and its use count. The key is free: the operator type name is a good key. Empty only when no body is a graph body.

Digests and projections

The server computes three kinds of digest over the same document. Knowing which field belongs to which projection answers the usual question — why did a digest move when I only edited a note?

A request is one document with three digests. The revision digest covers the whole thing. The contract digest covers what is being asked. Each example digest covers one situation offered for optimization, bound to the contract digest it was written against. All three are computed over the elaborated document, canonicalized by RFC 8785.

FieldRevisionContractExampleWhy
kindcoverednot coverednot coveredAlways runlocal.workload. It names the document type, and it is not part of what is asked.
protocol_versioncoveredcoverednot coveredThe version the contract was written against.
namecoverednot coverednot coveredThe model's name, which stays the same across versions. Names and versions label a revision; digests identify it.
versioncoverednot coverednot coveredThis version of the request. Name and version together label one revision digest.
previouscoverednot coverednot coveredThe revision digest this one replaces, or null for the first. A declared parent, not part of what is asked.
notecoverednot coverednot coveredFree text for reviewers. Notes are excluded from every projection, so a note never changes what is being asked.
sourcecoveredcoverednot coveredWhere the model came from, including whether this document covers it completely.
linkscoverednot coverednot coveredExternal context, including URLs, titles, notes, and scopes. Only the revision digest includes links; they do not change the model contract or examples.
baselinecoverednot coverednot coveredThe selected baseline contract and revision. Only the revision digest includes this relationship; it does not change the current model contract or examples.
filescoveredcoveredcoveredSplit by role: model and extension files belong to the contract, sample files belong to the example that binds them, and evidence files to neither.
functionscoveredcoverednot coveredInterface, contract, and body of every function.
entrypointscoveredcoverednot coveredThe ways to call the model.
examplescoverednot coveredcoveredOne digest per example: the contract digest, that example without its note, and the sample files it binds.
optimizecoveredcoverednot coveredThe targets to work on.
knowledgecoverednot coverednot coveredQuestions and evidence are not part of what is asked. An inline unknown reference stays in the projection that uses it.
extensionscoveredcoverednot coveredFeatures the base document does not express. The extension files that define them belong to the contract through files.
weightscoveredcoverednot coveredWeight slots that steps bind.
tied_weightscoveredcoverednot coveredWeights that hold the same values. Only this list establishes tying.
statecoveredcoverednot coveredPersistent state and its lifetime.
constantscoveredcoverednot coveredPublic constants outside function graphs.
environmentscoveredcoverednot coveredExact Python and package versions that define Torch API behavior.
operatorscoveredcoverednot coveredThe meaning of each ONNX or Torch operator. A Torch entry is an identity, and each graph node states its arguments.

So editing a note moves the revision digest and leaves the contract digest alone; adding an example moves the revision digest and that example's digest; changing a contract term moves all three.

Upload bundle

Send this envelope to the validation or upload endpoint. JSON Schema checks its structure; the server also checks byte limits, base64 encoding, object catalog membership, and content digests.

3 fields. Open one for its constraints, nested fields, and pointer.Download JSON SchemaServed by the API

The upload envelope. The whole body is at most 8388608 bytes of UTF-8 including base64 overhead. A json file that states content travels in the request itself, so the envelope of a request whose files are all JSON is readable from end to end.

  • Additional properties are not allowed.
requestAny JSON valueRequiredThe complete request document. Write it as JSON. A string holding the same JSON is the older form and is still read. At most 6291456 bytes of UTF-8 either way.
objectsobjectRequiredFile names mapped to standard padded base64 of the exact bytes. The keys must equal the names of the request's files that travel with it and that do not state content. A file with a location has its bytes at another place, and a file with content states its value in the request itself, so neither has an entry here. Every entry is checked for padded standard base64, byte length, and SHA-256.
validationAny JSON valueOptionalThe optional client validation report. It is checked against the computed request digests and retained as untrusted client data. Write it as JSON. A string holding the same JSON is the older form and is still read. At most 524288 bytes of UTF-8 either way.

Validation report (runlocal.validation)

The check endpoint and each accepted bundle produce this report. A bundle can also carry a client report in its validation string. The server stores both reports separately. It treats the client report as untrusted evidence.

17 fields. Open one for its constraints, nested fields, and pointer.Download JSON SchemaServed by the API

A runlocal.validation/4.0 report. It separates resolved meaning, node validity, backend support, source equivalence, replacement equivalence, and structural readiness. When a client attaches one to an upload, its digests must match; the server retains it as untrusted client data and also produces its own report.

  • Additional properties are not allowed.
kindstringRequiredThe document kind.
protocol_versionstringRequiredThe report version.
input_digeststring | nullRequiredSHA-256 of the validated input bytes, or null.
revision_digeststring | nullRequiredThe revision digest the validator computed, or null.
contract_digeststring | nullRequiredThe contract digest the validator computed, or null.
example_digestsobjectRequiredThe example digests the validator computed, by example name.
validatorobjectRequiredThe tool that produced the report.
capabilitiesobjectRequiredWhat the validator can assess. A restricted validator still preserves explicit knowledge, source coverage, weight identity, file roles, and content identity.
backend_profileobject | nullRequiredThe pinned backend capability profile used by this report, or null.
checksarrayRequiredServer check outcomes in execution order.
submitted_evidencearrayRequiredClaims and evidence submitted in the request, separate from server checks.
diagnosticsarrayRequiredFindings.
operatorsarrayRequiredPer-operator assessments in request registry order.
quantizationarrayRequiredFunction-overlay quantization assessments.
extensionsarrayRequiredExact extension assessments.
provisionobjectRequiredOne top-level catalog of independent provision facts.
scopesarrayRequiredPer-scope assessments.

Custom operator specification

Use this bundled document when a local function cannot state a custom operator’s behavior. It records the signature, shape rules, valid inputs, boundary behavior, numerical behavior, nondeterminism, and state effects. It names either the written specification or a pinned reference implementation as the authority. A reference adapter also records its files, interface, and exact environment. Validation does not run it.

18 fields. Open one for its constraints, nested fields, and pointer.Download JSON SchemaServed by the API

A runlocal.operator-extension/1.0 specification. It defines one custom operator without relying on an external link. The authority field states whether this document or the pinned reference implementation defines behavior.

  • Additional properties are not allowed.
kindstringRequiredThe document kind.
protocol_versionstringRequiredThe operator-extension document version.
namestringRequiredA stable name: a letter followed by letters, digits, underscores, dots, or hyphens.
versionstringRequiredThe version of this extension specification.
authoritystringRequiredspecification: this document defines behavior. reference_implementation: the pinned implementation, under its declared environment, defines behavior on the stated input domain.
operatorobjectRequiredThe custom operator this specification defines.
inputsarrayRequiredInputs in operator order.
outputsarrayRequiredOutputs in operator order.
type_parametersobjectRequiredType constraints by parameter name.
attributesobjectRequiredAttributes by graph attribute name.
input_conditionsarrayRequiredConditions every valid input must meet.
shape_rulesarrayRequiredRules that derive or constrain output shapes.
boundary_behaviorstringRequiredA complete description in plain text.
numerical_behaviorstringRequiredA complete description in plain text.
nondeterminismstringRequiredA complete description in plain text.
state_effectsstringRequiredA complete description in plain text.
referenceobject | nullRequiredA pinned reference adapter and execution environment, or null. Its authority is set by the authority field.
testsarrayRequiredBundled evidence files that test the specification. The list may be empty.

Vocabulary (runlocal.terminology)

Every field name and fixed value in the request, with its meaning and, where the previous protocol used a different word, the word it replaced. A word is defined once for each place it appears, so every key is namespaced by the schema definition that holds it: Contract.numerics is a field, File.role.model is a fixed value of a field, and WorkloadRequest holds the request's own fields, each linked to its place in the schema.

Served by the API · Download JSON

WorkloadRequest

kind
What this document is. Always runlocal.workload.
kind.runlocal.workload
The document kind of a model graph request.
protocol_version
The version of this specification the document follows.
protocol_version.5.1
The current protocol version. It defines quantization as an overlay on a float function, and it lets a json file write its value in the request.was 5.0
name
The model's name, the same across versions.was lineage
version
This version of the request; name and version together identify one revision digest.was revision
previous
The revision digest of the version this one replaces, or null for the first.was parent
note
Free text for people reviewing the document. Notes count toward the revision digest and never toward the contract or example digests, so they cannot change what is asked.
links
External context links. They affect only the revision digest and never define computation.
baseline
The baseline model used for fidelity comparison, or null. It affects the revision digest only.
source
Where the model comes from: the customer's program, its version, and whether this document covers it completely.was source_scope
files
Every file sent with the request, by name, with its role, format, size, and digest. Nothing unlisted is sent.was objects
functions
The model's functions, by name. Each has inputs, outputs, a contract, and a body.was callables
entrypoints
The ways to call the model, keyed by the source's names for them. Each names a function and binds its state.was entries
weights
Named weights at program scope for steps to bind. Empty when no function composes others with weights.was parameters
weights.*
Written-form shorthand: terms that every other entry of this map shares. An entry's own field wins. Elaboration merges this entry and removes it, so it is never a name.
tied_weights
Pairs of weights that hold the same values, such as an embedding and an output head. Only this list establishes tying.was parameter_relations: equal_values
state
Persistent values such as caches, by name. Empty for a stateless model.was resources
constants
Public constants outside any graph, by name. Never taken from sample files.
environments
Pinned Python and package versions used by Torch graphs.
operators
The request's operator registry. Every graph node names one ONNX or Torch entry.
examples
Situations to optimize for, by name: an entrypoint, its inputs and weights, what holds, and what was measured.was workloads
optimize
The parts of the model to optimize, by name. Each target says where and what it selects. An empty map means every entrypoint with its whole body.was regions
knowledge
Questions and evidence, by name. Each entry states its purpose, subjects, and dependencies.was unknowns and checks
extensions
Extensions this document uses, by name: features the base document does not express.was profiles

RequestLink

url
An HTTPS reference without credentials or access tokens. The server never fetches it.
kind
The purpose of the external reference.
kind.configuration
Upstream settings for reference. Actual settings belong in source.configuration.
kind.model_card
A page that describes the model.
kind.implementation
Source code for reference. It does not define the submitted computation.
kind.paper
A research paper.
kind.documentation
Documentation for the request.
kind.other
Other external reference material.
title
A short display label.
note
Free text for people reviewing this external reference. Notes count toward the revision digest and never toward the contract or example digests, so they cannot change what is asked.
scope
An existing JSON Pointer in the written request. Omitted, null, or empty means the whole request.

Source

configuration
The resolved model family, preset, and settings used to build the graph. null when not recorded.
name
A short name for the customer's program or repository. It is not a URL.
version
The version, commit, or tag of the customer's program.
coverage
Whether the document covers the source completely. An incomplete source names fact-purpose unknowns.was complete

SourceCoverage

kind
Whether source coverage is complete or incomplete.
kind.complete
The document covers every relevant source behavior.
kind.incomplete
The document does not cover every relevant source behavior.
unknowns
Fact-purpose unknowns that state what source behavior is missing.

Configuration

family
The model family.
variant
The selected preset name, such as tiny or 9b.
values
Resolved JSON settings. Strings are literal text. The graph defines the computation.

BaselineRelationship

contract
The baseline model contract digest.
revision
The baseline request revision digest, or null.
title
A short label for the baseline model.

DimensionRange

min
The least permitted extent, included in the range.
max
The greatest permitted extent, included in the range.

Dimension

min
The least permitted extent, included in the range.
max
The greatest permitted extent, included in the range.
multiple_of
Every permitted extent is a multiple of this positive integer.
equals
A relation to other dimensions in the same function, or null.
equals.sum
This dimension equals the sum of the named dimensions. Dependencies have no cycle.

WeightPort

type
The logical element type and shape, independent of packing.
private
Whether actual values must stay on the client's machine.was disclosure: local_only
access
Weights are read-only.
access.read
Calls read the weight and never change its values.
supplied
When the port's values are bound: at_runtime or prepared_locally.was binding
supplied.at_runtime
Bound when the model runs.was runtime
supplied.prepared_locally
Prepared on the customer's machine before use; no packed format is implied.was local_preparation
lives
How long the bound values stay fixed.was lifetime
lives.per_call
The value is fixed during one call.was invocation
lives.per_session
The value is fixed until the customer-local session ends.was session
domain
The value domain: restrictions that every value supplied to this port must satisfy.was values

WeightLift

lift
The prefix of the enclosing port names. Called port p binds to the enclosing port <lift>.p, or to p when the prefix is empty. An undeclared enclosing port gets the called port's record.

WeightPorts

*
Written-form shorthand: terms that every other entry of this map shares. An entry's own field wins. Elaboration merges this entry and removes it, so it is never a name.

WeightDefaults

private
The disclosure policy that every entry of the map shares, unless an entry states its own.
access
Weights are read-only.
access.read
Calls read the weight and never change its values.
supplied
When values are bound, for every entry of the map that does not state its own.
supplied.at_runtime
Bound when the model runs.was runtime
supplied.prepared_locally
Prepared on the customer's machine before use; no packed format is implied.was local_preparation
lives
How long bound values stay fixed, for every entry of the map that does not state its own.
lives.per_call
The value is fixed during one call.was invocation
lives.per_session
The value is fixed until the customer-local session ends.was session
domain
The value domain that every entry of the map shares. An entry's own restrictions merge over them, field by field.was values

ValueDomain

finite
Whether NaN and infinities are excluded.
minimum
The inclusive lower value bound, or null. A bound also excludes NaN.
maximum
The inclusive upper value bound, or null. A bound also excludes NaN.
distinct
The required number of distinct tensor elements, or null.

WeightLocation

graph_input
The main-graph input name, when it differs from the weight port name.was role: parameter

ParentWeight

port
A weight port of the enclosing function. Reusing it shares one logical weight.

UniformGeneratedValue

kind
The value source kind.
kind.generated
Synthetic values created locally.
generator
The generator algorithm.
generator.uniform
Uniform synthetic values before element conversion.
version
The generator algorithm version.
version.1
The uniform-v1 algorithm in SEMANTICS.md.
seed
An unsigned 32-bit seed. Zero is allowed.
lower
The inclusive lower endpoint before element conversion.
upper
The exclusive upper endpoint before element conversion. Rounding can include it.

IntegerGeneratedValue

kind
The value source kind.
kind.generated
Synthetic values created locally.
generator
The generator algorithm.
generator.integer
Unbiased integer values from an inclusive range.
version
The generator algorithm version.
version.1
The integer-v1 algorithm in SEMANTICS.md.
seed
An unsigned 32-bit seed. Zero is allowed.
lower
The inclusive lower integer.
upper
The inclusive upper integer.

FixedGeneratedValue

kind
The value source kind.
kind.generated
Synthetic values created locally.
generator
The generator algorithm.
generator.fixed
One value repeated for every logical element.
version
The generator algorithm version.
version.1
The fixed-v1 algorithm in SEMANTICS.md.
seed
An unsigned 32-bit seed retained for a stable group-source shape.
value
The repeated value before element conversion.

NoValueSource

kind
The source kind.
kind.none
No value is supplied. The caller supplies it later. It is neither a zero tensor nor an unknown type.was unbound

LocalValueSource

kind
The source kind.
kind.local
Values kept on the customer's machine.
binding
A local name. The server never follows it.
digest
The SHA-256 of the exact local bytes. It identifies the values and does not send them.

FileValueSource

kind
The source kind.
kind.file
Values in a sample file. The location of the file states where its bytes are.was sample
file
A file with role sample that contains the value.
key
The name of one tensor in a file that holds many, such as a safetensors or npz file.

ConstantValueSource

kind
The source kind.
kind.constant
A named public constant supplies the value.was fixed
constant
The constant that supplies the value.

ValueBinding

source
Where the value comes from.
holds
Whether the values are one representative case or hold for every run that the example stands for.
holds.example
One representative case. The result must stay correct for other values.
holds.every_run
Each run that the example stands for uses exactly these values. The service can use them to check, calibrate, or compare a result. It never builds them into the computation.was specialization_constant
statistics
Measurements of these values. They do not promise facts about another run.

WeightGroupBinding

source
Where all otherwise unbound weights in the group come from.
holds
Whether the values are one representative case or hold for every run that the example stands for.
holds.example
One representative case. The result must stay correct for other values.
holds.every_run
Each run that the example stands for uses exactly these values.
statistics
Measurements of these values. They do not promise facts about another run.

OutputBinding

source
Where the reference value of the output is: no value, a value that stays local, or a sample file that the service can read.
statistics
Measurements of the reference value. A summary to compare against when the file itself is not written.
tolerance
The accepted difference between the output of the computation on the example values and the reference, as text with its metric. The user decides it.

ValueStatistics

minimum
The smallest measured element.
maximum
The largest measured element.
nonzero_fraction
The measured fraction of elements that are not zero.
distinct
The measured number of different element values.

File

role
What a file is for: model, sample, evidence, or extension.
role.model
Part of what is being asked, counted in the contract digest. The JSON graph, an optional source artifact, and constant tensors have this role.was semantic
role.sample
Example values, counted in the digest of the examples that use them.
role.evidence
An artifact an evidence entry refers to.
role.extension
A schema or specification file an extension names, counted in the contract digest.
format
How to parse a file's bytes: onnx/<message>@<release>, json, or bytes/<media type>.
content
The value of a json file, written in the request itself, so that a reader of the request sees the whole file. The bytes of such a file are the canonical JSON of the value under RFC 8785, so it states no size_bytes and no digest and sends no base64.
size_bytes
The exact byte length of a file before parsing. A file that writes its content states no size_bytes.
digest
SHA-256 of the file's exact bytes, written as sha256: and 64 hex digits. A file that writes its content states no digest.
location
Where the bytes of the file are, when they do not travel with the request. It states what the customer made available to the service. It is not part of the contract digest or of an example digest.
note
Free text for people reviewing the file. Notes count toward the revision digest and never toward the contract or example digests, so they cannot change what is asked.

UrlFileLocation

kind
The location kind.
kind.url
The bytes are public at a URL.
url
A public https URL of the exact bytes. It needs no credentials, and the digest of the file pins the bytes.

StoredFileLocation

kind
The location kind.
kind.stored
The bytes are in the RunLocal object store, and the digest of the file finds them.

Function

weights
Logical weight ports by stable name. This is the only weight interface. An empty map declares no weights.
dimensions
Named dimension domains for this function. They apply to every call.
inputs
The function's inputs by name, with their types.
outputs
The function's outputs by name, with their types.
state
The state the function reads or writes, by name, bound to a state slot by each entrypoint or step.was resources
constraints
Conditions written as text over shapes, such as N <= 4096, that every call must satisfy.was domain
contract
The terms under which a replacement is judged; omitted means the base contract.
quantization
Quantization substitutions outside the float body. An empty overlay means this function is not quantized.
body
How the function is defined: graph, steps, black_box, missing, or extension.
note
Free text for people reviewing the function. Notes count toward the revision digest and never toward the contract or example digests, so they cannot change what is asked.

InputPort

type
The input's tensor type.
private
Whether actual values must stay on the client's machine.
domain
The value domain: restrictions that every value supplied to this input must satisfy.was values

StatePair

read
The ordinary input port that receives the session value before the call.
write
The ordinary output port that returns the session value after the call.

UnknownRef

unknown
Written as {"unknown": "<name>"} in place of a value the author does not know. It names a fact-purpose unknown knowledge entry and never grants freedom.was {kind: unknown, requirement}

Contract

numerics
The numerical term: as_written, an extension, or {unknown}.
reference
What a correctness claim compares against: math, an extension pinning a runtime, or {unknown}.
layout
The memory interface term: any, an extension, or {unknown}.was abi
observe
What counts as an observable result: outputs, an extension, or {unknown}.was observations

Numerics

as_written
The body's own operations define the permitted numerical outcomes: nothing narrower, nothing wider.was body_defined

QuantizationOverlay

weights
Logical float weight ports and their stored quantized forms.
weights.*
Written-form shorthand: the scheme that every other entry of this map shares. An entry's own field wins. Elaboration merges this entry and removes it, so it is never a name.
values
Named float graph values and their quantize-dequantize substitutions.
storage
A named extension that maps logical quantized tensors to their physical stored bytes.

QuantizedWeight

scheme
The exact checked ONNX affine scheme.
codes
The customer-owned stored codes.
scale
The customer-owned stored scale.
zero_point
The stored or implicit affine zero point.

QuantizedWeightDefaults

scheme
The affine scheme that every entry of the map shares, unless an entry states its own.

QuantizedValue

scheme
The exact checked ONNX affine scheme.
parameters
Static stored parameters or the checked dynamic rule.

OnnxAffineQuantization

kind
The affine scheme kind. Always onnx_affine.
kind.onnx_affine
Affine quantization defined by checked ONNX QDQ schemas.
domain
The ONNX domain. It is the standard empty domain.
domain.
The standard ONNX domain.
opset
The imported ONNX opset used to resolve the schemas.
quantize_schema_version
The exact resolved QuantizeLinear schema version.
dequantize_schema_version
The exact resolved DequantizeLinear schema version.
code_type
The code element type.
code_type.int2
Signed 2-bit integer codes.
code_type.uint2
Unsigned 2-bit integer codes.
code_type.int4
Signed 4-bit integer codes.
code_type.uint4
Unsigned 4-bit integer codes.
code_type.int8
Signed 8-bit integer codes.
code_type.uint8
Unsigned 8-bit integer codes.
code_type.int16
Signed 16-bit integer codes.
code_type.uint16
Unsigned 16-bit integer codes.
code_type.float8e4m3fn
Finite 8-bit E4M3FN floating-point codes.
granularity
How parameters broadcast over the logical tensor.

LocalQuantizationTensor

kind
The stored tensor source. Always local.
kind.local
A private tensor in the selected local weight source.
binding
The tensor name relative to the selected local weight source.
type
The tensor's exact type and shape.

FileQuantizationTensor

kind
The stored tensor source. Always file.
kind.file
A public tensor in a bundled quantization-tensor document.
file
The bundled model JSON file that contains the tensor.
tensor
The tensor name in the bundled quantization-tensor document.
type
The stored tensor's logical type and shape.

QuantizationImplicitZeroPoint

kind
The zero-point form. Always implicit_zero.
kind.implicit_zero
No stored zero point. It gives uint8 codes unless the pinned QuantizeLinear schema has output_dtype, so int8 codes under an older schema need a stored zero point of zeros.

QuantizationStoredZeroPoint

kind
The zero-point form. Always stored.
kind.stored
A customer-owned stored zero-point tensor.
tensor
The stored zero-point tensor.

QuantizationPerTensor

kind
The granularity. Always per_tensor.
kind.per_tensor
One parameter applies to the whole tensor.

QuantizationPerAxis

kind
The granularity. Always per_axis.
kind.per_axis
One parameter applies to each position on one axis.
axis
The quantized axis. A negative value counts from the end.

QuantizationBlocked

kind
The granularity. Always blocked.
kind.blocked
One parameter applies to each block on one axis.
axis
The blocked axis. A negative value counts from the end.
block_size
The number of adjacent values in a block.

StaticQuantizationParameters

kind
The parameter form. Always static.
kind.static
Scale and zero point come from stored tensors.
scale
The customer-owned stored scale.
zero_point
The stored or implicit affine zero point.

DynamicQuantizationParameters

kind
The parameter form. Always dynamic.
kind.dynamic
Scale and zero point are computed for each call.
rule
The checked rule that computes scale and zero point.
rule.onnx_dynamic_quantize_linear
The standard ONNX DynamicQuantizeLinear rule.
schema_version
The exact resolved DynamicQuantizeLinear schema version.

Reference

math
The mathematical meaning of the body, including the nondeterminism it permits, not any one runtime.was denotational

Layout

any
Inputs and outputs are logical values; memory layout is neither promised nor observed.was logical_values

SideEffects

declared
The function touches only the state it lists, in the modes it lists.was listed_resources_only

Aliasing

default
The relation for every pair of states not listed in pairs.
default.disjoint
Unlisted pairs never share storage.
default.may_overlap
Unlisted pairs may share storage. This is an explicit permission, not an unknown.
pairs
Explicit pairs of states and their relation, overriding the default.

AliasPair

first
The lesser state name of the pair, in ASCII order.
second
The greater state name of the pair.
relation
Whether the two states may share storage: disjoint or may_overlap.
relation.disjoint
The two states never share storage.
relation.may_overlap
The two states may share storage. This is an explicit permission, not an unknown.

Observe

outputs
Only outputs, resulting state, effects, and termination count as observations.was interface (observations)

GraphBody

kind
Selects this body alternative. Always graph.
kind.graph
A pure computation defined by an authoritative JSON graph.
graph
The name of the json file holding the authoritative runlocal.graph document.
source
An optional source artifact used to make the graph. It is provenance and does not define the computation.
inputs
Function input names mapped to graph input names, where they differ.
outputs
Function output names mapped to graph output names, where they differ.
weights
Graph-input name overrides for weight ports whose names differ.
external_data
External tensor-data locations the graph uses, each mapped to a file.

ExternalData

location
An ONNX external-data location key. It is a lookup key, never a path.
file
The name of the model file holding that location's bytes.

StepsBody

kind
Selects this body alternative. Always steps.
kind.steps
A body that composes other functions.was pipeline
steps
The steps by name. Map order carries no ordering.was calls
outputs
Where each output of the function comes from.

Step

call
The function the step calls.
inputs
What each input of the called function receives.was arguments
weights
Binds every weight port of the called function to a slot in weights or to a port of the enclosing function.
weights.*
Written-form shorthand: lifts every port of the called function that the step does not bind itself. Elaboration writes each binding and removes this entry, so it is never a name.
after
Steps that must complete before this one, beyond what the data edges imply.

ValueRef

input
A value reference: an input of the enclosing function.was argument
step
A value reference: an output of another step, named by step and output.was result
output
Inside a step value reference: which output of that step.
constant
A value reference naming an entry in constants.

BlackBox

kind
Selects this body alternative. Always black_box.
kind.black_box
A fixed implementation on the customer's machine that RunLocal never sees or runs. Every call to it is preserved.was opaque
binding
A name for the implementation on the customer's machine.was local_binding
version
The version of that implementation.
effects
The effects of the opaque implementation. Functional bodies have no effect record.
effects.side_effects
What the opaque implementation may touch beyond inputs and outputs: declared, or {unknown}.was effect_scope
effects.aliasing
Whether its session slots may share storage: a default and explicit pairs, or {unknown}.was resource_aliases

Missing

kind
Selects this body alternative. Always missing.
kind.missing
No body is supplied yet. Names at least one fact-purpose unknown knowledge entry.was unresolved
unknowns
Which fact-purpose unknown knowledge entries explain the gap.was requirements

Entrypoint

function
The function the entrypoint calls.
state
Which slot in state each state of the function binds to.was resources
note
Free text for people reviewing the entrypoint. Notes count toward the revision digest and never toward the contract or example digests, so they cannot change what is asked.

WeightSlot

domain
The value domain that this shared weight slot guarantees.was values
type
The slot's tensor type, such as float16[N,512].
private
true when the slot's values never appear in the request and no transformation folds them.was disclosure: local_only
access
Weights are read-only.
access.read
Calls read the weight and never change its values.
supplied
When the slot's value is bound: at_runtime or prepared_locally.was binding
supplied.at_runtime
Bound when the model runs.was runtime
supplied.prepared_locally
Prepared on the customer's machine before use; no packed format is implied.was local_preparation
lives
How long the slot's value is fixed: per_call or per_session.was lifetime
lives.per_call
The value is fixed during one call.was invocation
lives.per_session
The value is fixed until the customer-local session ends.was session
constraints
Conditions on the slot's value, written as text over the single term value.was domain
note
Free text for people reviewing the weight slot. Notes count toward the revision digest and never toward the contract or example digests, so they cannot change what is asked.

TiedPair

first
A weight port or slot name.
second
Another weight holding the same values as the first.

StateSlot

private
Whether actual values must stay on the client's machine.
domain
The value domain: restrictions that every value supplied to this slot must satisfy.was values
lives
How long a state instance lives: per_call or per_session.was lifetime
lives.per_call
The instance lives for one call.was invocation
lives.per_session
The instance persists across calls in one session.was session
initial
How the state starts: no value, a constant, or an extension. No state is implicitly zeroed.
reset
How the state is reset: new_instance, reinitialize, or an extension. Never an implicit event between benchmark runs.
reset.new_instance
Reset only by ending the state instance and creating a new one.
reset.reinitialize
Apply the initializer again once dependent calls complete.
note
Free text for people reviewing the state slot. Notes count toward the revision digest and never toward the contract or example digests, so they cannot change what is asked.

Constant

type
The constant's exact tensor type.
source
A model file or an extension that holds the constant's complete value.was file

TorchEnvironment

kind
The environment kind. Always torch.
kind.torch
A pinned Python environment that contains Torch.
python
The exact Python version.
packages
Exact installed package versions. This map includes torch.

OnnxOperator

kind
The operator system. Always onnx.
kind.onnx
An operator whose meaning comes from ONNX, a local function, an extension, or an explicit unknown.
domain
The operator domain as the graphs spell it; empty for the standard operators.
op_type
The operator type name.
overload
The operator overload, when the model uses one.
opset
The opset version the graphs import for the operator's domain.was opset_version
semantics
What the operator computes: onnx, local_function, an operator extension, or {unknown}. Never Identity by default.
uses
How many nodes apply the operator across every graph, subgraphs and local function bodies included.
note
Free text for people reviewing the operator. Notes count toward the revision digest and never toward the contract or example digests, so they cannot change what is asked.

TorchOperator

kind
The operator system. Always torch.
kind.torch
An operator whose meaning comes from pinned Torch API or Python source. The entry is an identity. Each graph node states its own arguments.
environment
The pinned Torch environment that defines this operator's public API and dependencies.
definition
The public API, module implementation, or inline source that defines this operator.
uses
How many graph nodes name this operator entry.
note
Free text for people reviewing the operator. Notes count toward the revision digest and never toward the contract or example digests, so they cannot change what is asked.

TorchApiDefinition

kind
The definition kind. Always api.
kind.api
A public callable from the pinned Torch package.
callable
The fully qualified public Torch callable.

TorchSourceDefinition

kind
The definition kind. Always source.
kind.source
An inline top-level Python callable.
callable
The top-level Python callable name.
code
The authoritative UTF-8 Python source. Validation does not parse, import, or run it.

TorchModuleDefinition

kind
The definition kind. Always module.
kind.module
An eval-only torch.nn.Module instance.
implementation
The public Torch class or inline Python class used by the module.
constructor
Fixed constructor arguments by parameter name. A JSON array states a Python tuple or list.
training
Whether the module uses training mode. Torch graph modules require false.
parameters
The qualified module parameter names. Each node that applies the module supplies each one.
buffers
The qualified persistent module buffer names. Each node that applies the module supplies each one.

OperatorSemantics

onnx
The ONNX definition of the operator at the entry's opset; only for a standard domain.
local_function
The model's own local function with the entry's domain, op_type, and overload defines the operator.

Target

where
Which calls the target applies to: every call of a function, or one call site reached from an entrypoint.was scope
select
Which part of a body the target selects: body, steps, nodes, or an extension.was selection
wants
The kinds of work of the published work table that the target asks for. A want that the request does not support rejects an upload.
note
Free text for people reviewing the target. Notes count toward the revision digest and never toward the contract or example digests, so they cannot change what is asked.

Where

function
Every call of this function.
entrypoint
The entrypoint a call site is reached from.
path
Step names followed from the entrypoint's function to a call site. Empty means the entrypoint's own body.was call_path

Select

body
The whole body of the selected function.
steps
A convex set of steps in a steps body.was pipeline_cut
nodes
A convex set of graph nodes, by node name or graph path.was onnx_cut

Example

dimensions
Exact extents or narrower ranges for the entrypoint function's declared dimensions. These restrict calls; counts only record measurements.
entrypoint
Which entrypoint the example calls.
inputs
What each input of the entrypoint's function is bound to.
weights
The source of each weight, keyed by an entrypoint port name, /functions/<function>/weights/<port>, /weights/<slot>, the group key * for every entrypoint port with no source of its own, or the group key /weights/* for every program slot with no source of its own.was parameters
weights.*
The source for every entrypoint weight port that has no source of its own.
weights./weights/*
The source for every program slot that the example reaches and that has no source of its own.
state
What each state slot is bound to.was resources
outputs
What the source produced for each output on the values of this example: a reference that the service can compare the computation against. Absent means no reference.
constraints
Conditions written as text over shapes that hold for every run the example stands for, beyond the function's own.was domain
counts
Quantities measured on the supplied samples, keyed by a term such as N or points.shape[0]. Measurements, never promises; a count never encodes a relation.was census
note
Free text for people reviewing the example. Notes count toward the revision digest and never toward the contract or example digests, so they cannot change what is asked.

KnowledgePurpose

fact
Records a fact or an open question about a fact.
source_equivalence
Assesses whether the request matches the source behavior.
replacement_equivalence
Assesses whether a replacement matches the request contract.
baseline_fidelity
Assesses this model against a named baseline contract.
other
Records another stated question or claim.

UnknownKnowledge

kind
How this entry was established. Always unknown.
kind.unknown
A stated question that available knowledge does not answer.
purpose
Why this question is recorded.
subjects
The nonempty ordered set of document pointers this question covers.
depends_on
Knowledge entries that this question relies on. Always acyclic.
question
The question that remains unanswered.
why
Why the answer is unknown.
why.not_checked
Nobody checked it yet.was not_inspected
why.not_seen
It was sought but not seen.was not_observed
why.private
The customer withholds the fact.was withheld
why.cannot_tell
Available information cannot answer it.was not_derivable
note
Free text for people reviewing the question. Notes count toward the revision digest and never toward the contract or example digests, so they cannot change what is asked.

EvidenceKnowledge

kind
The method: claimed, observed, tested, or proved. It is not a confidence level.
kind.claimed
A named tool asserts the claim.
kind.observed
The claim comes from recorded runs or inspected files.
kind.tested
A named procedure checked a finite set of cases.
kind.proved
A named proof procedure established the claim under its assumptions.
purpose
Why this evidence is recorded.
subjects
The nonempty ordered set of document pointers this evidence covers.
depends_on
Knowledge entries that this evidence relies on. Always acyclic.
outcome
Whether the evidence supports, refutes, or cannot decide the claim.
outcome.supports
The evidence supports the claim.
outcome.refutes
The evidence refutes the claim.
outcome.inconclusive
The evidence does not decide the claim.
tool
The tool that produced the evidence.
claim
The proposition that the evidence assesses.
procedure
How the assessment was done.
contract_digest
The contract digest of the exact computation that this evidence assessed, or null.was content_digest
cases
How many cases a tested entry ran.
passed
How many tested cases passed.
tolerance
The accepted difference in a numerical comparison, as text with its metric. In a request it records a comparison. A response can state a tolerance for a replacement.
artifacts
Evidence or sample files that support the assessment.
assumptions
Assumptions used by the assessment. They do not narrow accepted inputs.
fidelity
Structured baseline fidelity evidence, or null.
confidence
A subjective estimate from 0 through 1 with a reason, or null.
note
Free text for people reviewing the evidence. Notes count toward the revision digest and never toward the contract or example digests, so they cannot change what is asked.

FidelityMetric

name
The metric name.
value
The measured value.
comparison
How the measured value is compared with its limit.
comparison.at_least
The value must be at least the limit.
comparison.at_most
The value must be at most the limit.
limit
The acceptance limit.
unit
The metric unit, or an empty string for a unitless value.

FidelityInterface

current_entrypoint
The current request entrypoint.
baseline_entrypoint
The matching baseline entrypoint.
inputs
The public input types shared by both entrypoints.
outputs
The public output types shared by both entrypoints.

FidelityEvidence

current_contract
The quantized model contract digest.
baseline_contract
The baseline model contract digest.
current_checkpoint
The local quantized checkpoint identifier.
baseline_checkpoint
The local baseline checkpoint identifier.
evaluation_data
The immutable evaluation data identifier.
runtime
The runtime used for both sides of the comparison.
runtime.name
The runtime name.
runtime.version
The exact runtime version.
runtime.device
The device and relevant execution settings.
interfaces
The compared public entrypoints.
metrics
Measured fidelity results and their limits.

Tool

name
The name of the tool that produced the evidence.
version
The version of that tool.

Confidence

value
The subjective estimate from 0 through 1. It is not calibrated or server-endorsed.
reason
Why the submitting tool gave this estimate.

ExtensionDefinition

slot
Which part of the document the extension may fill.
slot.body
A function's body.
slot.operator
The meaning of a custom operator.
slot.type
The type of an input or output that is not a tensor.
slot.constant
An entry in constants.
slot.constraint
Constraints.
slot.layout
The layout term of a contract.
slot.state
How a state starts or is reset.
slot.numerics
The numerics term of a contract.
slot.quantization
Physical storage for logical tensors in a quantization overlay.
slot.reference
The reference term of a contract.
slot.observe
The observe term of a contract.
slot.target
What a target under optimize selects.was region
name
The extension's name. A name alone never identifies an extension.
version
The extension's version.
schema
A json file holding the JSON Schema that the extension's payloads must satisfy.
specification
A file holding the extension's specification. Data, not permission to run code.
depends_on
Extensions this one builds on. Always acyclic.
note
Free text for people reviewing the extension. Notes count toward the revision digest and never toward the contract or example digests, so they cannot change what is asked.

Extension

kind
Marks a value as the use of an extension. Always extension.
kind.extension
A payload that uses an extension in one slot.
extension
The entry in extensions that defines the payload.
payload
The inline JSON of the extension use, satisfying its schema.
RunLocal documentation