# Sonnet 4.6 — Code Review v1.1.11 Дата: 2026-07-29 Модель: Claude Sonnet 4.6 ## Ответ ### 🔴 Критично: NameError в api_test.py Строки 159, 178, 180 вызывают: - `get_params_with_current_values(...)` - `_normalize_value_list(...)` Оба символа определены в `operations/get_params.py`, но **не импортированы** в `routes/api_test.py`. Цепочка падения: 1. `startCreate()` → `fetch('/api/params/{opId}')` 2. Сервер: `_normalize_value_list(p.get("valueList"))` → `NameError` 3. `except` → `{"error": "name '_normalize_value_list' is not defined"}`, HTTP 500 4. JS: `data.params` = undefined → fallback к `data` = `{"error": "..."}` 5. `params.map(...)` → `TypeError: params.map is not a function` 6. Нет `.catch()` → промис падает молча Также сломаны MODIFY-запросы (строка 159 — `get_params_with_current_values`). **Фикс:** одна строка импорта. ### 🟡 Вторичные баги в JS 1. `showParams()` — нет `.catch()` на fetch-цепочке → ошибки скрыты 2. `data.params||data` без `Array.isArray()` → TypeError при ошибке API ### ⚪ Косметика `create-btn-area` после `params-area` в DOM — неудобно, но не ломает. ## Действия - [x] Добавить импорт в api_test.py - [x] Исправить клиентский код - [x] Добавить `.catch()` в showParams - [x] Проверить Array.isArray перед .map()