D1: admin-эндпоинты /kn-catalog-objects + /kn-catalog-flats теперь требуют
явный i_understand_waf_risk=true перед dispatch (иначе 400 со ссылкой на #2443),
т.к. их beat отключён после WAF-бана 2026-05-24 и случайный re-trigger углубит бан.
D2: обе catalog-BrowserSession (domrf_catalog_object.py + domrf_catalog.py flat-level)
переиспользуют throttled settings.scrape_kn_* (concurrency=2, jitter 1200-3000ms,
как scrape_kn после #1945) вместо молчаливого наследования дефолта stealth.py
(concurrency=8, 600-1500ms). Обновлены устаревшие комментарии config.py/stealth.py.
Refs #2445
PR #335 использовал `with db.begin_nested():` SAVEPOINT для per-row UPDATE,
но outer transaction никогда не commit'ился. После цикла Celery task
закрывал session (`db.close()` в finally) → autobegin'd outer tx
rollback → все UPDATE'ы теряются.
Симптом: task завершается с processed=3 succeeded=3, в Glitchtip нет ошибок,
но в БД ни одного catalog_scraped_at != NULL.
Fix: добавлен db.commit() после цикла + rollback на ошибку commit'а.