Catalog revision pinning
Every catalog entry now carries a revision — the Hugging Face commit hash of the artifact that was verified on real hardware. Every (catalog:) initializer downloads exactly that revision, multi-bundle models included (VL towers, TTS glue, OCR assets, Gemma PLE tables, ASR encoder pairs). A push to a model repo can no longer change what your app receives; pins are bumped deliberately (scripts/pin-catalog.py).
Apps on 0.1.0 are unaffected (the new field is ignored). First run on 0.2.0 re-downloads models once — bundles now cache under their revision instead of main.
Also
- Fixed: macOS build with current Xcode 27 betas (
os_proc_available_memory()is iOS-only in the newer SDK). - Fixed: live-catalog/built-in drift —
nemotron-3.5-asr-streaming-0.6b,mineru2.5-pro,glm-ocr, and TimesFM's engine hint now ship in both; the sync test pinpoints per-entry drift and requires pins. - Changed: ASR / Whisper / Parakeet / Forecaster
(catalog:)inits consult the live catalog like every other surface (clear unknown-id / wrong-platform errors). - New: CI (build + tests + pin check on every push) and a nightly end-to-end gate (pinned catalog download → GPU generate) on macOS 27 beta. See
docs/STABILITY.mdfor the versioning and catalog contract.
Full changelog: https://github.com/john-rocky/coreai-kit/blob/main/CHANGELOG.md