SIGN IN SIGN UP

fix(cli): exclude omitted overview and usage from model instance update mask (#1161)

## Summary

When updating a model instance, `overview` and `usage` were being added
to the update mask even when they were not included in
`model-instance-metadata.json`.

This happened because both fields defaulted to an empty string when
missing, while the update mask logic checks whether their value is
`None`. As a result, the check was always true for omitted fields.

This change makes omitted `overview` and `usage` fields stay out of the
update mask.

## Fix

Changed the default value for `overview` and `usage` from an empty
string to `None`.

This keeps the existing update logic intact while correctly
distinguishing between a field that was not provided and a field that
was intentionally set to an empty string.

After this change:

* An omitted `overview` or `usage` is not included in the update mask.
* An explicitly empty `overview` or `usage` is still included in the
update mask.
* Non-empty values continue to work as before.

## Tests

Added regression tests to verify that:

* Omitted `overview` and `usage` are not added to the update mask.
* Explicitly setting `overview` and `usage` to an empty string still
adds them to the update mask.
* Existing model instance update tests continue to pass.

Ran:

```text
pytest tests/unit/test_model_create.py -q
pytest tests/unit -q
black --check --diff <modified files>
mypy --install-types --non-interactive src/kaggle tests
```

All checks pass, including the full unit test suite with 1236 tests
passing.
S
Sridip Basu committed
bdcc1aa6a7bc4e2804a005e6963d181159648ade
Parent: 8f4dbfd
Committed by GitHub <noreply@github.com> on 8/5/2026, 9:09:32 PM