Files
app-autotest/DOCS/sonnet-review-v1.1.11.md
T

37 lines
2.4 KiB
Markdown

# 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/<svc_id>
- `/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 параметров.