До сих пор номер версии существовал как два независимых декоративных
хардкода («МЕРА v2.0.6» в подвале отчёта и в PDF), не связанных с тем,
что реально задеплоено. Заводим настоящее версионирование.
- tradein-mvp/VERSION — единственный источник правды (2.1.0). Номер
продолжает ряд, который клиент уже видел в отчётах, чтобы не поехал назад.
- tradein-mvp/CHANGELOG.md — Keep a Changelog на русском, языком продукта.
Заголовок версии машинно-парсим: `## <semver> — <YYYY-MM-DD>`.
- Проброс в сборку: build-args → APP_VERSION/BUILD_SHA/BUILD_DATE (backend,
рантайм) и NEXT_PUBLIC_* (frontend, build-time — иначе не попадёт в статику).
paths-filter теперь триггерит пересборку на изменение VERSION/CHANGELOG.
- GET /api/v1/trade-in/version → {version, sha, built_at}, публичный.
- Подвал веб-интерфейса и шапка PDF показывают «Мера vX.Y.Z · sha · дата».
- Страница /trade-in/versions — история версий из CHANGELOG.md, рендер
простым текстом без dangerouslySetInnerHTML.
- Удалены оба старых хардкода версии, чтобы на экране и в отчёте не
соседствовали два разных номера.