rightkit-ort
Internal, unpublished ONNX Runtime dynamic-library boundary for Right Suite. Applications supply ordered absolute candidates; the crate validates the platform filename, requires a regular file, canonicalizes the selected path, records diagnostics, and refuses to replace a different configured runtime.
The crate owns no product environment variable, data root, bundled runtime,
model, provider policy, download, or UI behavior. Application adapters convert
legacy environment variables and canonical app-data locations into explicit
RuntimeCandidate values.
Version policy
The suite pins the Rust ort crate to =2.0.0-rc.13 with load-dynamic and
API 24 enabled (ort declares links = "onnxruntime", so every crate in one
build must agree). Do not enable ort/default: rc.13 raises its default API
floor to 27, which the approved runtime cannot serve. The approved macOS arm64 ONNX Runtime shared library is
1.24.4, recorded in rightkit-media's native catalog. Runtime upgrades need
one catalog row, real native-host verification, and coordinated app migration;
this crate does not download or silently select a different runtime.
Execution providers
ort rc.13 compiles each execution provider only behind its Cargo feature.
rightkit-ort turns on coreml for Apple targets and directml for Windows, so
no consumer feature is needed (the explicit coreml / directml features forward to
ort/coreml / ort/directml for consumers that want to name the provider).
Apps that run their own inference use the rightkit_ort::ort re-export
(rightkit_ort::ort::{value::Tensor, session::Session, ...}) instead of declaring
an ort dependency, so the release ownership scanner never sees one. Select at runtime with ExecutionProvider
(Cpu, CoreMl, DirectMl, or ExecutionProvider::platform_accelerator()).
An accelerator that is unsupported, fails registration, or fails model load is
an error unless SessionOptions::with_cpu_fallback(true) is set; then the
*_reported builders return BuiltSession { provider, fallback } naming the
CPU fallback and its reason.
publish = false remains mandatory until the macOS runtime/artifact catalog
gate passes.
Licensed under MIT OR Apache-2.0.