ADR 0009: Separate qualified support from backend registration
- Status: Accepted
- Date: 2026-08-09
Context
InferCrane v0.1 is qualified only for vLLM on RunPod, using SkyPilot for elastic capacity and the RunPod API for provider-native serverless capacity. That release boundary must not become an architectural dependency. Provider names, runtime defaults, and cleanup allowlists had begun to leak into generic lifecycle and reconciliation code, making a future integration require edits to unrelated control-plane logic.Decision
Public support policy and executable integration registration are separate concerns. The versioned support matrix states which cloud, runtime, and compute-mode combinations are qualified for a release. Composition registers elastic and serverless backends that satisfy narrow lifecycle contracts. Registration alone never advertises an integration as supported. An elastic backend has a stable adapter name, cloud, runtime, andReplicaProvider. Registries
resolve provisioning by cloud/runtime and replay or deletion by the adapter identity persisted on
the replica. Direct serverless targets use the same composition principle during reconciliation.
Cleanup queries receive the registered provider identity; persistence contains no provider
allowlist. Runtime identity is preserved from the deployment specification and defaulted only at
an input boundary.
Adding a qualified integration therefore requires an adapter, explicit process composition,
support-matrix qualification, configuration and documentation, and real lifecycle acceptance. It
does not require a provider conditional in the durable workflow.