CoreAIKit

Versioning & stability

CoreAIKit is meant to be depended on — by apps that ship. This page says exactly what that promise covers today.

Semantic versioning

Releases follow SemVer. Pre-1.0:

Pin the package with from: "0.2.0" (or exact: if you want zero surprises) — every release is a tag on this repo.

The catalog contract

The live catalog (catalog.json, fetched at runtime with the built-in snapshot as offline fallback) is a public contract:

Surface stability

Surface Status
ModelStore, ModelCatalog, ModelID, ChatSession, KitLanguageModel Stable — breaking changes only in a minor release, with migration notes
CoreAIKitVision (GraphModel, detectors, depth, CLIP), CoreAIKitEmbeddings Stable
Newer capability surfaces (VLM, TTS, ASR, diarization, OCR, dLLM, forecasting, audio-QA) Settling — APIs may still be reshaped as more models of each kind land; changes are changelogged
Anything internal or underscore-prefixed, Examples/ No guarantees

Verification

Every model in the catalog is verified on real hardware (Apple silicon Mac and, where published, iPhone) before its pin lands — parity against the reference implementation and measured tokens/sec, recorded in the model zoo. Three CI surfaces: