## TL;DR
Failed to push image is a registry write problem at the container layer: check authentication to the target registry, the repository's existence and the tag's validity, and quota or immutable-tag rules that reject overwrites. Test the push of a small image to the same repository to separate credentials from the model image's size or layer problems.

```text
'Failed to push image' model registry error when registering trained model version failed
```

## Use this when
- The run or call fails with this symptom: Failed to push image error when registering a trained model version.
- You are working on registering a trained model packaged as a container image 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
- An image that fails because one layer is corrupt in the local build cache, where the fix is rebuilding that layer.
- The error text names a different tool, stage, or root cause. Match the verbatim error first and use that skill.

## Steps
1. Attempt a push of a tiny test image to the same registry and repository with the same credentials. Verify: the basic push path is proven or the auth failure is isolated
2. Read the push log for the failing layer and the registry's response code on that layer. Verify: the failing layer and response are identified
3. Check repository rules: tag immutability, quota, and required naming or scanning policies. Verify: any rejecting rule is named
4. Fix the cause, then push the model image and confirm the tag resolves in the registry. Verify: the model image is present under its tag

## Variant phrasings
### failed to push image model registry registration
The verbatim phrasing.
### model version image push failed registry auth quota
The registry phrasing.
### register trained model container push error fix
The fix phrasing.

Compatibility: Container image based model registration and deployment registries

## Why it happens
Model registration that packages an image inherits every container registry failure mode, but reports them in model-tooling language. The push is a plain registry operation, so testing it as one, with a small image and the raw push log, separates registry causes from model packaging causes.

## Edge cases / pitfalls
- Immutable tags reject re-pushes of an existing version; bump the version instead of forcing the tag.
- Very large model layers hit registry per-layer limits; split model weights into the image in stages if needed.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_s4AJ3MZu3JdyzUlIdEmj5w
