vet

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit eeaf2b9d026a67e70e42e44ff7a857e73506be9c
parent 8feba7e027292a94089da7be42d2a6d6f6e6c928
Author: Andrew Laack <andrew@laack.co>
Date:   Mon,  2 Mar 2026 22:01:26 +0000

Merge pull request #170 from imbue-ai/andrew/registry-pull

Show --update-models flag in --help menu and inform usage in the skill.
Diffstat:
MREADME.md | 17+++++++++++++++++
Mregistry/CONTRIBUTING.md | 6+++---
Mskills/vet/SKILL.md | 10++++++++++
Muv.lock | 2+-
Mvet/cli/main.py | 2+-
5 files changed, 32 insertions(+), 5 deletions(-)

diff --git a/README.md b/README.md @@ -203,6 +203,23 @@ Then: vet "Harden error handling" --model gpt-5.2 ``` +### Model registry + +Vet maintains a remote model registry with community-contributed model definitions. To fetch the latest definitions without upgrading vet: + +```bash +vet --update-models +``` + +This downloads model definitions from the [registry](https://github.com/imbue-ai/vet/blob/main/registry/models.json) and caches them locally at `~/.cache/vet/remote_models.json`. Once cached, registry models appear in `vet --list-models` and can be used with `--model` like any other model. + +Model resolution priority (highest to lowest): +1. User config (`.vet/models.json` or `~/.config/vet/models.json`) +2. Builtin models (Anthropic, OpenAI, Gemini) +3. Registry models (cached via `--update-models`) + +See [`registry/CONTRIBUTING.md`](https://github.com/imbue-ai/vet/blob/main/registry/CONTRIBUTING.md) for information about contributing model definitions to the registry. + ### Configuration profiles (TOML) Vet supports named profiles so teams can standardize CI usage without long CLI invocations. diff --git a/registry/CONTRIBUTING.md b/registry/CONTRIBUTING.md @@ -2,11 +2,11 @@ Models added to `registry/models.json` should meet the following bar: -1. **Forwards compatibility.** This registry exists primarily so older versions of vet get access to new models. When built-in models are added, they should be added here if endpoint compatibility allows it. +1. **Produces useful output.** The models should be able to complete a vet run and produce at least some actionable findings. It does not need to catch everything, but it shouldn't consistently mis-identify issues. -2. **Produces useful output.** The models should be able to complete a vet run and produce at least some actionable findings. It does not need to catch everything, but it should not consistently mis-identify issues. +2. **Runs reliably.** The API endpoint must be stable with no consistent failures, timeouts, or malformed responses during normal usage. -3. **Runs reliably.** The API endpoint must be stable with no consistent failures, timeouts, or malformed responses during normal usage. +Additionally, models added as built-ins to vet that are compatible with the registry (OpenAI-compatible endpoints), should be added to the registry to ensure older versions of vet can make use of newer models. ## Limitations diff --git a/skills/vet/SKILL.md b/skills/vet/SKILL.md @@ -91,6 +91,7 @@ Vet analyzes the full git diff from the base commit. This may include changes fr - `--model MODEL`: LLM to use (default: claude-opus-4-6) - `--list-models`: list all models that are supported by vet - Run `vet --help` and look at the vet repo's readme for details about defining custom OpenAI-compatible models. +- `--update-models`: fetch the latest community model definitions from the remote registry and cache them locally. See "Updating the Model Registry" below for when to run this. - `--confidence-threshold N`: Minimum confidence 0.0-1.0 (default: 0.8) - `--output-format FORMAT`: Output as `text`, `json`, or `github` - `--quiet`: Suppress status messages and 'No issues found.' @@ -105,6 +106,15 @@ The vet CLI, skill files, and export scripts can become outdated as agent harnes If this happens, try updating them. Run `which vet` to determine how vet was installed and update accordingly. For the skill files, check which skill directories exist on disk and update them with the latest versions from https://github.com/imbue-ai/vet/tree/main/skills/vet. +### Updating the Model Registry + +Run `vet --update-models` to fetch the latest community model definitions from the remote registry without upgrading vet itself. This caches model definitions locally so they appear in `--list-models` and can be used with `--model`. + +You should run `vet --update-models` when: +- Vet reports an unknown or unrecognized model error. +- `vet --list-models` does not show a model you or the user expects to be available. +- The user explicitly asks you to update the model registry. + ## Additional Information Additional information can be found in the vet repo: diff --git a/uv.lock b/uv.lock @@ -1494,7 +1494,7 @@ wheels = [ [[package]] name = "verify-everything" -version = "0.2.2" +version = "0.2.3" source = { editable = "." } dependencies = [ { name = "anthropic" }, diff --git a/vet/cli/main.py b/vet/cli/main.py @@ -159,7 +159,7 @@ def create_parser() -> argparse.ArgumentParser: model_group.add_argument( "--update-models", action="store_true", - help=argparse.SUPPRESS, + help="Fetch the latest model definitions from the remote registry and cache them locally.", ) model_group.add_argument( "--temperature",