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

2.4 KiB

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