Files
app-autotest/DOCS/sonnet-missed-bugs.md
T

3.7 KiB

Sonnet — почему ты пропустил эти баги?

Отправлено: 27.07.2026, после v1.0.49 (твой анализ выполнен, НЕ ПОМОГЛО)


Ты предложил 4 правки — мы сделали. Инстанс ВСЁ РАВНО не появляется в списке. Плюс новый баг: вместо для этапов в процессе.

Ты НЕ заметил баг №1: showStages() — для выполняющихся этапов

function showStages(stages){
    stages.forEach(s=>{
        const ok=s.isSuccessful;
        const icon=ok===true?'✅':ok===false?'❌':'⏳';  // ← БАГ

API Nubes для этапа в процессе возвращает isSuccessful: false (или null).
Код интерпретирует false === false (авария).
Но этап просто ещё не завершился — должен быть .

Правильная логика: проверять dtFinish этапа. Если dtFinish нет → .
Если есть и isSuccessful === true. Если есть и false.

Почему ты это пропустил? Код showStages() был в твоём обзоре.


Ты НЕ заметил баг №2: api_operations() теряет инстансы

def api_operations(svc_id):
    tracked = tracker_list()           # ← 5 UID (включая новый)
    tracked_uids = {t["instanceUid"] for t in tracked if t["svcId"] == svc_id}
    instances = get_instances(_client())  # ← Nubes API: только 4 старых
    svc_instances = [i for i in instances
        if i.get("instanceUid") in tracked_uids  # ← новый UID НЕ НАЙДЕН
        and i.get("explainedStatus") not in ("deleted", "not created")]

tracker_add работает (in-memory, мгновенно). Но get_instances() из Nubes API не сразу возвращает только что созданный инстанс.
Фильтр требует чтобы инстанс был В ОБОИХ источниках. Новый UID есть в tracked_uids но отсутствует в instances → выпадает.

Результат: список всегда показывает только старые инстансы, новый — никогда.

Правильная логика: инстансы из трекера, отсутствующие в get_instances(), добавлять напрямую со статусом "creating".

Почему ты это пропустил? Код api_operations() был в твоём обзоре, полностью.


Что мы имеем после твоих рекомендаций

Версия Что делали Результат
v1.0.48 tracker_add синхронно, except:pass инстанса нет
v1.0.49 in-memory dict (твоя рекомендация) инстанса нет
v1.0.49 refreshInstances вместо selectService stages ушли, но инстанса нет

Трекер РАБОТАЕТ — in-memory dict, добавление мгновенное.
НО фильтр api_operations() ВЫБРАСЫВАЕТ новый инстанс потому что Nubes API его ещё не проиндексировал.

Вопрос

Ты проанализировал ВЕСЬ код, включая api_operations() и showStages().
Как ты мог пропустить оба этих бага, которые видны при простой трассировке CREATE-потока?