fix(generator): сторожа имён DDS и порядка строк, торговый словарь — по границе

- Зачем:
  - слепая линия Кодекса (свежий тред, high) нашла три места, где обещание
    контракта не подкреплено: имена для DDS не сверялись ни с чем, порядок
    строк документа держался только на нумерации, а комментарий рекламировал
    торговые события, которые мастер-спека прямо исключила.
- Что:
  - имена для DDS записаны независимо и сверяются целиком: они не выводятся
    правилом из имён Метрики, значит осмысленно неверное имя иначе молча
    уезжает в опубликованное описание (проверено подменой referer).
  - строки документа сверяются парами «номер, колонка»: рендер в другом
    порядке больше не проходит зелёным (проверено перевёрнутым рендером).
  - productEventType: detail и remove убраны из комментария — раздел 10
    мастер-спеки отказался от полного словаря торговых событий Метрики;
    стенд шлёт add и purchase.
- Проверка:
  - make test (250 тестов), make lint;
  - make docs, затем git diff --exit-code docs/ — пусто;
  - обе новые проверки проверены мутациями: каждая краснеет своим тестом.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-01 22:44:53 +03:00
co-authored by Claude Opus 5
parent 1f96245c41
commit aabd339a26
4 changed files with 70 additions and 6 deletions
@@ -429,7 +429,8 @@ COLUMNS: tuple[Column, ...] = (
numpy_dtype="object",
dds_name="product_event_type",
group=ColumnGroup.ECOMMERCE,
comment="действие с товаром: detail, add, remove, purchase",
comment="действие с товаром: стенд шлёт add и purchase, полный"
" словарь Метрики (detail, remove, impressions) не берём",
),
Column(
name="ecommerce",