Skip to main content

Stability and Compatibility

The current Rust crate version is 0.2.5, the MCP tags patch; it retains the 0.2.4 directional security-profile patch. The retained registry receipt (docs/checks/release-registry-0.2.5.json) records the verified archive and source identity. Publication remains separate from directional live acceptance. The access-policy family remains experimental/live-unverified; its Portkey key/control-plane contract is separate from SCM OAuth.

The 0.1.1 publication receipt establishes the available G10 patch and its immutable source/archive identity. The opt-in response policy and default behavior are retained. The 0.2.0 minor increment is required because twelve legacy query options now fail before credentials; CHANGELOG lists every migration binding.

The vendor dataplane has a separate 47-operation ledger and current contract fixtures. It does not change the frozen TypeScript denominator or imply successful live execution. New methods retain explicit live-unverified status.

The initial Rust version 0.1.0 was published on crates.io. The publication receipt records its exact source and archive checksum. The frozen parity baseline is TypeScript SDK 0.34.0 at 4a80dbdb3dc14365e1c25d838ac0bd139485d48c. All 448 concrete methods and 3,820 exported capabilities have implemented native mappings. EXPORTS.md explains the independent validation, behavior and public-consumer evidence.

Directional profile release​

The TypeScript 0.35.0 directional profile addition is separate from the published 0.2.3 source. It adds two model types and two named schemas, plus five typed field occurrences on existing profile models. This is an additive maintenance delta; the historical 3,820 capabilities and 448 methods remain the TypeScript 0.34.0 baseline. Publication and delivery are established by the version-specific verified receipts.

Create/update requests use the versioned current root and intentionally reject newly known null/wrong-type values, including raw extensions that the historical root accepted. Existing unprefixed standalone validators retain their frozen semantics. Use the six typescript:0.35.0: roots documented in the guide for current standalone validation.

Upstream TypeScript 0.35.0 response schemas also reject invalid newly known fields. Rust profile responses intentionally preserve the older acceptance and lossless typed projections in both Mode::Response and Mode::ResponseWithoutDefaults. Unrepresentable values, including explicit null, remain in extensions; omitted fields stay absent. A supplied typed value wins over a same-key extension. Disabling response defaults changes only default insertion, including the existing list [] default.

Independent pinned-Zod fixtures and local model/wire tests provide offline compatibility evidence. Directional service behavior remains live-unverified; historical tenant receipts do not qualify this changed source. Reviewed publication, registry verification and remote CI remain separate delivery gates. Existing service limitations and vendor-unsupported Red Team query bindings retain their status.

Separate claims​

ClaimEvidence
ImplementedConcrete native public API, complete options, source/test bindings
Offline contracts verifiedExecuted independent request/response, validation and lifecycle checks
Live acceptedSuccessful native workflow in the selected service deployment and tenant scope
Platform qualifiedActual compiler/runtime evidence for the documented target and feature set
ReleasedAccepted source, clean commit, verified archive and recorded publication

A denied permission, unavailable provider, missing fixture or blocked service does not become a passing live result. Experimental AgentGuard and realtime remain explicitly labeled. Other operations retain their actual live classifications; implementation parity alone does not advertise every service workflow as stable. Consult LIVE_ACCEPTANCE.md, the operation matrix, and PLATFORMS.md.

Version policy​

The accepted design uses incremental public 0.x releases. Patch releases remain source compatible, including experimental interfaces. Breaking changes require a new 0.y minor version and migration notes. An experimental feature label does not waive that policy. Additive Cargo features select code and dependencies; they do not grant service permissions or weaken runtime security checks.

The declared minimum Rust version is 1.89 and applies to minimal builds too. Compiler minimum, public API, feature/dependency and documented behavior changes receive compatibility review and release notes. Supported feature combinations are tested alongside the minimum and current pinned compiler. Platform execution and downstream dependency resolution remain separate qualification boundaries.

Public extensible types use non-exhaustive representations where appropriate. Responses preserve unknown fields and future vocabulary while validating known required structure; literal discriminators stay strict. Unknown security outcomes remain explicit. Applications own enforcement decisions and must not turn an unfamiliar outcome into an implicit allow.

Language adaptations​

Native parity preserves capabilities through Rust interfaces: isolated client configuration replaces a global singleton, native validation replaces exported Zod objects, traits replace fetch/factory inputs, owned streams replace listeners, and bounded collections retain partial results and resumable positions. The export ledger records each adaptation.

Literal objects using either reserved Serde JSON protocol key are rejected at SDK JSON boundaries to prevent object-to-scalar coercion under feature unification. See the exact restriction. This security adaptation does not silently discard unknown fields.

Cancellation releases local resources and can leave remote writes or billed inference uncertain. Mutations do not inherit permissive read retries. Explicit secret/data access and serialization preserve API data; ordinary formatting and SDK tracing omit sensitive contents. See FOUNDATION.md, SECURITY.md and OBSERVABILITY.md.

cdot65 owns compatibility decisions, security exceptions and releases. Future SCM product modules enter scope with their own contracts and qualification; this AIRS baseline does not claim coverage of every SCM product API.