Files
app-autotest/DOCS/sonnet-response-round2.md
T

2.5 KiB

⚠️ LEGACY — НЕАКТУАЛЬНО. Исторический документ.

Sonnet — ответ 27.07.2026 (v1.0.49, раунд 2)

Найденные баги

Баг #1: showStages() — для этапов в процессе

Файл: site/templates/index.html Nubes возвращает isSuccessful: false для этапов «в процессе». Код:

const icon=ok===true?'✅':ok===false?'❌':'⏳';

false === false. Должно быть .

Исправление: проверять s.dtFinish. Если нет → , если есть и true, если есть и false.

Баг #2: api_operations() — фильтр теряет новые инстансы

Файлы: site/routes/api_test.py + site/routes/main.py После tracker_add (мгновенно in-memory) инстанс есть в трекере, но Nubes API ещё не обновил explainedStatus — инстанс имеет статус "not created". Фильтр:

and i.get("explainedStatus") not in ("deleted", "not created")

отбрасывает его. Инстанс есть в трекере, есть в ответе API — но статус "not created" → фильтр удаляет.

Исправление: для tracked UID не применять фильтр "not created". Добавлять отсутствующие из трекера напрямую.

Баг #3: Дублирующийся route

main_bp зарегистрирован ПЕРВЫМ, api_test_bp — ВТОРЫМ. Оба определяют GET /api/operations/<int:svc_id>. Flask использует первое совпадение → main.api_operations вызывается, api_test.api_operations — никогда.

Потенциальная проблема #4: Multi-worker gunicorn

In-memory dict НЕ работает при >1 gunicorn worker. Один worker добавляет в свой _data, другой читает из своего. Если pythonk8s запускает >1 worker — ни одно решение не сработает.

Нужно проверить логи пода на Booting worker with pid.


Исправления (v1.0.50)

  1. showStages(): использовать dtFinish этапа
  2. api_operations(): не фильтровать "not created" для tracked UID, добавлять сирот из трекера
  3. Убрать дублирующийся route