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.
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.
linksobjectdefault {}Context links. They count toward the revision digest, never the contract or example digests.
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.
| Field | Revision | Contract | Example | Why |
|---|---|---|---|---|
kind | covered | not covered | not covered | Always runlocal.workload. It names the document type, and it is not part of what is asked. |
protocol_version | covered | covered | not covered | The version the contract was written against. |
name | covered | not covered | not covered | The model's name, which stays the same across versions. Names and versions label a revision; digests identify it. |
version | covered | not covered | not covered | This version of the request. Name and version together label one revision digest. |
previous | covered | not covered | not covered | The revision digest this one replaces, or null for the first. A declared parent, not part of what is asked. |
note | covered | not covered | not covered | Free text for reviewers. Notes are excluded from every projection, so a note never changes what is being asked. |
source | covered | covered | not covered | Where the model came from, including whether this document covers it completely. |
links | covered | not covered | not covered | External context, including URLs, titles, notes, and scopes. Only the revision digest includes links; they do not change the model contract or examples. |
baseline | covered | not covered | not covered | The selected baseline contract and revision. Only the revision digest includes this relationship; it does not change the current model contract or examples. |
files | covered | covered | covered | Split by role: model and extension files belong to the contract, sample files belong to the example that binds them, and evidence files to neither. |
functions | covered | covered | not covered | Interface, contract, and body of every function. |
entrypoints | covered | covered | not covered | The ways to call the model. |
examples | covered | not covered | covered | One digest per example: the contract digest, that example without its note, and the sample files it binds. |
optimize | covered | covered | not covered | The targets to work on. |
knowledge | covered | not covered | not covered | Questions and evidence are not part of what is asked. An inline unknown reference stays in the projection that uses it. |
extensions | covered | covered | not covered | Features the base document does not express. The extension files that define them belong to the contract through files. |
weights | covered | covered | not covered | Weight slots that steps bind. |
tied_weights | covered | covered | not covered | Weights that hold the same values. Only this list establishes tying. |
state | covered | covered | not covered | Persistent state and its lifetime. |
constants | covered | covered | not covered | Public constants outside function graphs. |
environments | covered | covered | not covered | Exact Python and package versions that define Torch API behavior. |
operators | covered | covered | not covered | The 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.
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.
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.
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.