cq-20260606T063126Z-4469 |
Mobile Inventory continuous QA cycle
continuous_mobile_inventory_qa
|
Mobile Inventory continuous QA cycle
Show 8 recorded checks
| Status | Severity | Check | Evidence |
| INFRA |
medium |
fetch_checkout_pull_github_master |
git fetch --prune github failed with cannot open .git/FETCH_HEAD: Operation not permitted; checkout master failed creating .git/index.lock. Continued on readable qa snapshot. artifact |
| DEVICE_FAIL |
medium |
adb_devices_emulator_package |
adb is not on PATH; emulator boot state, installed package state, logcat, UI dumps, screenshots, and connected tests are invalid for this run. artifact |
| INFRA |
medium |
discover_web_checkout |
WEB_APP_ROOT is unset and linked-projects/web-app is absent, so Web source checks and Android/Web shared sync are not valid in this run. artifact |
| NETWORK_FAIL |
medium |
localhost_dev_ports |
curl to common DEV ports 3000, 5173, and 4173 failed with connection refused; no DEV Web smoke was claimed. artifact |
| FAIL |
high |
blocking_get_token_respects_failure_backoff |
AppCheckTokenCache.getTokenBlocking() calls fetchTokenFromFirebase() before checking nextAllowedFetchAt; refreshTokenAsync() checks cooldown first. AuditLogRepository requires getTokenBlocking() for audit-log flushes. Existing tests cover getToken() backoff but not getTokenBlocking(). artifact |
| NETWORK_FAIL |
medium |
gradle_distribution_resolution |
qa/technical/qa_test_appcheck_token_cache_android.sh could not execute AppCheckTokenCacheTest because the Gradle wrapper failed to download gradle-8.14.3-bin.zip: UnknownHostException services.gradle.org. artifact |
| PASS |
info |
settings_to_save_navigation_contract |
SettingsActivity writes dismissAddTransactionScreenAfterSave, UserSettings/UserConfigSP preserve it, and both PagerAddTransactionsFragment and PagerCounterFragment call the guarded finish path after successful insert. artifact |
| NETWORK_FAIL |
high |
git_push_origin_main |
git push origin main failed: Could not resolve host github.com. Local dashboard commit exists but Cloudflare Pages will not redeploy until push succeeds. artifact |
|
publication |
testing-repo |
not recorded |
finished |
8
1 pass, 0 info, 0 skipped
|
1 |
6 |
2026-06-06 06:31:26 UTC |
continuous-20260606T053136Z |
Mobile Inventory continuous QA cycle
continuous_mobile_inventory_qa
|
Mobile Inventory continuous QA cycle
Show 28 recorded checks
| Status | Severity | Check | Evidence |
| INFRA |
high |
git_fetch_github |
git fetch github --prune failed: cannot open .git/FETCH_HEAD: Operation not permitted. Continuing on local qa snapshot. artifact |
| NETWORK_FAIL |
high |
git_fetch_origin |
git fetch origin --prune failed: Could not resolve host github.com. artifact |
| DEVICE_FAIL |
high |
adb_devices |
adb command is not available, so emulator, installed package, logcat, UI dump, and connected test results are invalid for this run. artifact |
| DEVICE_FAIL |
high |
emulator_list_avds |
emulator command is not available; boot-state and runtime device coverage remain blocked. artifact |
| INFRA |
high |
checkout_discovery |
WEB_APP_ROOT is not set and linked-projects/web-app is missing, so Web source checks and Android/Web shared sync are invalid. artifact |
| INFRA |
high |
common_local_ports |
127.0.0.1 ports 3000, 5173, and 8080 refused connections. artifact |
| INFRA |
high |
default_gradle_user_home |
Focused AppCheck runner failed to create the Gradle wrapper .lck file under /Users/tedbino/.gradle with Operation not permitted. artifact |
| NETWORK_FAIL |
high |
services_gradle_distribution |
With GRADLE_USER_HOME redirected into the run directory, the AppCheck runner failed on UnknownHostException for services.gradle.org. artifact |
| FAIL |
high |
getTokenBlocking_backoff_guard |
Current source still calls fetchTokenFromFirebase() in getTokenBlocking() before any nextAllowedFetchAt guard. refreshTokenAsync() honors the guard, AuditLogRepository requires getTokenBlocking(), and tests do not cover the blocking path. artifact |
| PASS |
info |
source_contract |
Static probe found custom RecyclerView in phone/tablet layouts, threshold 200 wired in fragment, product-count eligibility, LTR/RTL edge detection, drag-to-position behavior, and ineligible thumb hiding. artifact |
| DEVICE_FAIL |
high |
device_runner_startup |
Existing product-list fast-scroll device runner stopped at require_cmd adb; no runtime product verdict was produced. artifact |
| PASS |
info |
constant |
Found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE = 2008 artifact |
| PASS |
info |
string |
Found: transaction_count_from_image_experimental artifact |
| PASS |
info |
picker_array |
Found: @string/transaction_count_from_image_experimental artifact |
| PASS |
info |
json_contract |
Found: count_image_v1 artifact |
| PASS |
info |
legacy_json_contract |
Found: mi_count_image_v1 artifact |
| PASS |
info |
original_image_contract |
Found: originalImage artifact |
| PASS |
info |
latest_points_contract |
Found: points artifact |
| PASS |
info |
no_removed_points_contract |
Not found: @SerializedName(removedPointIndices")" artifact |
| PASS |
info |
no_added_points_contract |
Not found: @SerializedName(addedPoints")" artifact |
| PASS |
info |
image_extraction |
Found: TransactionCountImageFieldValue.getImageValues artifact |
| PASS |
info |
ungated_count_image |
Found: C.isTransactionFieldTypePremiumOrSyncRequired artifact |
| PASS |
info |
count_image_not_premium_colored |
Not found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE artifact |
| PASS |
info |
history_rendering |
Found: isTransactionImageBackedFieldType artifact |
| PASS |
info |
transaction_image_query |
Found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE artifact |
| PASS |
info |
unit_test |
Found: migratesLegacySchemaToOriginalImageAndLatestPoints artifact |
| PASS |
info |
docs |
Found: originalImage + points artifact |
| PASS |
info |
zapcount_dev_primary |
Found: https://api.zapcount.binosol.com artifact |
|
publication |
dashboard |
not recorded |
finished |
68
55 pass, 0 info, 1 skipped
|
1 |
11 |
2026-06-06 05:31:36 UTC |
continuous-20260606T043112Z |
App Check token cache static contract
technical.appcheck_token_cache.static_contract
|
App Check token cache static contract
Show 28 recorded checks
| Status | Severity | Check | Evidence |
| PASS |
info |
constant |
Found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE = 2008 artifact |
| PASS |
info |
string |
Found: transaction_count_from_image_experimental artifact |
| PASS |
info |
picker_array |
Found: @string/transaction_count_from_image_experimental artifact |
| PASS |
info |
json_contract |
Found: count_image_v1 artifact |
| PASS |
info |
legacy_json_contract |
Found: mi_count_image_v1 artifact |
| PASS |
info |
original_image_contract |
Found: originalImage artifact |
| PASS |
info |
latest_points_contract |
Found: points artifact |
| PASS |
info |
no_removed_points_contract |
Not found: @SerializedName(removedPointIndices")" artifact |
| PASS |
info |
no_added_points_contract |
Not found: @SerializedName(addedPoints")" artifact |
| PASS |
info |
image_extraction |
Found: TransactionCountImageFieldValue.getImageValues artifact |
| PASS |
info |
ungated_count_image |
Found: C.isTransactionFieldTypePremiumOrSyncRequired artifact |
| PASS |
info |
count_image_not_premium_colored |
Not found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE artifact |
| PASS |
info |
history_rendering |
Found: isTransactionImageBackedFieldType artifact |
| PASS |
info |
transaction_image_query |
Found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE artifact |
| PASS |
info |
unit_test |
Found: migratesLegacySchemaToOriginalImageAndLatestPoints artifact |
| PASS |
info |
docs |
Found: originalImage + points artifact |
| PASS |
info |
zapcount_dev_primary |
Found: https://api.zapcount.binosol.com artifact |
| PASS |
info |
zapcount_dev_fallback |
Found: https://router-dev.zapcount.com artifact |
| PASS |
info |
zapcount_release_primary |
Found: https://api.zapcount.com:5000 artifact |
| PASS |
info |
zapcount_release_fallback |
Found: https://router.zapcount.com artifact |
| PASS |
info |
zapcount_retry_408 |
Found: status == 408 artifact |
| PASS |
info |
zapcount_retry_429 |
Found: status == 429 artifact |
| PASS |
info |
zapcount_count_uses_image_id |
Found: addFormDataPart(image_id" | Extra CSV fields: /Users/tedbino/Projects/android-mobileinventory/app/src/main/java/ro/bino/inventory/data/remote/zapcount/ZapCountApiClient.kt artifact |
| PASS |
info |
zapcount_count_upload_fallback |
Found: shouldRetryCountWithUpload artifact |
| PASS |
info |
zapcount_log_count_endpoint |
Found: /log-count artifact |
| PASS |
info |
zapcount_log_annotated_image |
Found: image_annotated artifact |
| PASS |
info |
zapcount_annotated_renderer |
Found: object CountImageAnnotatedImageRenderer artifact |
| PASS |
info |
zapcount_update_log_endpoint |
Found: /update-count-log artifact |
|
publication |
testing-repo |
not recorded |
finished_with_product_fail |
65
54 pass, 0 info, 1 skipped
|
1 |
9 |
2026-06-06 04:37:44 UTC |
continuous-20260606T033023Z |
Count from Image field foundation
qa.transactions.count_from_image_field_foundation
|
Count from Image field foundation
Show 28 recorded checks
| Status | Severity | Check | Evidence |
| PASS |
info |
constant |
Found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE = 2008 artifact |
| PASS |
info |
string |
Found: transaction_count_from_image_experimental artifact |
| PASS |
info |
picker_array |
Found: @string/transaction_count_from_image_experimental artifact |
| PASS |
info |
json_contract |
Found: count_image_v1 artifact |
| PASS |
info |
legacy_json_contract |
Found: mi_count_image_v1 artifact |
| PASS |
info |
original_image_contract |
Found: originalImage artifact |
| PASS |
info |
latest_points_contract |
Found: points artifact |
| PASS |
info |
no_removed_points_contract |
Not found: @SerializedName(removedPointIndices")" artifact |
| PASS |
info |
no_added_points_contract |
Not found: @SerializedName(addedPoints")" artifact |
| PASS |
info |
image_extraction |
Found: TransactionCountImageFieldValue.getImageValues artifact |
| PASS |
info |
ungated_count_image |
Found: C.isTransactionFieldTypePremiumOrSyncRequired artifact |
| PASS |
info |
count_image_not_premium_colored |
Not found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE artifact |
| PASS |
info |
history_rendering |
Found: isTransactionImageBackedFieldType artifact |
| PASS |
info |
transaction_image_query |
Found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE artifact |
| PASS |
info |
unit_test |
Found: migratesLegacySchemaToOriginalImageAndLatestPoints artifact |
| PASS |
info |
docs |
Found: originalImage + points artifact |
| PASS |
info |
zapcount_dev_primary |
Found: https://api.zapcount.binosol.com artifact |
| PASS |
info |
zapcount_dev_fallback |
Found: https://router-dev.zapcount.com artifact |
| PASS |
info |
zapcount_release_primary |
Found: https://api.zapcount.com:5000 artifact |
| PASS |
info |
zapcount_release_fallback |
Found: https://router.zapcount.com artifact |
| PASS |
info |
zapcount_retry_408 |
Found: status == 408 artifact |
| PASS |
info |
zapcount_retry_429 |
Found: status == 429 artifact |
| PASS |
info |
zapcount_count_uses_image_id |
Found: addFormDataPart(image_id" | Extra CSV fields: /Users/tedbino/Projects/android-mobileinventory/app/src/main/java/ro/bino/inventory/data/remote/zapcount/ZapCountApiClient.kt artifact |
| PASS |
info |
zapcount_count_upload_fallback |
Found: shouldRetryCountWithUpload artifact |
| PASS |
info |
zapcount_log_count_endpoint |
Found: /log-count artifact |
| PASS |
info |
zapcount_log_annotated_image |
Found: image_annotated artifact |
| PASS |
info |
zapcount_annotated_renderer |
Found: object CountImageAnnotatedImageRenderer artifact |
| PASS |
info |
zapcount_update_log_endpoint |
Found: /update-count-log artifact |
|
publication |
dashboard |
not recorded |
finished |
77
62 pass, 0 info, 1 skipped
|
1 |
13 |
2026-06-06 03:38:16 UTC |
continuous-20260606T023014Z |
Count from Image field foundation
qa.transactions.count_from_image_field_foundation
|
Count from Image field foundation
Show 28 recorded checks
| Status | Severity | Check | Evidence |
| PASS |
info |
constant |
Found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE = 2008 artifact |
| PASS |
info |
string |
Found: transaction_count_from_image_experimental artifact |
| PASS |
info |
picker_array |
Found: @string/transaction_count_from_image_experimental artifact |
| PASS |
info |
json_contract |
Found: count_image_v1 artifact |
| PASS |
info |
legacy_json_contract |
Found: mi_count_image_v1 artifact |
| PASS |
info |
original_image_contract |
Found: originalImage artifact |
| PASS |
info |
latest_points_contract |
Found: points artifact |
| PASS |
info |
no_removed_points_contract |
Not found: @SerializedName(removedPointIndices")" artifact |
| PASS |
info |
no_added_points_contract |
Not found: @SerializedName(addedPoints")" artifact |
| PASS |
info |
image_extraction |
Found: TransactionCountImageFieldValue.getImageValues artifact |
| PASS |
info |
ungated_count_image |
Found: C.isTransactionFieldTypePremiumOrSyncRequired artifact |
| PASS |
info |
count_image_not_premium_colored |
Not found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE artifact |
| PASS |
info |
history_rendering |
Found: isTransactionImageBackedFieldType artifact |
| PASS |
info |
transaction_image_query |
Found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE artifact |
| PASS |
info |
unit_test |
Found: migratesLegacySchemaToOriginalImageAndLatestPoints artifact |
| PASS |
info |
docs |
Found: originalImage + points artifact |
| PASS |
info |
zapcount_dev_primary |
Found: https://api.zapcount.binosol.com artifact |
| PASS |
info |
zapcount_dev_fallback |
Found: https://router-dev.zapcount.com artifact |
| PASS |
info |
zapcount_release_primary |
Found: https://api.zapcount.com:5000 artifact |
| PASS |
info |
zapcount_release_fallback |
Found: https://router.zapcount.com artifact |
| PASS |
info |
zapcount_retry_408 |
Found: status == 408 artifact |
| PASS |
info |
zapcount_retry_429 |
Found: status == 429 artifact |
| PASS |
info |
zapcount_count_uses_image_id |
Found: addFormDataPart(image_id" | Extra CSV fields: /Users/tedbino/Projects/android-mobileinventory/app/src/main/java/ro/bino/inventory/data/remote/zapcount/ZapCountApiClient.kt artifact |
| PASS |
info |
zapcount_count_upload_fallback |
Found: shouldRetryCountWithUpload artifact |
| PASS |
info |
zapcount_log_count_endpoint |
Found: /log-count artifact |
| PASS |
info |
zapcount_log_annotated_image |
Found: image_annotated artifact |
| PASS |
info |
zapcount_annotated_renderer |
Found: object CountImageAnnotatedImageRenderer artifact |
| PASS |
info |
zapcount_update_log_endpoint |
Found: /update-count-log artifact |
|
publication |
dashboard |
not recorded |
finished_with_infra |
67
56 pass, 1 info, 1 skipped
|
0 |
9 |
2026-06-06 02:36:11 UTC |
continuous-20260606T012933Z |
Continuous QA environment health
continuous.environment_health
|
Continuous QA environment health
Show 28 recorded checks
| Status | Severity | Check | Evidence |
| NETWORK_FAIL |
high |
testing_repo_github_fetch |
git fetch --prune origin main failed with Could not resolve host: github.com; testing repo remains ahead 8 and behind 1. artifact |
| INFRA |
high |
android_github_master_sync |
Android checkout has canonical GitHub remotes, but fetch --prune github master failed because .git/FETCH_HEAD cannot be opened: Operation not permitted. artifact |
| INFRA |
high |
web_checkout_discovery |
WEB_APP_ROOT and linked-projects/web-app did not resolve to a Git checkout; Web/source and shared Android-Web tests were skipped as infra. artifact |
| DEVICE_FAIL |
high |
adb_devices |
adb command is not installed or not on PATH, so device state, installed package state, screenshots, UI dumps, and connected Android tests are unavailable. artifact |
| DEVICE_FAIL |
high |
emulator_boot_state |
emulator command is not installed or not on PATH, so AVD boot state and runtime emulator coverage are unavailable. artifact |
| INFRA |
high |
gradle_wrapper_health |
Gradle wrapper could not create or open the distribution lock under /Users/tedbino/.gradle/...gradle-8.14.3-bin.zip.lck: Operation not permitted. artifact |
| NETWORK_FAIL |
high |
dev_web_reachability |
No local DEV Web server responded on 127.0.0.1/localhost common ports 3000, 5173, or 8080. artifact |
| SKIPPED |
info |
import_update_summary_device_harness |
Existing import update summary Android harness was invoked, but it stopped at prerequisite validation because adb is missing; tracked under infra.android.adb_missing. artifact |
| FAIL |
high |
product_import_transaction_error_finalizer |
ImportDataInserter.insertDataIntoDatabaseWithSummary starts a Room transaction before default setup, delete-all, update reference loading, and row insertion. Its Completable.doOnEvent handler unconditionally calls setTransactionSuccessful() before endTransaction(); doOnEvent receives the throwable on error, so setup/default/delete failures can still mark the Room transaction successful and preserve partial import changes while the UI reports the generic i... artifact |
| PASS |
info |
duplicate_inventory_dependency_mapping |
InventoryDuplicationOptions forces products on when transactions are selected; InventoryDuplicateHelper maps skipped locations to the new default location and only copies transaction fields/tags when their corresponding options have mappings. artifact |
| PASS |
info |
import_summary_dialog_binding |
Product import/update summary UI binds changed, created, skipped, stock transaction, custom field, category, unit, and location counts; zero-count optional sections are hidden. artifact |
| PASS |
info |
constant |
Found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE = 2008 artifact |
| PASS |
info |
string |
Found: transaction_count_from_image_experimental artifact |
| PASS |
info |
picker_array |
Found: @string/transaction_count_from_image_experimental artifact |
| PASS |
info |
json_contract |
Found: count_image_v1 artifact |
| PASS |
info |
legacy_json_contract |
Found: mi_count_image_v1 artifact |
| PASS |
info |
original_image_contract |
Found: originalImage artifact |
| PASS |
info |
latest_points_contract |
Found: points artifact |
| PASS |
info |
no_removed_points_contract |
Not found: @SerializedName(removedPointIndices")" artifact |
| PASS |
info |
no_added_points_contract |
Not found: @SerializedName(addedPoints")" artifact |
| PASS |
info |
image_extraction |
Found: TransactionCountImageFieldValue.getImageValues artifact |
| PASS |
info |
ungated_count_image |
Found: C.isTransactionFieldTypePremiumOrSyncRequired artifact |
| PASS |
info |
count_image_not_premium_colored |
Not found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE artifact |
| PASS |
info |
history_rendering |
Found: isTransactionImageBackedFieldType artifact |
| PASS |
info |
transaction_image_query |
Found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE artifact |
| PASS |
info |
unit_test |
Found: migratesLegacySchemaToOriginalImageAndLatestPoints artifact |
| PASS |
info |
docs |
Found: originalImage + points artifact |
| PASS |
info |
zapcount_dev_primary |
Found: https://api.zapcount.binosol.com artifact |
|
publication |
publication |
not recorded |
finished_with_product_bug_and_infra_blockers |
75
56 pass, 0 info, 2 skipped
|
1 |
16 |
2026-06-06 01:29:33 UTC |
continuous-20260606T002909Z |
Continuous QA environment health
continuous.environment_health
|
Continuous QA environment health
Show 28 recorded checks
| Status | Severity | Check | Evidence |
| NETWORK_FAIL |
high |
testing_repo_github_fetch |
git fetch --prune origin main failed with Could not resolve host: github.com; local main remains ahead 6 and behind origin/main by 1. artifact |
| INFRA |
high |
android_github_sync |
Android GitHub remote is configured, but git fetch --prune github master failed with cannot open .git/FETCH_HEAD: Operation not permitted. Tested snapshot remains local qa at baae49601b265f9f117a63aadb1a05ce8bdcdacd. artifact |
| DEVICE_FAIL |
high |
adb_devices |
adb devices -l, emulator boot state, installed package state, screenshots, UI dumps, and connected Android runners could not run because adb is not on PATH in this runtime. artifact |
| DEVICE_FAIL |
high |
emulator_avds |
emulator -list-avds could not run because emulator is not on PATH in this runtime. artifact |
| DEVICE_FAIL |
high |
installed_package_state |
adb shell pm path ro.bino.inventory.dev could not run because adb is not on PATH; installed package state is unknown and no runtime product claim was made. artifact |
| INFRA |
high |
web_checkout_discovery |
No WEB_APP_ROOT is set and linked-projects/web-app/common local checkout paths are absent, so Web source and Android/Web shared sync checks are invalid. artifact |
| INFRA |
high |
dev_web_common_ports |
curl -I checks to localhost ports 3000 and 5173 failed with connection refused; no local DEV Web server was reachable for smoke testing. artifact |
| NETWORK_FAIL |
high |
gradle_wrapper |
GRADLE_USER_HOME=/private/tmp/mobile-inventory-gradle-continuous-20260606T002909Z ./gradlew --version --no-daemon failed while downloading gradle-8.14.3-bin.zip because services.gradle.org could not resolve. artifact |
| NETWORK_FAIL |
high |
public_pages_url_initial |
curl to https://mobile-inventory-testing.pages.dev failed with Could not resolve host from this runtime. artifact |
| PASS |
high |
check |
Static contract checks the protected shared inventory cannot be duplicated or imported from when exportInventory=false. |
| PASS |
high |
check |
Static contract checks duplicate creation and copied rows are grouped under begin/success/end local transaction calls. |
| PASS |
medium |
check |
Static contract checks transaction copying cannot silently run without copied products. |
| PASS |
high |
check |
Static contract checks offline read-only permissions are enforced below UI screens for Firebase-bound writes. |
| PASS |
high |
check |
Static contract checks non-action Firestore writes do not report success until commit completes. |
| PASS |
medium |
check |
Static contract checks shared action catch-up is requested when main product/transaction screens return to foreground. |
| PASS |
info |
constant |
Found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE = 2008 artifact |
| PASS |
info |
string |
Found: transaction_count_from_image_experimental artifact |
| PASS |
info |
picker_array |
Found: @string/transaction_count_from_image_experimental artifact |
| PASS |
info |
json_contract |
Found: count_image_v1 artifact |
| PASS |
info |
legacy_json_contract |
Found: mi_count_image_v1 artifact |
| PASS |
info |
original_image_contract |
Found: originalImage artifact |
| PASS |
info |
latest_points_contract |
Found: points artifact |
| PASS |
info |
no_removed_points_contract |
Not found: @SerializedName(removedPointIndices")" artifact |
| PASS |
info |
no_added_points_contract |
Not found: @SerializedName(addedPoints")" artifact |
| PASS |
info |
image_extraction |
Found: TransactionCountImageFieldValue.getImageValues artifact |
| PASS |
info |
ungated_count_image |
Found: C.isTransactionFieldTypePremiumOrSyncRequired artifact |
| PASS |
info |
count_image_not_premium_colored |
Not found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE artifact |
| PASS |
info |
history_rendering |
Found: isTransactionImageBackedFieldType artifact |
|
publication |
publication |
not recorded |
finished |
74
60 pass, 0 info, 1 skipped
|
0 |
13 |
2026-06-06 00:29:09 UTC |
continuous-20260605T232907Z |
continuous.printer_release_static
continuous.printer_release_static
|
continuous.printer_release_static
Show 28 recorded checks
| Status | Severity | Check | Evidence |
| FAIL |
high |
native_print_attributes |
NativePrintJobCoordinator builds label PrintAttributes from job.labelSize, but rendered WebView printing still calls printManager.print(jobName, adapter, null), so Android system print preview can ignore requested label media size. artifact |
| FAIL |
high |
printed_barcode_configs_apply_path |
applyPrintedBarcodeConfigsSetting writes local SharedPreferences then clears pending printedBarcodeConfigs; it does not store a copied pending value or mirror the copied config into the logged-in user settings cache. The Android snapshot contains UserConfigSPSettingsCoverageTest.printedBarcodeConfigsAreCopiedAcrossReaderAndApplyPaths, but Gradle execution is blocked in this environment. artifact |
| PASS |
info |
bluetooth_permission_gating |
PermissionHelper covers BLUETOOTH_CONNECT and BLUETOOTH_SCAN; DialogPrintBarcodeOptions, DialogBluetoothPrinter, and NativePrintJobCoordinator gate or request permissions before paired-device lookup or direct print helper calls. Transport helpers still suppress MissingPermission, so lint/runtime confirmation remains blocked. artifact |
| NETWORK_FAIL |
info |
environment_health |
Testing repo GitHub fetch blocked by DNS. artifact |
| INFRA |
info |
environment_health |
Android checkout fetch blocked by external checkout .git/FETCH_HEAD permission. artifact |
| DEVICE_FAIL |
info |
environment_health |
adb command is unavailable, so connected Android checks are invalid. artifact |
| DEVICE_FAIL |
info |
environment_health |
emulator command is unavailable, so emulator boot checks are invalid. artifact |
| NETWORK_FAIL |
info |
environment_health |
Gradle wrapper cannot resolve services.gradle.org for printer JVM tests. artifact |
| INFRA |
info |
environment_health |
No WEB_APP_ROOT or linked-projects/web-app checkout is available. artifact |
| PASS |
info |
constant |
Found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE = 2008 artifact |
| PASS |
info |
string |
Found: transaction_count_from_image_experimental artifact |
| PASS |
info |
picker_array |
Found: @string/transaction_count_from_image_experimental artifact |
| PASS |
info |
json_contract |
Found: count_image_v1 artifact |
| PASS |
info |
legacy_json_contract |
Found: mi_count_image_v1 artifact |
| PASS |
info |
original_image_contract |
Found: originalImage artifact |
| PASS |
info |
latest_points_contract |
Found: points artifact |
| PASS |
info |
no_removed_points_contract |
Not found: @SerializedName(removedPointIndices")" artifact |
| PASS |
info |
no_added_points_contract |
Not found: @SerializedName(addedPoints")" artifact |
| PASS |
info |
image_extraction |
Found: TransactionCountImageFieldValue.getImageValues artifact |
| PASS |
info |
ungated_count_image |
Found: C.isTransactionFieldTypePremiumOrSyncRequired artifact |
| PASS |
info |
count_image_not_premium_colored |
Not found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE artifact |
| PASS |
info |
history_rendering |
Found: isTransactionImageBackedFieldType artifact |
| PASS |
info |
transaction_image_query |
Found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE artifact |
| PASS |
info |
unit_test |
Found: migratesLegacySchemaToOriginalImageAndLatestPoints artifact |
| PASS |
info |
docs |
Found: originalImage + points artifact |
| PASS |
info |
zapcount_dev_primary |
Found: https://api.zapcount.binosol.com artifact |
| PASS |
info |
zapcount_dev_fallback |
Found: https://router-dev.zapcount.com artifact |
| PASS |
info |
zapcount_release_primary |
Found: https://api.zapcount.com:5000 artifact |
|
publication |
publication |
not recorded |
finished |
66
55 pass, 0 info, 1 skipped
|
3 |
7 |
2026-06-05 23:35:53 UTC |
continuous-20260605T222910Z |
Continuous QA environment health
continuous.environment_health
|
Continuous QA environment health
Show 28 recorded checks
| Status | Severity | Check | Evidence |
| NETWORK_FAIL |
high |
testing_repo_github_fetch |
git fetch --prune origin main failed with Could not resolve host: github.com; local main remains ahead 2 and behind origin/main by 1. artifact |
| INFRA |
high |
android_github_sync |
Android GitHub remote is configured, but git fetch --prune github master failed with cannot open .git/FETCH_HEAD: Operation not permitted. Tested snapshot remains local qa at baae49601b265f9f117a63aadb1a05ce8bdcdacd. artifact |
| DEVICE_FAIL |
high |
adb_devices |
adb devices -l, boot state, installed package probes, and the Scanner+ device runner could not run because adb is not on PATH in this runtime. artifact |
| DEVICE_FAIL |
high |
emulator_avds |
emulator -list-avds could not run because emulator is not on PATH in this runtime. artifact |
| INFRA |
high |
web_checkout_discovery |
No WEB_APP_ROOT is set and linked-projects/web-app/common local checkout paths are absent, so Web source and Android/Web shared sync checks are invalid. artifact |
| INFRA |
high |
dev_web_common_ports |
curl -I checks to 127.0.0.1 ports 3000, 5173, and 4173 all failed with connection refused; no local DEV Web server was reachable for smoke testing. artifact |
| NETWORK_FAIL |
high |
gradle_wrapper |
GRADLE_USER_HOME=/private/tmp/mobile-inventory-gradle-continuous-20260605T222910Z ./gradlew --version --no-daemon failed while downloading gradle-8.14.3-bin.zip because services.gradle.org could not resolve. artifact |
| NETWORK_FAIL |
high |
public_pages_url_initial |
curl to https://mobile-inventory-testing.pages.dev failed with Could not resolve host from this runtime. artifact |
| FAIL |
medium |
scanner_plus_benefit_contract |
Testing checklist and runner require five Scanner+ benefits including 'Continuous, hands-free scanning', but current Android layout/string resources expose only 4 of 5. Missing layout refs: ['scanner_plus_paywall_benefit_continuous']; missing strings: ['scanner_plus_paywall_benefit_continuous']; mismatches: none. Commit adb18a96 had the continuous row: True; commit 3e979cad lacks it: True; checklist expects it: True; runner asserts it: True. artifact |
| PASS |
high |
scanner_plus_purchase_cta_and_fallback |
Scanner+ dialog queries pro_scanner_monthly_v1, renders formatted price, blocks debug purchases, launches Google Play billing when available, and falls back to the web platform if product details are unavailable. artifact |
| PASS |
medium |
scanner_plus_switch_to_default_action |
Switch action updates favorite scanner to Google/default, emits analytics/state refresh, dismisses the sheet, and shows the toast. artifact |
| DEVICE_FAIL |
high |
scanner_plus_device_runner_prerequisite |
Testing repo Scanner+ paywall runner stopped at prerequisite check: Missing required command: adb. artifact |
| PASS |
info |
constant |
Found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE = 2008 artifact |
| PASS |
info |
string |
Found: transaction_count_from_image_experimental artifact |
| PASS |
info |
picker_array |
Found: @string/transaction_count_from_image_experimental artifact |
| PASS |
info |
json_contract |
Found: count_image_v1 artifact |
| PASS |
info |
legacy_json_contract |
Found: mi_count_image_v1 artifact |
| PASS |
info |
original_image_contract |
Found: originalImage artifact |
| PASS |
info |
latest_points_contract |
Found: points artifact |
| PASS |
info |
no_removed_points_contract |
Not found: @SerializedName(removedPointIndices")" artifact |
| PASS |
info |
no_added_points_contract |
Not found: @SerializedName(addedPoints")" artifact |
| PASS |
info |
image_extraction |
Found: TransactionCountImageFieldValue.getImageValues artifact |
| PASS |
info |
ungated_count_image |
Found: C.isTransactionFieldTypePremiumOrSyncRequired artifact |
| PASS |
info |
count_image_not_premium_colored |
Not found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE artifact |
| PASS |
info |
history_rendering |
Found: isTransactionImageBackedFieldType artifact |
| PASS |
info |
transaction_image_query |
Found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE artifact |
| PASS |
info |
unit_test |
Found: migratesLegacySchemaToOriginalImageAndLatestPoints artifact |
| PASS |
info |
docs |
Found: originalImage + points artifact |
|
publication |
publication |
not recorded |
finished |
69
56 pass, 0 info, 1 skipped
|
1 |
11 |
2026-06-05 22:29:10 UTC |
continuous-20260605T212726Z |
Continuous QA environment health
continuous.environment_health
|
Continuous QA environment health
Show 28 recorded checks
| Status | Severity | Check | Evidence |
| NETWORK_FAIL |
high |
testing_github_sync |
git fetch --prune origin main failed because github.com could not resolve. Local testing snapshot remains main at 625c765a250ce1b1f5024ffa5129a4367223ad92. artifact |
| INFRA |
high |
android_github_sync |
Android GitHub remote is configured, but git fetch --prune github master failed with cannot open .git/FETCH_HEAD: Operation not permitted. Tested snapshot remains local qa at baae49601b265f9f117a63aadb1a05ce8bdcdacd. artifact |
| DEVICE_FAIL |
high |
adb_devices |
adb devices, emulator boot state, and installed package probes could not run because adb is not on PATH in this runtime. artifact |
| DEVICE_FAIL |
high |
emulator_avds |
emulator -list-avds could not run because emulator is not on PATH in this runtime. artifact |
| INFRA |
high |
web_checkout_discovery |
No WEB_APP_ROOT is set and linked-projects/web-app plus the documented fallback checkout path are absent, so Web source and Android/Web shared sync checks are invalid. artifact |
| INFRA |
high |
dev_web_localhost_3000 |
curl -I --max-time 5 http://127.0.0.1:3000 failed with connection refused; no local DEV Web server was reachable for smoke testing. artifact |
| NETWORK_FAIL |
high |
public_pages_url |
curl to https://mobile-inventory-testing.pages.dev failed with Could not resolve host from this runtime. artifact |
| PASS |
info |
constant |
Found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE = 2008 artifact |
| PASS |
info |
string |
Found: transaction_count_from_image_experimental artifact |
| PASS |
info |
picker_array |
Found: @string/transaction_count_from_image_experimental artifact |
| PASS |
info |
json_contract |
Found: count_image_v1 artifact |
| PASS |
info |
legacy_json_contract |
Found: mi_count_image_v1 artifact |
| PASS |
info |
original_image_contract |
Found: originalImage artifact |
| PASS |
info |
latest_points_contract |
Found: points artifact |
| PASS |
info |
no_removed_points_contract |
Not found: @SerializedName(removedPointIndices")" artifact |
| PASS |
info |
no_added_points_contract |
Not found: @SerializedName(addedPoints")" artifact |
| PASS |
info |
image_extraction |
Found: TransactionCountImageFieldValue.getImageValues artifact |
| PASS |
info |
ungated_count_image |
Found: C.isTransactionFieldTypePremiumOrSyncRequired artifact |
| PASS |
info |
count_image_not_premium_colored |
Not found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE artifact |
| PASS |
info |
history_rendering |
Found: isTransactionImageBackedFieldType artifact |
| PASS |
info |
transaction_image_query |
Found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE artifact |
| PASS |
info |
unit_test |
Found: migratesLegacySchemaToOriginalImageAndLatestPoints artifact |
| PASS |
info |
docs |
Found: originalImage + points artifact |
| PASS |
info |
zapcount_dev_primary |
Found: https://api.zapcount.binosol.com artifact |
| PASS |
info |
zapcount_dev_fallback |
Found: https://router-dev.zapcount.com artifact |
| PASS |
info |
zapcount_release_primary |
Found: https://api.zapcount.com:5000 artifact |
| PASS |
info |
zapcount_release_fallback |
Found: https://router.zapcount.com artifact |
| PASS |
info |
zapcount_retry_408 |
Found: status == 408 artifact |
|
publication |
publication |
not recorded |
finished |
74
62 pass, 1 info, 1 skipped
|
0 |
10 |
2026-06-05 21:27:26 UTC |
continuous-20260605T202702Z |
Android system print drops label size attributes
android.printer_release_static_probe
|
Android system print drops label size attributes
Show 28 recorded checks
| Status | Severity | Check | Evidence |
| FAIL |
high |
native_webview_print_attributes |
NativePrintJobCoordinator builds label-size PrintAttributes from job.labelSize but never uses them; printManager.print(jobName, adapter, null) drops the requested media size. artifact |
| PASS |
medium |
native_webview_html_label_size_css |
Rendered-label HTML includes @page and page dimensions derived from labelSize. artifact |
| PASS |
medium |
legacy_android_print_attributes |
Legacy single-label print path passes BarcodeLabelSizeHelper attributes to PrintManager. artifact |
| PASS |
high |
bluetooth_runtime_permissions |
PermissionHelper includes Android 12+ BLUETOOTH_CONNECT and BLUETOOTH_SCAN request/readiness paths. artifact |
| PASS |
high |
bluetooth_manifest_permissions |
Manifest declares BLUETOOTH_CONNECT and BLUETOOTH_SCAN with neverForLocation. artifact |
| PASS |
medium |
printed_barcode_config_copy_regression_guard |
JVM test source covers defensive copies across reader/apply/cache/pending paths, but Gradle execution is blocked in this run. artifact |
| PASS |
medium |
native_print_protocol_routing_regression_guard |
JVM test source covers Android system print aliases and stale Bluetooth protocol override cases, but Gradle execution is blocked in this run. artifact |
| INFRA |
high |
gradle_execution |
Gradle could not run because the wrapper attempted to create gradle-8.14.3-bin.zip.lck under ~/.gradle and received Operation not permitted. artifact |
| PASS |
info |
constant |
Found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE = 2008 artifact |
| PASS |
info |
string |
Found: transaction_count_from_image_experimental artifact |
| PASS |
info |
picker_array |
Found: @string/transaction_count_from_image_experimental artifact |
| PASS |
info |
json_contract |
Found: count_image_v1 artifact |
| PASS |
info |
legacy_json_contract |
Found: mi_count_image_v1 artifact |
| PASS |
info |
original_image_contract |
Found: originalImage artifact |
| PASS |
info |
latest_points_contract |
Found: points artifact |
| PASS |
info |
no_removed_points_contract |
Not found: @SerializedName(removedPointIndices")" artifact |
| PASS |
info |
no_added_points_contract |
Not found: @SerializedName(addedPoints")" artifact |
| PASS |
info |
image_extraction |
Found: TransactionCountImageFieldValue.getImageValues artifact |
| PASS |
info |
ungated_count_image |
Found: C.isTransactionFieldTypePremiumOrSyncRequired artifact |
| PASS |
info |
count_image_not_premium_colored |
Not found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE artifact |
| PASS |
info |
history_rendering |
Found: isTransactionImageBackedFieldType artifact |
| PASS |
info |
transaction_image_query |
Found: TYPE_TRANSACTION_CUSTOM_FIELDS_COUNT_IMAGE artifact |
| PASS |
info |
unit_test |
Found: migratesLegacySchemaToOriginalImageAndLatestPoints artifact |
| PASS |
info |
docs |
Found: originalImage + points artifact |
| PASS |
info |
zapcount_dev_primary |
Found: https://api.zapcount.binosol.com artifact |
| PASS |
info |
zapcount_dev_fallback |
Found: https://router-dev.zapcount.com artifact |
| PASS |
info |
zapcount_release_primary |
Found: https://api.zapcount.com:5000 artifact |
| PASS |
info |
zapcount_release_fallback |
Found: https://router.zapcount.com artifact |
|
publication |
publication |
not recorded |
finished |
71
60 pass, 0 info, 1 skipped
|
1 |
9 |
2026-06-05 20:27:02 UTC |
continuous-20260605T192702Z |
Testing repo baseline captured
repo.testing.status
|
Testing repo baseline captured
Show 16 recorded checks
| Status | Severity | Check | Evidence |
| PASS |
info |
check |
Testing repo started on main at d223ee978d4a90b05ae31e374b48a7f4095d772c, ahead of origin/main by 4 local commits before this run. artifact |
| INFRA |
high |
check |
Android remote github/origin points to https://github.com/alexbusuioc/android-mobileinventory.git, but fetch --prune github master failed with cannot open .git/FETCH_HEAD: Operation not permitted. Checkout master also failed creating .git/index.lock. Tested snapshot remains local qa at baae49601b265f9f117a63aadb1a05ce8bdcdacd. artifact |
| DEVICE_FAIL |
high |
check |
adb devices -l could not run because adb is not on PATH in this runtime. artifact |
| DEVICE_FAIL |
medium |
check |
emulator -list-avds could not run because emulator is not on PATH in this runtime. artifact |
| INFRA |
high |
check |
No WEB_APP_ROOT is set and linked-projects/web-app is absent, so Web source and Android/Web shared sync checks are invalid. artifact |
| NETWORK_FAIL |
high |
check |
curl to https://mobile-inventory-dev.pages.dev failed with Could not resolve host. artifact |
| NETWORK_FAIL |
high |
check |
./gradlew --version attempted to download gradle-8.14.3-bin.zip and failed with UnknownHostException for services.gradle.org. artifact |
| PASS |
info |
check |
python3 qa/continuous/qa_store.py integrity returned ok before event ingestion. artifact |
| PASS |
info |
check |
A valid one-row CSV with quoted comma text and an embedded newline ingested into a throwaway DB and preserved the newline in details. artifact |
| FAIL |
high |
check |
Reproduced issue #5 before the patch: a malformed Count from Image CSV row with an unexpected trailing field crashed at json.dumps(row, sort_keys=True) because DictReader created a None key. artifact |
| PASS |
info |
check |
Added and ran qa/continuous/qa_test_qa_store_ingest_csv.py; valid quoted multiline CSV and malformed overflow CSV both ingest, and overflow fields are preserved in details. artifact |
| PASS |
info |
check |
Static Count from Image field foundation runner passed 54 checks on the readable local Android qa snapshot; guided device verification was skipped because adb is unavailable. artifact |
| PASS |
info |
check |
qa_store.py and qa_test_qa_store_ingest_csv.py compiled successfully after the CSV hardening patch. artifact |
| PASS |
info |
check |
scripts/update_dashboard.py generated public/index.html, dashboard/dashboard.html.gz.b64, and dashboard/metadata.json from the testing repo. artifact |
| NETWORK_FAIL |
high |
check |
git push origin main failed because github.com could not resolve; local main now has unpublished QA-store and dashboard commits. artifact |
| NETWORK_FAIL |
medium |
check |
curl to https://mobile-inventory-testing.pages.dev failed with Could not resolve host, so this runtime could not verify a deployed Pages update. artifact |
|
regression |
android |
not recorded |
finished_with_infra_blockers |
16
7 pass, 0 info, 0 skipped
|
1 |
8 |
2026-06-05 19:27:02 UTC |
continuous-20260605T182619Z |
Android checkout master blocked by index lock permission
repo.sync.github_master
|
Android checkout master blocked by index lock permission
Show 17 recorded checks
| Status | Severity | Check | Evidence |
| INFRA |
high |
github_fetch |
Android GitHub fetch failed before network with error: cannot open .git/FETCH_HEAD: Operation not permitted. Checkout remained on local qa snapshot baae49601b265f9f117a63aadb1a05ce8bdcdacd. artifact |
| INFRA |
high |
checkout_master |
Tracked Android files were clean, but git checkout master failed because the sandbox could not create .git/index.lock in the linked product checkout. Latest GitHub master was not verified. artifact |
| INFRA |
medium |
linked_checkout |
WEB_APP_ROOT was unset, linked-projects/web-app was absent, and nearby common project path search found no Web checkout. Web source checks and sync were not valid this run. artifact |
| DEVICE_FAIL |
high |
adb_smartsocket_startup |
adb devices failed because the daemon could not install the smartsocket listener: Operation not permitted. Connected Android runtime checks were invalid. artifact |
| PASS |
info |
emulator_list_avds |
Emulator inventory lists Pixel_10_Pro, Pixel_5, and Pixel_Tablet. Runtime access is still blocked by adb daemon startup. artifact |
| DEVICE_FAIL |
medium |
adb_pm_path |
Could not query ro.bino.inventory.dev installation state because adb could not connect to its daemon. artifact |
| NETWORK_FAIL |
high |
dns_reachability |
curl -I failed with Could not resolve host for dev-mobileinventory.web.app, web.mi.binosol.com, and dev.inventory.bino.ro. Browser/Web smoke was invalid. artifact |
| NETWORK_FAIL |
medium |
gradle_wrapper_distribution |
./gradlew --version with GRADLE_USER_HOME inside the run directory failed to download Gradle 8.14.3 because services.gradle.org did not resolve. JVM unit/lint coverage was invalid. artifact |
| PASS |
info |
sqlite_integrity_check |
python3 qa/continuous/qa_store.py integrity returned ok before ingesting this run. artifact |
| PASS |
info |
py_compile_qa_store_dashboard |
qa_store.py and scripts/update_dashboard.py compiled with PYTHONPYCACHEPREFIX under the run directory. artifact |
| PASS |
info |
static_contract_device_skipped |
Existing QA runner passed static checks for type constants, JSON contract, ZapCount endpoints/retry/update paths, editor controls, overlay zoom guardrails, and transaction quantity propagation. DEVICE_CHECK=0 because adb was blocked. artifact |
| FAIL |
high |
layout_sw600dp_zoom_target |
Reproduced on local Android snapshot: phone fragment_product_detail expanded_image is CountImagePreviewImageView, tablet sw600dp expanded_image is ImageView, and TransactionsViewModel only attaches count-image overlay metadata when expandedImageView is CountImagePreviewImageView. artifact |
| FAIL |
high |
product_detail_expanded_image_widget |
Same product-detail tablet root cause as issue #10: layout-sw600dp/fragment_product_detail.xml downgrades expanded_image to ImageView while count-image preview thumbnails carry point metadata only through CountImagePreviewImageView. artifact |
| INFO |
info |
next_probe |
When adb recovers, boot Pixel_Tablet and run Count from Image create/edit/save/reopen plus expanded zoom/back-press validation with screenshots, UI dumps, and sanitized logcat. artifact |
| INFO |
info |
remaining_blind_spots |
Remaining blind spots: latest GitHub master verification, connected Android runtime, installed package state, JVM/lint/Gradle checks, DEV Web smoke, Web source checks, and authenticated Android/Web shared sync. artifact |
| NETWORK_FAIL |
high |
push_origin_main |
git push origin main failed after dashboard commit 4f304a52c668489e0c4b77bdbf07f9933e22a5fd because github.com could not resolve. Cloudflare Pages will not redeploy until the local main commits reach GitHub. artifact |
| NETWORK_FAIL |
medium |
pages_url_dns |
curl -I https://mobile-inventory-testing.pages.dev failed with Could not resolve host from this QA runtime, so the public Pages URL could not be verified. artifact |
|
health |
web |
not recorded |
finished_with_product_repro_and_infra_blockers |
17
4 pass, 2 info, 0 skipped
|
2 |
9 |
2026-06-05 18:26:19 UTC |
20260605T172505Z-continuous |
Android checkout master blocked by index lock permission
repo.sync.github_master
|
Android checkout master blocked by index lock permission
Show 20 recorded checks
| Status | Severity | Check | Evidence |
| INFRA |
high |
github_fetch_checkout_pull |
Android checkout has the canonical GitHub remote, but safe sync could not write .git/config or .git/FETCH_HEAD under the linked product checkout. Read-only ls-remote also failed DNS for github.com, so latest GitHub master was not verified; run continued against local qa snapshot baae4960. artifact |
| NETWORK_FAIL |
high |
ls_remote_master |
git ls-remote against https://github.com/alexbusuioc/android-mobileinventory.git failed because github.com could not be resolved. artifact |
| INFRA |
medium |
linked_checkout |
WEB_APP_ROOT was unset, linked-projects/web-app was absent, and no common local Web checkout was discovered. Web source tests and Android/Web source comparison were skipped as infra. artifact |
| DEVICE_FAIL |
high |
adb_smartsocket_startup |
The explicit SDK adb binary exists, but adb devices, boot state, and package listing all failed because the daemon could not install its smartsocket listener: Operation not permitted. artifact |
| PASS |
info |
emulator_list_avds |
The SDK emulator binary listed Pixel_10_Pro, Pixel_5, and Pixel_Tablet. Boot/package checks remained blocked by adb daemon startup failure. artifact |
| DEVICE_FAIL |
medium |
adb_pm_path |
Installed package state could not be queried because adb cannot connect to its daemon under the host socket policy. artifact |
| NETWORK_FAIL |
high |
dns_reachability |
curl -I against dev-mobileinventory.web.app, web.mi.binosol.com, dev.inventory.bino.ro, inventory-dev.bino.ro, and ventorly-dev.web.app failed with DNS resolution errors, so browser/console/network web smoke was invalid. artifact |
| INFRA |
medium |
read_only_checkout_skip |
Gradle/JVM/lint tasks were not valid from this sandbox because the Android product checkout is outside writable roots and Gradle may write project state/build outputs. The wrapper and .gradle-local cache are present, but no build signal was claimed. artifact |
| PASS |
info |
sqlite_integrity_check |
python3 qa/continuous/qa_store.py integrity returned ok before event ingestion. artifact |
| FAIL |
high |
pending_and_cache_copy_path |
Static source probe reproduced issue #36: applyPrintedBarcodeConfigsSetting still copies printedBarcodeConfigs only through super.setPrintedBarcodeConfigs(copyPrintedBarcodeConfigs(...)) and clears the pending field without writing a pending printedBarcodeConfigs patch or mirroring the copied value into logged-in user settings cache. artifact |
| ERROR |
high |
permission_sensitive_calls |
Static source probe reproduced issue #37: Bluetooth helper files still suppress MissingPermission around permission-sensitive calls including getBluetoothClass, getType, getAddress, connectGatt, and requestMtu. The coordinator has a runtime permission guard, but the helper/lint annotation issue remains. artifact |
| ERROR |
high |
csv_ingest |
Throwaway-db repro confirmed issue #5: ingest-csv crashes on a malformed quoted details row with TypeError at json.dumps(row, sort_keys=True), caused by a DictReader None key. artifact |
| PASS |
info |
bridge_contract_static |
Static probe verified printJob/requestNativePrint aliases, @JavascriptInterface methods, product-stream metadata, payload image aliases, and android_system_print protocol alias test coverage on the local Android snapshot. artifact |
| FAIL |
high |
rendered_label_print_attributes |
New static product issue: rendered-label Android system print documents and parses labelSize widthMm/heightMm and even has buildAndroidSystemPrintAttributes(), but printRenderedJobWithAndroidSystemPrint calls printManager.print(jobName, adapter, null). The generated label-size PrintAttributes are dead, so Android system print can ignore the Labelcodes paper/label dimensions and margins for rendered native jobs. artifact |
| INFO |
info |
native_bridge_positive_checks |
Not filed as issues: printJob/requestNativePrint bridge aliases, product metadata streaming, protocol alias routing, and image payload aliases all passed the static probe. Only the unused PrintAttributes path was treated as product failure. artifact |
| INFO |
info |
native_print_bridge_axis |
Changed axis from prior printer settings/protocol routing checks to native print bridge payload shape. The run reproduced issues #36, #37, and #5, and added a new Android system print label-size regression candidate. artifact |
| INFO |
info |
remaining_blind_spots |
Blind spots remain: latest GitHub master verification, connected Android runtime, installed package state, Gradle unit/lint execution, DEV Web smoke, Web checkout source checks, and authenticated Android/Web shared sync. artifact |
| INFO |
info |
next_probe |
Next static-only run should promote a regression probe asserting rendered-label Android system print passes buildAndroidSystemPrintAttributes(job) to PrintManager; after infra recovers, verify Labelcodes Android system print on A4 and 39x25 mm jobs in the WebView. artifact |
| NETWORK_FAIL |
high |
push_origin_main |
git push origin main failed after local dashboard commit because github.com could not be resolved. Cloudflare Pages redeploy is pending network recovery. artifact |
| NETWORK_FAIL |
medium |
pages_url_dns |
curl -I against the static Cloudflare Pages dashboard URL failed because the host could not be resolved from this runtime. This does not validate production availability. artifact |
|
health |
web |
not recorded |
finished |
20
3 pass, 4 info, 0 skipped
|
4 |
9 |
2026-06-05 17:32:34 UTC |
continuous-20260605T162426Z |
Android checkout master blocked by index lock permission
repo.sync.github_master
|
Android checkout master blocked by index lock permission
Show 15 recorded checks
| Status | Severity | Check | Evidence |
| INFRA |
high |
github_fetch_checkout_pull |
The linked Android checkout has the canonical GitHub remote, but fetch --prune github, checkout master, and pull --ff-only github master could not write .git/FETCH_HEAD or .git/index.lock: Operation not permitted. The run continued against local branch qa at baae49601b265f9f117a63aadb1a05ce8bdcdacd; latest GitHub master was not verified. artifact |
| INFRA |
medium |
linked_checkout |
WEB_APP_ROOT was unset, linked-projects/web-app was absent, and the common local Web checkout paths were not present. Web source tests and cross-component source comparisons were skipped as infra, not product failures. |
| DEVICE_FAIL |
high |
adb_smartsocket_startup |
The explicit SDK adb binary exists at /Users/tedbino/Library/Android/sdk/platform-tools/adb, but adb devices -l failed because the daemon could not install its smartsocket listener: Operation not permitted. Connected Android, installed package, logcat, screenshot, and UI dump checks are invalid in this environment. artifact |
| PASS |
info |
emulator_list_avds |
The SDK emulator binary is present and listed Pixel_10_Pro, Pixel_5, and Pixel_Tablet. Boot/package checks still could not run because adb cannot start. artifact |
| NETWORK_FAIL |
high |
dns_reachability |
curl -I against dev-mobileinventory.web.app, web.mi.binosol.com, and dev.inventory.bino.ro failed with Could not resolve host, so browser, console, and network Web smoke checks were invalid. artifact |
| NETWORK_FAIL |
medium |
gradle_wrapper_distribution |
GRADLE_USER_HOME and --project-cache-dir were redirected into the run directory, but ./gradlew --offline --version still attempted to download gradle-8.14.3-bin.zip and failed with UnknownHostException for services.gradle.org. JVM unit and lint checks were skipped as infra. artifact |
| PASS |
info |
sqlite_integrity_check |
python3 qa/continuous/qa_store.py integrity returned ok before event ingestion. |
| FAIL |
high |
pending_and_cache_copy_path |
Static source probe reproduced issue #36 on the local Android snapshot: UserConfigSPCloudSettings.applyPrintedBarcodeConfigsSetting only calls super.setPrintedBarcodeConfigs(copyPrintedBarcodeConfigs(...)) and clearPendingUserSettingValue("printedBarcodeConfigs"). It still does not write a pending printedBarcodeConfigs patch or mirror the copied value into the logged-in user cache, contradicting UserConfigSPSettingsCoverageTest.printedBarcodeConfigsAreCop... artifact |
| ERROR |
high |
permission_sensitive_calls |
Static source probe reproduced issue #37: permission-sensitive Bluetooth calls remain in printer helpers without @RequiresPermission or a local runtime permission guard. Evidence includes EscPosBluetoothPrinterHelper.java:134 device.getBluetoothClass(), ZebraSdkBluetoothPrinterTransportHelper.java:129 bluetoothDevice.getType(), ZebraSdkBluetoothPrinterTransportHelper.java:241 bluetoothDevice.getAddress(), ZebraDirectBlePrinterTransportHelper.java:136 blue... artifact |
| PASS |
info |
web_alias_and_stored_mode_guard |
Fresh printer-path hypothesis passed statically: NativePrintProtocolRouting maps android/android-print/android-system/android-system-print/system/system-print/pdf/pdf-print aliases to ANDROID_SYSTEM_PRINT, keeps the stored Android output mode guard ahead of stale ZPL protocol values, and has NativePrintProtocolRoutingTest.acceptsAndroidSystemPrintAliasesFromWeb coverage. Runtime Web-to-Android bridge validation remains blocked by missing Web checkout and... artifact |
| INFO |
info |
printer_path_axis |
This run changed the meaningful test axis from the prior release-config/tablet-layout pass to printer-path coverage: active printed barcode settings cache/pending behavior, Bluetooth permission readiness, and native print protocol routing aliases under offline/static constraints. artifact |
| INFO |
info |
remaining_blind_spots |
Blind spots remain: latest GitHub master verification, connected Android runtime, installed package state, Gradle unit/lint execution, DEV Web smoke, Web checkout source comparisons, and authenticated Android/Web shared sync. artifact |
| INFO |
info |
next_probe |
Next best run should first restore git/adb/DNS prerequisites; if only static/offline checks remain possible, inspect Labelcodes native bridge import/export payload shape and add a cheap regression probe for Web alias parity across Android native print jobs. artifact |
| NETWORK_FAIL |
high |
push_origin_main |
After committing dashboard snapshot 061bbaa310c337fc183a78a65b880c25b706d13b, git push origin main failed with exit 128 because github.com could not be resolved. Cloudflare Pages will not redeploy until this commit is pushed. artifact |
| NETWORK_FAIL |
medium |
pages_url_dns |
curl -I against https://mobile-inventory-testing.pages.dev/ failed with Could not resolve host in this environment, so the public Pages URL could not be verified locally. artifact |
|
health |
web |
not recorded |
finished |
15
3 pass, 3 info, 0 skipped
|
2 |
7 |
2026-06-05 16:24:26 UTC |
20260605T152347Z-continuous-qa |
Detached worktree Git sync health
repo.sync.detached_worktree
|
Detached worktree Git sync health
Show 20 recorded checks
| Status | Severity | Check | Evidence |
| INFRA |
medium |
worktree_metadata_write |
git fetch/checkout/pull from the managed detached worktree failed because shared .git/worktrees metadata under FETCH_HEAD and index.lock is not writable in this sandbox. artifact |
| NETWORK_FAIL |
high |
github_master_fetch_pull |
The writable base clone switched to local master, but git fetch --prune origin and git pull --ff-only origin master both failed with Could not resolve host: github.com, so latest GitHub master could not be verified. artifact |
| DEVICE_FAIL |
high |
adb_smartsocket_startup |
The explicit SDK adb binary exists, but adb devices -l failed because the daemon could not install its smartsocket listener: Operation not permitted. artifact |
| DEVICE_FAIL |
medium |
adb_pm_path |
Installed package checks for ro.bino.inventory and ro.bino.inventory.dev were invalid because adb cannot start its daemon in this sandbox. artifact |
| PASS |
info |
emulator_list_avds |
The SDK emulator binary is present and listed Pixel_10_Pro, Pixel_5, and Pixel_Tablet. artifact |
| NETWORK_FAIL |
high |
dns_reachability |
curl -I against web.mi.binosol.com, dev-mobileinventory.web.app, and dev.inventory.bino.ro failed with Could not resolve host, so DEV web smoke remained invalid. artifact |
| PASS |
info |
sqlite_integrity_check |
python3 qa/continuous/qa_store.py integrity returned ok when run serially. artifact |
| PASS |
info |
recommend_next_markdown |
recommend-next produced a latest-commit recommendation for the current HEAD; an earlier parallel call produced a SQLite lock and was treated as a probe harness false positive. artifact |
| PASS |
info |
py_compile_local_cache |
qa_store.py compiled successfully with PYTHONPYCACHEPREFIX redirected into the run directory. artifact |
| PASS |
info |
jsonl_quoted_details_dashboard |
JSONL ingest preserved quoted details containing addFormDataPart("image_id", normalizedImageId) and generated a dashboard from a temp DB. artifact |
| ERROR |
high |
csv_ingest |
A one-row CSV fixture with details text addFormDataPart("image_id", normalizedImageId) reproduced the qa_store.py crash at json.dumps(row, sort_keys=True) with TypeError: < not supported between instances of NoneType and str. artifact |
| FAIL |
high |
layout_sw600dp_zoom_target |
The phone product-detail layout binds shared id expanded_image to CountImagePreviewImageView, but layout-sw600dp binds the same id to plain ImageView. TransactionsViewModel.zoomImageFromThumb only copies count-overlay metadata when the zoom target is CountImagePreviewImageView, so tablet zoom drops Count from Image overlay points. artifact |
| PASS |
info |
dev_gplay_application_id_google_services |
Brace-aware productFlavors parsing found distinct active app IDs ro.bino.inventory and ro.bino.inventory.dev, and each active flavor google-services.json contains the expected package. artifact |
| PASS |
info |
target_sdk_exported_components |
All manifest components with intent filters declare android:exported, and exactly one launcher activity is present. artifact |
| INFO |
info |
release_flavor_probe_regex_scope |
Ignored the first flavor probe result because the regex matched signingConfigs dev/gplay blocks before productFlavors; the corrected brace-aware probe passed. artifact |
| INFO |
info |
release_config_axis |
This run changed the exploratory axis from tablet layout-only to active flavor/Firebase/manifest release readiness because app/build.gradle changed recently and runtime/device lanes remained infra-blocked. artifact |
| INFO |
info |
remaining_blind_spots |
Blind spots remain in device-backed Count from Image lifecycle, runtime tablet zoom confirmation, DEV web beyond DNS, shared inventory sync, and JVM/Gradle execution after network recovers. artifact |
| INFO |
info |
next_probe |
If GitHub DNS and adb recover, run a Pixel_Tablet Count from Image launch/background/process-death probe; if only DNS recovers, run Gradle test plus lint for Count Image and release manifest checks. artifact |
| INFO |
info |
promote_release_config_probe |
Promote the brace-aware active flavor Firebase/manifest probe as a cheap latest-commit guard whenever app/build.gradle, AndroidManifest.xml, or google-services.json changes. artifact |
| NETWORK_FAIL |
high |
push_github_qa |
git push origin qa failed with exit 128 because github.com could not be resolved, so remote-review evidence is committed locally but not published to GitHub. artifact |
|
health |
repo |
not recorded |
finished |
20
7 pass, 5 info, 0 skipped
|
2 |
6 |
2026-06-05 15:31:29 UTC |
20260605T142358Z-continuous-qa |
JSONL ingest smoke with quoted details
qa.store.jsonl_smoke
|
JSONL ingest smoke with quoted details
Show 16 recorded checks
| Status | Severity | Check | Evidence |
| PASS |
low |
quoted_details_jsonl |
JSONL preserved quoted details: addFormDataPart("image_id", normalizedImageId) artifact |
| INFRA |
medium |
worktree_metadata_write |
git fetch from the managed detached worktree failed because shared .git/worktrees metadata under FETCH_HEAD is not writable in this sandbox. artifact |
| NETWORK_FAIL |
high |
github_master_fetch_pull |
In the writable base clone, git fetch --prune github and git pull --ff-only github master both failed with 'Could not resolve host: github.com', so latest GitHub master could not be verified. artifact |
| DEVICE_FAIL |
high |
adb_smartsocket_startup |
The explicit SDK adb binary exists, but adb devices -l failed because the daemon could not install its smartsocket listener: Operation not permitted. artifact |
| PASS |
info |
emulator_list_avds |
The SDK emulator binary is present and listed 3 AVDs: Pixel_10_Pro, Pixel_5, and Pixel_Tablet. artifact |
| NETWORK_FAIL |
high |
dns_reachability |
curl -I against dev.inventory.bino.ro and dev-mobileinventory.web.app both failed with 'Could not resolve host', so DEV web smoke remained invalid. artifact |
| PASS |
info |
sqlite_integrity_check |
python3 qa/continuous/qa_store.py integrity returned ok. artifact |
| PASS |
info |
py_compile_local_cache |
qa_store.py compiled successfully with PYTHONPYCACHEPREFIX redirected into the run directory. artifact |
| PASS |
info |
jsonl_quoted_details_dashboard |
JSONL ingest preserved quoted details containing addFormDataPart("image_id", normalizedImageId) against a copy of the qa-branch store. artifact |
| ERROR |
high |
csv_ingest |
A one-row CSV fixture with details text addFormDataPart("image_id", normalizedImageId) reproduced the qa_store.py crash at json.dumps(row, sort_keys=True) with TypeError: '<' not supported between instances of 'NoneType' and 'str'. artifact |
| FAIL |
high |
layout_sw600dp_zoom_target |
The phone product-detail layout binds shared id expanded_image to CountImagePreviewImageView, but layout-sw600dp binds the same id to plain ImageView. TransactionsViewModel.zoomImageFromThumb only copies TransactionCountImageFieldValue when the zoom target is a CountImagePreviewImageView, so tablet zoom drops count overlay points for Count from Image history thumbnails. artifact |
| INFO |
info |
latest_commit_static_shift |
This run used the exploratory slot on a tablet-specific latest-commit risk probe instead of repeating the full count-image foundation replay, because adb and network were still blocked while recent product risk remained in Count from Image layouts. artifact |
| INFO |
info |
remaining_blind_spots |
Blind spots remain in device-backed Count from Image lifecycle, shared inventory sync, DEV web beyond DNS, and JVM execution once Gradle/network recover. artifact |
| INFO |
info |
next_probe |
If GitHub DNS and adb recover, run a device-backed Count from Image launch/background/process-death probe on Pixel_Tablet to confirm the tablet zoom-overlay regression at runtime. artifact |
| INFO |
info |
promote_tablet_static_probe |
Promote the layout-vs-layout-sw600dp zoom-target class parity probe into the regression pool for Count from Image until device coverage is restored. artifact |
| NETWORK_FAIL |
high |
push_github_qa |
git push github qa failed with exit 128 because github.com could not be resolved, so remote-review evidence was committed locally but not published to GitHub. artifact |
|
health |
repo |
not recorded |
finished |
16
5 pass, 4 info, 0 skipped
|
2 |
5 |
2026-06-05 14:28:31 UTC |
2026-06-05-132154 |
Mobile Inventory continuous QA cycle
continuous.qa.cycle
|
Mobile Inventory continuous QA cycle
Show 12 recorded checks
| Status | Severity | Check | Evidence |
| INFRA |
medium |
worktree_metadata_write |
git fetch/checkout/pull from the detached worktree failed because shared .git/worktrees metadata under FETCH_HEAD and index.lock is not writable in this sandbox. artifact |
| NETWORK_FAIL |
high |
github_master_fetch_pull |
The writable base clone switched to master, but git fetch --prune origin and git pull --ff-only origin master both failed with 'Could not resolve host: github.com', so latest GitHub master could not be verified. artifact |
| DEVICE_FAIL |
high |
adb_smartsocket_startup |
The explicit SDK adb binary exists, but adb devices -l failed because the daemon could not install its smartsocket listener: Operation not permitted. artifact |
| PASS |
info |
emulator_list_avds |
The SDK emulator binary is present and listed 3 AVDs: Pixel_10_Pro, Pixel_5, and Pixel_Tablet. artifact |
| NETWORK_FAIL |
high |
dns_reachability |
curl -I https://web.mi.binosol.com/ failed with 'Could not resolve host: web.mi.binosol.com', so DEV web smoke remained invalid. artifact |
| PASS |
info |
sqlite_integrity_check |
python3 qa/continuous/qa_store.py integrity returned ok on the local store. artifact |
| PASS |
info |
py_compile_local_cache |
qa_store.py compiled successfully once PYTHONPYCACHEPREFIX was redirected into the run directory, confirming the earlier failure was host-cache permissions rather than syntax. artifact |
| PASS |
info |
jsonl_quoted_details_dashboard |
JSONL ingest preserved details containing "quoted, comma" content and allowed dashboard generation against a copy of the qa-branch store. artifact |
| INFO |
info |
infra_adaptation |
This run skipped another count-image static replay and used the exploratory slot on JSONL-only evidence flow validation because GitHub DNS and adb restrictions still prevent trustworthy product execution. artifact |
| INFO |
info |
remaining_blind_spots |
Blind spots remain in device-backed Count from Image lifecycle, DEV web smoke beyond DNS, shared inventory sync, and JVM execution under restored Gradle/network conditions. artifact |
| INFO |
info |
next_probe |
If GitHub DNS and adb recover, spend the next exploratory slot on a Count from Image launch/background/process-death probe and emit JSONL evidence directly from the device lane. artifact |
| INFO |
info |
promote_jsonl_smoke |
Keep the JSONL-native qa_store ingest plus dashboard smoke in the stable regression pool until CSV ingestion is hardened or retired for shell-generated evidence. artifact |
|
health |
android-web |
not recorded |
finished |
12
4 pass, 4 info, 0 skipped
|
0 |
4 |
2026-06-05 11:22:05 UTC |
20260605T102220-continuous-qa |
GitHub master sync health
qa.health.github_sync
|
GitHub master sync health
Show 11 recorded checks
| Status | Severity | Check | Evidence |
| INFRA |
medium |
git_sync |
git fetch/pull could not update /Users/tedbino/Projects/android-mobileinventory/.git/worktrees/android-mobileinventory6/FETCH_HEAD or create index.lock, so this run could not verify latest GitHub master. artifact |
| DEVICE_FAIL |
medium |
adb_presence |
`adb` is not installed in this Codex runtime, so connected-device and emulator-backed Android checks were skipped. artifact |
| NETWORK_FAIL |
medium |
dns_reachability |
curl could not resolve dev.inventory.bino.ro, so DEV web smoke coverage was unavailable for this run. artifact |
| NETWORK_FAIL |
medium |
gradle_dependency_resolution |
A writable GRADLE_USER_HOME plus a copied Gradle 8.14.3 distribution still led ./gradlew to download from services.gradle.org and fail with UnknownHostException before TransactionCountImageFieldValueTest could run. artifact |
| PASS |
info |
static_contract |
The static count-from-image contract probe passed 54 source-level checks covering field constants, JSON migration contract, ZapCount endpoints, editor guardrails, and quantity population wiring. artifact |
| SKIPPED |
info |
device_check |
Guided device verification was not attempted because this runtime has no adb binary. artifact |
| ERROR |
high |
csv_ingest |
Ingesting the count-image foundation CSV crashes in qa_store.py at json.dumps(row, sort_keys=True) because row 24 contains an unescaped quote in details (`addFormDataPart("image_id", normalizedImageId)`), which yields a DictReader row with a None key. artifact |
| INFO |
info |
learning_delta |
This run converted the exploratory slot into a pipeline-hardening probe: the count-image foundation script remains a high-signal static regression when adb and network are unavailable, while CSV-based ingestion for quoted details is not yet safe. artifact |
| INFO |
info |
coverage_gap |
Blind spots remain around runtime Count from Image flows, process death, and DEV web integration because Git sync, adb, and DNS are all blocked in this environment. artifact |
| INFO |
info |
next_hypothesis |
Once git metadata permissions and adb are restored, run a device-backed Count from Image launch/background/process-death probe and switch evidence emission to JSONL before any CSV ingestion step. artifact |
| INFO |
info |
promote_to_regression |
Promote a JSONL-native ingest smoke that feeds quoted details into qa_store and verifies dashboard generation, because the current CSV path can block remote-review evidence publication. artifact |
|
health |
android-web |
not recorded |
INFO |
11
1 pass, 4 info, 1 skipped
|
1 |
4 |
2026-06-05 10:28:09 UTC |
20260605T082128Z-continuous-qa |
GitHub master sync health
qa.health.github_sync
|
GitHub master sync health
Show 10 recorded checks
| Status | Severity | Check | Evidence |
| NETWORK_FAIL |
medium |
fetch_ff_pull_origin_master |
git fetch/pull against origin https://github.com/alexbusuioc/android-mobileinventory.git failed with 'Could not resolve host: github.com', so this run could only use local master commit c5ebbb37cf53c69566b8873f64107f49b2f1ec1f. artifact |
| NETWORK_FAIL |
medium |
dev_web_head_request |
curl -I https://ventorly-dev.web.app failed with 'Could not resolve host: ventorly-dev.web.app'. artifact |
| DEVICE_FAIL |
medium |
adb_smartsocket_listener |
ADB exists in the Android SDK, but daemon startup fails because it 'could not install *smartsocket* listener: Operation not permitted'. No emulator or package checks can proceed until that host restriction changes. artifact |
| INFRA |
medium |
gradle_filelock_socket |
Even with GRADLE_USER_HOME redirected into the repo, './gradlew tasks --all' fails before task execution because Gradle cannot create FileLockContentionHandler and reports 'java.net.SocketException: Operation not permitted'. artifact |
| PASS |
info |
sqlite_integrity |
python3 qa/continuous/qa_store.py integrity returned ok. artifact |
| FAIL |
high |
sw600dp_expanded_image_widget_type |
layout-sw600dp/fragment_product_detail.xml defines R.id.expanded_image as ImageView, while TransactionsViewModel.zoomImageFromThumb only applies TransactionCountImageFieldValue when expanded_image is CountImagePreviewImageView. PagerBaseAddTransactionFragment, PagerHistoryFragment, and PagerSummaryFragment all resolve the same activity-level expanded_image, so tablet zoom loses count points across add/history/summary flows. artifact |
| INFO |
info |
tablet_layout_probe |
Broadened the prior tablet count-image suspicion into a reusable resource-parity probe. Only fragment_product_detail.xml showed shared-ID widget drift, which maps directly to the observed count-image zoom defect. artifact |
| INFRA |
medium |
runtime_blockers |
Runtime Android, DEV web, GitHub freshness, and Gradle execution remain blocked by host DNS/socket restrictions, so this run's evidence is limited to local-source and host-health probes. artifact |
| INFO |
info |
next_tablet_runtime_probe |
Next time ADB becomes available, run Pixel_Tablet count-image create/edit/save/reopen plus zoom/back-press validation across summary/history/add flows to confirm the tablet resource drift at runtime. artifact |
| INFO |
info |
static_tablet_layout_parity |
Promote a cheap static base-vs-sw600dp widget-type parity check for shared IDs referenced from Java/Kotlin so tablet-only regressions surface even when device lanes are blocked. artifact |
|
health |
android-web |
not recorded |
FAIL |
10
1 pass, 3 info, 0 skipped
|
1 |
5 |
2026-06-05 08:21:28 UTC |