## opendatadiscovery/odd-platform — 0.28.0…0.29.0

_20 commits._

### Fixes
- **fix(data-quality): account for in-flight RUNNING runs + Table Health … (#1809)** (f12b8fb)
- **fix(i18n): translate the main-search hint value in 6 locales + 3 pt-BR value fixes (#1808)** (c464a7a)
- **fix(api): invalid policy JSON returns 400 instead of an opaque 500 (#1762) (#1807)** (6460196)
- **fix(ui): reflect alert status change without refresh + confirm before… (#1805)** (f4cf069)
- **fix(reference-data): guard column write endpoints + reject name collisions (#1769) (#1804)** (8e5b333)
- **fix(reference-data): propagate a lookup-table description to its catalog entity (#1781) (#1802)** (c7f14fc)
- **fix(ingestion-auth): authenticate the whole /ingestion/** surface when the flag is on (#1740) (#1799)** (4028b4a)
- **fix(ui): ConfirmationDialog no longer swallows a rejected confirm (#1… (#1797)** (fb597e0)
- **fix(entity-overview): order Overview tags by importance before truncating; drop no-op sort; truncation hint (#1768) (#1796)** (298f2f4)
- **fix(data-quality): surface in-flight RUNNING test runs (no HTTP 500) + deterministic run ordering (#1793)** (80f00bd)
- **fix(lookup-tables): silent 30-row list truncation + LOOKUP_TABLE_RENAMED activity event (#1753) (#1792)** (525200f)
- **fix(auth): null-guard S2sTokenProvider.isValidToken (unauthenticated 500 on any X-API-Key) (#1791)** (66e7ef4)
- **fix(ingestion): map ML_MODEL by payload shape + add ML_MODEL as a model-identity group (#1790)** (24c55d3)

### Backend
- **ConfirmationDialog thunk consumers `.unwrap()` — a refused destructive confirm no longer closes-as-success (#1766 ARM-2) (#1801)** (5648091)
- **Default lineage_depth to 1 in the contract so an omitted value no longer NPEs (#1800)** (e481cef)
- **contrib(CTRIB-028): #1754 Term Detail page hardening (defects 1,2,4,5… (#1798)** (fd71eb3)
- **Revert "contrib(CTRIB-028): #1754 Term Detail page hardening (defects 1,2,4,5,6,7)"** (b5930a7)
- **contrib(CTRIB-028): #1754 Term Detail page hardening (defects 1,2,4,5,6,7)** (9d3de14)
- **Harden the Alerts view: Activity-style tabs + filters + status; keep legacy API deprecated (#1763) (#1795)** (37d5dad)

### Tests
- **test(housekeeping): prove alert retention behaviourally; drop the fal… (#1806)** (016e7d4)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/opendatadiscovery/odd-platform?utm_source=github-action)._