## TL;DR
Fetch methods fail with ModelVersionNotFound when the model key, version id, or project context is off by one piece: confirm the registered model's key in the registry UI, confirm the version string exactly as listed, and confirm the client is pointed at the project that owns the model. A version fetched from a different project or stage view reads as nonexistent even when it exists elsewhere.

```text
Neptune model registry error failed to fetch model version 'ModelVersionNotFound'
```

## Use this when
- The run or call fails with this symptom: ModelVersionNotFound when fetching a Neptune model version.
- You are working on a Neptune deployment or evaluation job fetching a registered model version and the failure repeats on the same run or configuration.
- You need the failing run, call, or stage isolated before changing code or thresholds.

## Not for this skill when
- A version that was deleted or only ever existed as a run artifact, where the fix is registering it properly first.
- The error text names a different tool, stage, or root cause. Match the verbatim error first and use that skill.

## Steps
1. List the project's registered models and their versions from the registry and copy the key and version exactly. Verify: the canonical key and version strings are in hand
2. Compare them character by character with the values in the failing code or config, including project name. Verify: the mismatching element is found
3. Fetch with the corrected identifiers in a minimal script before rerunning the job. Verify: the fetch returns the model version metadata
4. Record the identifiers in the same config the training side uses so registry and fetch cannot drift apart. Verify: both sides read identifiers from one source

## Variant phrasings
### neptune modelversionnotfound fetch model version
The verbatim phrasing.
### neptune model registry version not found wrong project
The project phrasing.
### neptune fetch registered model key version error
The identifier phrasing.

Compatibility: Neptune model registry lookups

## Why it happens
Registry lookups are exact-match over a compound identity: project, model key, and version. Any drift, a renamed model, a version in another project, a stage alias mistaken for a version, produces the same not-found answer with no hint about which element missed.

## Edge cases / pitfalls
- Version ids and stage names live in different namespaces; passing a stage where a version belongs fails this way.
- Case matters in model keys on some deployments; copy from the UI rather than typing.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_EQjRe-Z4l9zRkWh9I-vufA
