diff --git a/DOCS/sonnet-review-v1.1.11.md b/DOCS/sonnet-review-v1.1.11.md new file mode 100644 index 0000000..8fafc57 --- /dev/null +++ b/DOCS/sonnet-review-v1.1.11.md @@ -0,0 +1,36 @@ +# Sonnet Code Review — app-autotest v1.1.11 + +## Контекст +Flask 3.0 + gunicorn (multi-worker) + vanilla JS фронтенд. Тестирует Nubes API (создание/удаление инстансов). + +## Файлы для проверки (только эти, не надо лазить по всей репе) + +1. **Фронтенд (основной баг!)** + - `/home/naeel/nubes/autotest/app-autotest/site/static/app.js` — ВСЁ + - `/home/naeel/nubes/autotest/app-autotest/site/templates/index.html` — структура DOM + +2. **Бэкенд** + - `/home/naeel/nubes/autotest/app-autotest/site/routes/api_test.py` — эндпоинты /api/params, /api/test + - `/home/naeel/nubes/autotest/app-autotest/site/routes/main.py` — эндпоинт /api/operations/ + - `/home/naeel/nubes/autotest/app-autotest/site/operations/get_params.py` — _normalize_value_list + +3. **API-документация (для понимания что отдаёт Nubes)** + - `/home/naeel/nubes/autotest/DOCS/api-access.md` + - `/home/naeel/nubes/autotest/DOCS/api-create-flow.md` + +## Конкретный баг +Кнопка "+ Создать новый инстанс" (функция `startCreate()` в app.js) не работает: +- При клике — `params-area` открывается пустой (display:block) +- Загрузка параметров молча не происходит +- Кнопка остаётся на месте, юзер думает что ничего не случилось + +## Что нужно от Sonnet +1. Найти КОНКРЕТНУЮ причину почему `showParams` не рендерит форму. Проверить ВСЕ пути выполнения: + - `startCreate()` → fetch /api/operations/{svcId} → find create op → showParams(opId,'create') + - `showParams()` → fetch /api/params/{opId} → рендер createHeader + form +2. Нет ли race condition: `currentSvcName` может быть не установлен? +3. Нет ли ошибки в `params.map()` если API возвращает ошибку вместо массива? +4. `create-btn-area` сейчас ПОСЛЕ `params-area` в DOM — это нормально? + +## Версия для справки +v1.1.11 — сегодняшние изменения: нормализация valueList CSV→array для вложенных dataDescriptor параметров.