Spectrum C API boundaries
Use the headers shipped with the exact SDK/runtime revision being integrated.
This page maps the current surface; it is not a generated function reference.
Pre-ship API changes may require rebuilding plugins and hosts. API/schema version
1 is separate from release versions such as 0.1.N; it does not guarantee that
arbitrary preview artifacts can be mixed.
Header under spectrum/c/ | Responsibility |
|---|---|
plugin_sdk.h | Plugin-facing umbrella. |
runtime.h | Host runtime umbrella. |
plugin/plugin_api.h | Plugin callback and lifecycle contract. |
runtime/context.h | Runtime context and backend resources. |
runtime/graph.h | Graph construction, preparation, requests and lifecycle. |
runtime/session.h | Multi-graph ownership and declared routing. |
runtime/graph_output_stream.h | Output streams and release obligations. |
core/metadata.h | Typed metadata. |
ext/ | Explicit platform/backend extensions. |
Host integration
A native host links the exported Spectrum::Runtime CMake target and uses compatible
plugin packages. The host owns its application/device lifecycle; follow the SDK's
ownership rules for contexts, graph preparation, request submission, outputs and
shutdown. Session owns its member graph lifecycle and routed target execution;
callers drive roots through the public graph APIs.
Retain packets and output leases only as their contracts permit. Release outstanding outputs and stop work before destroying owners. Backend handles, copies and native synchronization require explicit contracts; using a GPU API is not proof of zero-copy. A platform extension's existence is not a qualification claim for every device.
A graph alone is not an application integration. Ship compatible runtime libraries, plugins, required models/assets and notices; resolve their paths and application permissions, handle errors/cancellation, and validate the actual target. Do not embed multiple private Spectrum or inference runtimes into separate plugins.
Complete version-matched host examples, language-binding recipes and generated API reference are still being prepared. Use the installed headers/tool diagnostics as the authority; do not infer calling signatures from historical web snippets. Obtain applicable runtime redistribution terms separately from technical SDK access.