# Schema reference

Versioned schemas for configurations, plans, evidence, assurance, and research records.

[View canonical HTML](https://pllm.run/sdk/reference/schemas/)

Document ID: `pllm.docs.reference.schemas`  
Release: `0.1.0`

Schemas under root `schemas/` define serialized document contracts. Rust and Python validators must agree on identity, required fields, bounds, unknown-field policy, and canonical digest construction.

Configuration, semantic decoder plans, compile requests, executable plans, component descriptors, benchmark evidence, assurance evidence, research sources, methods, recipes, and publication assessment evolve independently. A schema-valid document can still be unsupported by a selected compiler or runtime profile.

`benchmark-result.schema.json` covers canonical full benchmark records with explicit metric parameters, units, unavailable reasons, cohorts, samples, environment identity, and limitations. `provider-manifest.schema.json` covers static external-provider descriptors, resource digests, factory identities, tested builds, and host/category version declarations. `model.schema.json` covers the typed public model source shared by configuration and runtime requests. `model-source-lock.schema.json` covers path-independent checkpoint/config/tokenizer file hashes produced by the public model loader. `decoder-runtime-schedule.schema.json` covers the batch-one semantic schedule emitted for supported operators under an admitted component composition. `runtime-model-binding.schema.json` covers the model-plan, schedule, tokenizer, runtime-configuration, local-tensor, quantized-stage, scale, and preparation commitments checked before that schedule can execute. These schemas do not authorize incomplete protected compositions, transformed KV-cache eviction, unsupported semantic operators, or protected client-local operators.

## Python SDK example

```python
from pllm import ComponentRef

document = ComponentRef("pllm/cpu", {"threads": 4}).to_spec()
assert document == {"component": "pllm/cpu", "params": {"threads": 4}}
```

Serialization produces public configuration data; schema validity alone does not establish support.

API: [`pllm.ComponentRef`](/sdk/reference/python/pllm/#objects-and-signatures)
