Rust SDK
Status: not started. The Rust SDK is part of Phase 5 of the roadmap, built when runtime authors need native integration. This page describes its planned scope so that implementers and reviewers can comment before code exists. It documents no API, because none has been designed.
Planned scope
Section titled “Planned scope”Serde-compatible types generated from the schema (for example with typify), serde_json::Map for extensions so unknown data round-trips, validation with the jsonschema crate against the embedded canonical schema, and structured error enums. Core types stay separate from any runtime integration so the crate can be embedded in agent runtimes.
Like every OpenCheckpoint SDK, it will:
- Parse and serialize checkpoints without adding, dropping, or changing fields.
- Validate against the canonical schema and report structured errors.
- Apply the semantic and transition rules and report their codes.
- Offer an idiomatic way to construct checkpoints.
- Expose continuation requirements and resource references for capability checks.
- Reject unsupported versions.
- Pass the shared conformance manifest in CI.
It will not call a network service, a model, or a database, and it will not offer a generic “resume” function. Adapters built on top of it will restore work into a specific runtime.
Design notes
Section titled “Design notes”RFC 0001, decision D13 explains why types are generated from the schema while builders, semantic rules, and errors are handwritten.
To help build it, see contributing.