What it is
The capability manifest is a per-model metadata record that describes what a model can and can't do. When you install a model from the catalog or Hugging Face, Nimbus8 reads (or infers) its capabilities and stores them in the local model registry.
This is how Gale knows to route a photo attachment to a vision-capable model, or how Cirrus picks a code-tuned model over a general chat model when you open a diff.
Capability flags
- vision — can process image inputs (VLMs like LLaVA, Qwen-VL).
- pdf — can parse and reason over PDF documents.
- ocr — can extract text from images (used by Stratus).
- tool_use — supports function calling / tool-use protocols (used by Ashe).
- code — fine-tuned or instruction-tuned for code generation (used by Cirrus).
- multilingual — reliable output in multiple languages (used by Zephyr).
- embedding — produces vector embeddings (used by Mist and Haze).
Automatic routing
When a module needs a specific capability, it queries the manifest. If your active model supports the capability, it's used directly. If not, the runtime checks other installed models and suggests a switch — or handles it silently for background tasks like embedding.
You're never locked in. The manifest is a suggestion layer, not a gate. You can always override and pick any model you want.
Fallback behavior
If no installed model matches a required capability, the module tells you what's missing and links to the model catalog with a filtered view. One tap to browse, one tap to install, and you're back in the flow.