Release Gate NO-GO
7

7 release-risk issues blocking release

Resolve, suppress, or document each one before shipping.

0Critical
7High
116Suppressed
Active Issues
8
8 open finding(s) awaiting triage.
Next Tests
12
Autonomous QA actions queued for the next run.
Latest Run
continuous-20260606T053136Z
9789b140ad5c / clean / 2026-06-06 05:31:36 UTC
Coverage Areas
47
Area-level check volume and latest evidence.

Active Issues

Product-risk findings first, with triage controls and implementation handover tickets.

IssueSeverityStatusLaneAreaEvidenceLast SeenTriage
#124 appcheck.blocking_token_fetch_ignores_failure_backoff high new exploratory
android
technical Blocking App Check token fetch ignores failure backoff

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.

Steps to reproduce
  1. Use branch main at commit 9789b140ad5c and target Mobile Inventory continuous QA cycle.
  2. Rerun test continuous_mobile_inventory_qa; the latest run did not store a shell command, so use its artifact trail for the exact invocation.
  3. Open run continuous-20260606T053136Z and its artifact.
  4. Verify phase getTokenBlocking_backoff_guard still records FAIL: 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
Handover ticket for implementation agent

Summary

Issue #124: Blocking App Check token fetch ignores failure backoff

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.

Severity
high
Status
new
Area
technical
Surface
android
Lane
exploratory
Fingerprint
appcheck.blocking_token_fetch_ignores_failure_backoff

Reproduce

  1. Use commit 9789b140ad5c on branch main.
  2. Rerun test continuous_mobile_inventory_qa; the latest run did not store a shell command, so use its artifact trail for the exact invocation.
  3. Open latest run continuous-20260606T053136Z and its artifact root artifact.
  4. Verify the evidence checks below still fail, then inspect the linked source/log artifact.

Treat as release-risk until completed, ignored, or documented as known behavior.

Observed Evidence

  • FAIL getTokenBlocking_backoff_guard continuous-20260606T053136Z
    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
  • FAIL blocking_get_token_respects_failure_backoff continuous-20260606T043112Z
    AppCheckTokenCache.getTokenBlocking() calls fetchTokenFromFirebase() before checking nextAllowedFetchAt, then sets nextAllowedFetchAt after a failure. The async refreshTokenAsync() path does check currentTime < nextAllowedFetchAt before fetching. AuditLogRepository requires getTokenBlocking() for audit-log flushes and throws Missing App Check token for audit log request on empty token. AppCheckTokenCacheTest covers getToken() backoff only and does not mention getTokenBlocking(). artifact

Acceptance Criteria

  • The reproduction command above finishes without this issue check failing.
  • The dashboard issue can be marked completed only after a rerun records a passing check for the same area.
  • No product-code behavior should be changed solely to silence the dashboard; keep or update the test evidence.

Related Runs

  • continuous-20260606T053136Z continuous_mobile_inventory_qa / publication / dashboard 1 fail, 1 checks, started 2026-06-06T05:31:36Z
  • continuous-20260606T043112Z technical.appcheck_token_cache.static_contract / publication / testing-repo 1 fail, 1 checks, started 2026-06-06T04:37:44Z

Status History

  • Unknown -> New 2026-06-06T04:37:46Z by qa_store
    AppCheckTokenCache.getTokenBlocking() calls fetchTokenFromFirebase() before checking nextAllowedFetchAt, then sets nextAllowedFetchAt after a failure. The async refreshTokenAsync() path does check currentTime < nextAllowedFetchAt before fetching. AuditLogRepository requires getTokenBlocking() for audit-log flushes and throws Missing App Check token for audi...

Observed 2 time(s), reproduced 2 time(s), first seen 2026-06-06T04:31:12Z, last seen 2026-06-06T05:31:36Z.

2026-06-06 05:31:36 UTC
#111 import.product_import_transaction_commits_on_error high new static
android
imports Product import transaction commits after setup error

ImportDataInserter still calls setTransactionSuccessful() and endTransaction() from Completable.doOnEvent; RxJava invokes doOnEvent on both complete and error, so setup/delete/reference-load failures after beginTransaction can commit.

Steps to reproduce
  1. Use branch main at commit 7b17e8186ecd and target Count from Image field foundation.
  2. Rerun test qa.transactions.count_from_image_field_foundation; the latest run did not store a shell command, so use its artifact trail for the exact invocation.
  3. Open run continuous-20260606T033023Z.
  4. Verify phase check still records FAIL: ImportDataInserter still calls setTransactionSuccessful() and endTransaction() from Completable.doOnEvent; RxJava invokes doOnEvent on both complete and error, so setup/delete/reference-load failures after beginTransaction can commit. artifact
Handover ticket for implementation agent

Summary

Issue #111: Product import transaction commits after setup error

ImportDataInserter still calls setTransactionSuccessful() and endTransaction() from Completable.doOnEvent; RxJava invokes doOnEvent on both complete and error, so setup/delete/reference-load failures after beginTransaction can commit.

Severity
high
Status
new
Area
imports
Surface
android
Lane
static
Fingerprint
import.product_import_transaction_commits_on_error

Reproduce

  1. Use commit 7b17e8186ecd on branch main.
  2. Rerun test qa.transactions.count_from_image_field_foundation; the latest run did not store a shell command, so use its artifact trail for the exact invocation.
  3. Open latest run continuous-20260606T033023Z.
  4. Verify the evidence checks below still fail, then inspect the linked source/log artifact.

Treat as release-risk until completed, ignored, or documented as known behavior.

Observed Evidence

  • FAIL check continuous-20260606T033023Z
    ImportDataInserter still calls setTransactionSuccessful() and endTransaction() from Completable.doOnEvent; RxJava invokes doOnEvent on both complete and error, so setup/delete/reference-load failures after beginTransaction can commit. artifact
  • FAIL product_import_transaction_error_finalizer continuous-20260606T012933Z
    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 import error. artifact

Acceptance Criteria

  • The reproduction command above finishes without this issue check failing.
  • The dashboard issue can be marked completed only after a rerun records a passing check for the same area.
  • No product-code behavior should be changed solely to silence the dashboard; keep or update the test evidence.

Related Runs

  • continuous-20260606T033023Z qa.transactions.count_from_image_field_foundation / publication / dashboard 1 fail, 1 checks, started 2026-06-06T03:38:16Z
  • continuous-20260606T012933Z continuous.environment_health / publication / publication 1 fail, 1 checks, started 2026-06-06T01:29:33Z

Status History

  • Unknown -> New 2026-06-06T01:36:28Z by qa_store
    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 th...

Observed 2 time(s), reproduced 2 time(s), first seen 2026-06-06T01:29:33Z, last seen 2026-06-06T03:30:23Z.

2026-06-06 03:30:23 UTC
#36 unit.user_config_sp.printed_barcode_configs_copy_paths_type_index high new rerun
android
settings printed_barcode_configs_copy_paths

Dedup correction for this run: same source evidence as printer_static_probe.json. applyPrintedBarcodeConfigsSetting writes local SharedPreferences then clears pending printedBarcodeConfigs; it does not store a copied pending value or mirror the copied config into logged-in user settings cache.

Steps to reproduce
  1. Use branch qa at commit baae49601b26 and target continuous.printer_release_static.
  2. Rerun test continuous.printer_release_static; the latest run did not store a shell command, so use its artifact trail for the exact invocation.
  3. Open run continuous-20260605T232907Z.
  4. Verify phase printed_barcode_configs_apply_path_existing_issue_36 still records FAIL: Dedup correction for this run: same source evidence as printer_static_probe.json. applyPrintedBarcodeConfigsSetting writes local SharedPreferences then clears pending printedBarcodeConfigs; it does not store a copied pending value or mirror the copied config into logged-in user settings cache. artifact
Handover ticket for implementation agent

Summary

Issue #36: printed_barcode_configs_copy_paths

Dedup correction for this run: same source evidence as printer_static_probe.json. applyPrintedBarcodeConfigsSetting writes local SharedPreferences then clears pending printedBarcodeConfigs; it does not store a copied pending value or mirror the copied config into logged-in user settings cache.

Severity
high
Status
new
Area
settings
Surface
android
Lane
rerun
Fingerprint
unit.user_config_sp.printed_barcode_configs_copy_paths_type_index

Reproduce

  1. Use commit baae49601b26 on branch qa.
  2. Rerun test continuous.printer_release_static; the latest run did not store a shell command, so use its artifact trail for the exact invocation.
  3. Open latest run continuous-20260605T232907Z.
  4. Verify the evidence checks below still fail, then inspect the linked source/log artifact.

Treat as release-risk until completed, ignored, or documented as known behavior.

Observed Evidence

  • FAIL printed_barcode_configs_apply_path_existing_issue_36 continuous-20260605T232907Z
    Dedup correction for this run: same source evidence as printer_static_probe.json. applyPrintedBarcodeConfigsSetting writes local SharedPreferences then clears pending printedBarcodeConfigs; it does not store a copied pending value or mirror the copied config into logged-in user settings cache. artifact
  • FAIL pending_and_cache_copy_path 20260605T172505Z-continuous
    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
  • FAIL pending_and_cache_copy_path continuous-20260605T162426Z
    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.printedBarcodeConfigsAreCopiedAcrossReaderAndApplyPaths expectations for cached and pending typeIndex 1. artifact
  • FAIL printed_barcode_configs_apply_outlier 20260604T211227-continuous-qa
    Static comparison of adjacent apply*Setting methods found applyPrintedBarcodeConfigsSetting still clears the pending patch instead of mirroring pending/cache state, matching the standing unit expectation in UserConfigSPSettingsCoverageTest. artifact
  • FAIL static_signature_preflight 20260604T190842-62351
    Static source probe on c5ebbb37 found applyPrintedBarcodeConfigsSetting at UserConfigSPCloudSettings.java:1976-1978 still copies local prefs then clears pending state without any pending-patch write or cache-mirror call, matching the standing unit failure at UserConfigSPSettingsCoverageTest.java:775. artifact
  • FAIL printed_barcode_configs_copy_paths auto_20260604_114555
    UserConfigSPSettingsCoverageTest.printedBarcodeConfigsAreCopiedAcrossReaderAndApplyPaths failed: expected cached printed barcode typeIndex 1 after applying local configs, but was 2. 139 tests completed, 1 failed. artifact

Acceptance Criteria

  • The reproduction command above finishes without this issue check failing.
  • The dashboard issue can be marked completed only after a rerun records a passing check for the same area.
  • No product-code behavior should be changed solely to silence the dashboard; keep or update the test evidence.

Related Runs

  • continuous-20260605T232907Z continuous.printer_release_static / publication / publication 1 fail, 1 checks, started 2026-06-05T23:35:53Z
  • 20260605T172505Z-continuous repo.sync.github_master / health / web 1 fail, 1 checks, started 2026-06-05T17:32:34Z
  • continuous-20260605T162426Z repo.sync.github_master / health / web 1 fail, 1 checks, started 2026-06-05T16:24:26Z
  • 20260604T211227-continuous-qa repo.github_sync_worktree / health / repo 1 fail, 1 checks, started 2026-06-04T19:12:27Z
  • 20260604T190842-62351 repo.github_sync_worktree / health / repo 1 fail, 1 checks, started 2026-06-04T17:13:32Z

Status History

  • Unknown -> New 2026-06-05T15:55:02Z by qa_store
    Static source probe on c5ebbb37 found applyPrintedBarcodeConfigsSetting at UserConfigSPCloudSettings.java:1976-1978 still copies local prefs then clears pending state without any pending-patch write or cache-mirror call, matching the standing unit failure at UserConfigSPSettingsCoverageTest.java:775.

Observed 6 time(s), reproduced 6 time(s), first seen 2026-06-04T17:13:32Z, last seen 2026-06-05T23:37:48Z.

2026-06-05 23:37:48 UTC
#84 printing.native_print.android_system_label_size_attributes_ignored high confirmed rerun
android
printing Android system print ignores rendered label size

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.

Steps to reproduce
  1. Use branch qa at commit baae49601b26 and target continuous.printer_release_static.
  2. Rerun test continuous.printer_release_static; the latest run did not store a shell command, so use its artifact trail for the exact invocation.
  3. Open run continuous-20260605T232907Z.
  4. Verify phase native_print_attributes still records FAIL: 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
Handover ticket for implementation agent

Summary

Issue #84: Android system print ignores rendered label size

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.

Severity
high
Status
confirmed
Area
printing
Surface
android
Lane
rerun
Fingerprint
printing.native_print.android_system_label_size_attributes_ignored

Reproduce

  1. Use commit baae49601b26 on branch qa.
  2. Rerun test continuous.printer_release_static; the latest run did not store a shell command, so use its artifact trail for the exact invocation.
  3. Open latest run continuous-20260605T232907Z.
  4. Verify the evidence checks below still fail, then inspect the linked source/log artifact.

Treat as release-risk until completed, ignored, or documented as known behavior.

Observed Evidence

  • FAIL native_print_attributes continuous-20260605T232907Z
    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 native_webview_print_attributes continuous-20260605T202702Z
    NativePrintJobCoordinator builds label-size PrintAttributes from job.labelSize but never uses them; printManager.print(jobName, adapter, null) drops the requested media size. artifact
  • FAIL rendered_label_print_attributes 20260605T172505Z-continuous
    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

Acceptance Criteria

  • The reproduction command above finishes without this issue check failing.
  • The dashboard issue can be marked completed only after a rerun records a passing check for the same area.
  • No product-code behavior should be changed solely to silence the dashboard; keep or update the test evidence.

Related Runs

  • continuous-20260605T232907Z continuous.printer_release_static / publication / publication 1 fail, 1 checks, started 2026-06-05T23:35:53Z
  • continuous-20260605T202702Z android.printer_release_static_probe / publication / publication 1 fail, 1 checks, started 2026-06-05T20:27:02Z
  • 20260605T172505Z-continuous repo.sync.github_master / health / web 1 fail, 1 checks, started 2026-06-05T17:32:34Z

Status History

  • New -> Confirmed 2026-06-05T20:34:48Z by codex-automation
    Reproduced again in continuous-20260605T202702Z via source probe: NativePrintJobCoordinator builds label-size PrintAttributes but calls printManager.print(jobName, adapter, null).
  • Unknown -> New 2026-06-05T17:33:44Z by qa_store
    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...

Observed 3 time(s), reproduced 3 time(s), first seen 2026-06-05T17:32:34Z, last seen 2026-06-05T23:35:53Z.

2026-06-05 23:35:53 UTC
#10 transactions.count_image.tablet_zoom_overlay_missing_preview_view high new rerun
android
transactions Tablet zoom loses Count from Image overlay metadata

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.

Steps to reproduce
  1. Use branch main at commit 4f304a52c668 and target Android checkout master blocked by index lock permission.
  2. Rerun test repo.sync.github_master; the latest run did not store a shell command, so use its artifact trail for the exact invocation.
  3. Open run continuous-20260605T182619Z and its artifact.
  4. Verify phase layout_sw600dp_zoom_target still records FAIL: 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
Handover ticket for implementation agent

Summary

Issue #10: Tablet zoom loses Count from Image overlay metadata

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.

Severity
high
Status
new
Area
transactions
Surface
android
Lane
rerun
Fingerprint
transactions.count_image.tablet_zoom_overlay_missing_preview_view

Reproduce

  1. Use commit 4f304a52c668 on branch main.
  2. Rerun test repo.sync.github_master; the latest run did not store a shell command, so use its artifact trail for the exact invocation.
  3. Open latest run continuous-20260605T182619Z and its artifact root artifact.
  4. Verify the evidence checks below still fail, then inspect the linked source/log artifact.

Treat as release-risk until completed, ignored, or documented as known behavior.

Observed Evidence

  • FAIL layout_sw600dp_zoom_target continuous-20260605T182619Z
    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 layout_sw600dp_zoom_target 20260605T152347Z-continuous-qa
    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
  • FAIL layout_sw600dp_zoom_target 20260605T142358Z-continuous-qa
    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

Acceptance Criteria

  • The reproduction command above finishes without this issue check failing.
  • The dashboard issue can be marked completed only after a rerun records a passing check for the same area.
  • No product-code behavior should be changed solely to silence the dashboard; keep or update the test evidence.

Related Runs

  • continuous-20260605T182619Z repo.sync.github_master / health / web 1 fail, 1 checks, started 2026-06-05T18:26:19Z
  • 20260605T152347Z-continuous-qa repo.sync.detached_worktree / health / repo 1 fail, 1 checks, started 2026-06-05T15:31:29Z
  • 20260605T142358Z-continuous-qa qa.store.jsonl_smoke / health / repo 1 fail, 1 checks, started 2026-06-05T14:28:31Z

Status History

  • Unknown -> New 2026-06-05T14:30:29Z by qa_store
    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 histor...

Observed 3 time(s), reproduced 3 time(s), first seen 2026-06-05T14:30:29Z, last seen 2026-06-05T18:26:19Z.

2026-06-05 18:26:19 UTC
#70 product.count_image.tablet_zoom_overlay_missing high new rerun
android
transactions Tablet count-image zoom drops point overlay

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.

Steps to reproduce
  1. Use branch main at commit 4f304a52c668 and target Android checkout master blocked by index lock permission.
  2. Rerun test repo.sync.github_master; the latest run did not store a shell command, so use its artifact trail for the exact invocation.
  3. Open run continuous-20260605T182619Z and its artifact.
  4. Verify phase product_detail_expanded_image_widget still records FAIL: 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
Handover ticket for implementation agent

Summary

Issue #70: Tablet count-image zoom drops point overlay

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.

Severity
high
Status
new
Area
transactions
Surface
android
Lane
rerun
Fingerprint
product.count_image.tablet_zoom_overlay_missing

Reproduce

  1. Use commit 4f304a52c668 on branch main.
  2. Rerun test repo.sync.github_master; the latest run did not store a shell command, so use its artifact trail for the exact invocation.
  3. Open latest run continuous-20260605T182619Z and its artifact root artifact.
  4. Verify the evidence checks below still fail, then inspect the linked source/log artifact.

Treat as release-risk until completed, ignored, or documented as known behavior.

Observed Evidence

  • FAIL product_detail_expanded_image_widget continuous-20260605T182619Z
    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
  • FAIL sw600dp_expanded_image_widget_type 20260605T082128Z-continuous-qa
    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
  • FAIL count_image_tablet_zoom_overlay 20260605T071940Z-64381.continuous
    Phone product-detail layout uses CountImagePreviewImageView for expanded_image, but the sw600dp variant still uses ImageView. Because zoomImageFromThumb only calls setCountImageValue when expandedImageView is a CountImagePreviewImageView, tablet zoom previews for count-image thumbnails lose the saved point overlay. artifact

Acceptance Criteria

  • The reproduction command above finishes without this issue check failing.
  • The dashboard issue can be marked completed only after a rerun records a passing check for the same area.
  • No product-code behavior should be changed solely to silence the dashboard; keep or update the test evidence.

Related Runs

  • continuous-20260605T182619Z repo.sync.github_master / health / web 1 fail, 1 checks, started 2026-06-05T18:26:19Z
  • 20260605T082128Z-continuous-qa qa.health.github_sync / health / android-web 1 fail, 1 checks, started 2026-06-05T08:21:28Z
  • 20260605T071940Z-64381.continuous qa.continuous / health / android-web 1 fail, 1 checks, started 2026-06-05T07:19:40Z

Status History

  • Unknown -> New 2026-06-05T15:55:12Z by qa_store
    Phone product-detail layout uses CountImagePreviewImageView for expanded_image, but the sw600dp variant still uses ImageView. Because zoomImageFromThumb only calls setCountImageValue when expandedImageView is a CountImagePreviewImageView, tablet zoom previews for count-image thumbnails lose the saved point overlay.

Observed 3 time(s), reproduced 3 time(s), first seen 2026-06-05T07:19:40Z, last seen 2026-06-05T18:26:19Z.

2026-06-05 18:26:19 UTC
#37 lint.dev_debug.bluetooth_printer_missing_permission_errors high new rerun
android
printing bluetooth_printer_missing_permission

Static source probe reproduced this issue. 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.

Steps to reproduce
  1. Use branch main at commit f6c012cc30db and target Android checkout master blocked by index lock permission.
  2. Rerun test repo.sync.github_master; the latest run did not store a shell command, so use its artifact trail for the exact invocation.
  3. Open run 20260605T172505Z-continuous and its artifact.
  4. Verify phase permission_sensitive_calls still records ERROR: 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
Handover ticket for implementation agent

Summary

Issue #37: bluetooth_printer_missing_permission

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.

Severity
high
Status
new
Area
printing
Surface
android
Lane
rerun
Fingerprint
lint.dev_debug.bluetooth_printer_missing_permission_errors

Reproduce

  1. Use commit f6c012cc30db on branch main.
  2. Rerun test repo.sync.github_master; the latest run did not store a shell command, so use its artifact trail for the exact invocation.
  3. Open latest run 20260605T172505Z-continuous and its artifact root artifact.
  4. Verify the evidence checks below still fail, then inspect the linked source/log artifact.

Treat as release-risk until completed, ignored, or documented as known behavior.

Observed Evidence

  • ERROR permission_sensitive_calls 20260605T172505Z-continuous
    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 permission_sensitive_calls continuous-20260605T162426Z
    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 bluetoothDevice.connectGatt(...), and ZebraDirectBlePrinterTransportHelper.java:231 currentGatt.requestMtu(...). Gradle lint could not rerun because the wrapper distribution DNS is blocked. artifact
  • FAIL static_signature_preflight 20260604T190842-62351
    Static source probe on c5ebbb37 still finds the permission-sensitive Bluetooth printer calls that matched the earlier lint failure, including EscPosBluetoothPrinterHelper.java:134 device.getBluetoothClass() and ZebraDirectBlePrinterTransportHelper.java lines 231, 396, and 539. artifact
  • FAIL bluetooth_printer_missing_permission auto_20260604_114555
    app:lintDevDebug found 65 errors and 3108 warnings. First failures are MissingPermission in Bluetooth printer helpers, starting at EscPosBluetoothPrinterHelper.java:134 device.getBluetoothClass(), plus ZebraDirectBlePrinterTransportHelper BLE calls. artifact

Acceptance Criteria

  • The reproduction command above finishes without this issue check failing.
  • The dashboard issue can be marked completed only after a rerun records a passing check for the same area.
  • No product-code behavior should be changed solely to silence the dashboard; keep or update the test evidence.

Related Runs

  • 20260605T172505Z-continuous repo.sync.github_master / health / web 1 fail, 1 checks, started 2026-06-05T17:32:34Z
  • continuous-20260605T162426Z repo.sync.github_master / health / web 1 fail, 1 checks, started 2026-06-05T16:24:26Z
  • 20260604T190842-62351 repo.github_sync_worktree / health / repo 1 fail, 1 checks, started 2026-06-04T17:13:32Z
  • auto_20260604_114555 git.github_master_sync / health / repo 1 fail, 1 checks, started 2026-06-04T09:52:54Z

Status History

  • Unknown -> New 2026-06-05T15:55:02Z by qa_store
    Static source probe on c5ebbb37 still finds the permission-sensitive Bluetooth printer calls that matched the earlier lint failure, including EscPosBluetoothPrinterHelper.java:134 device.getBluetoothClass() and ZebraDirectBlePrinterTransportHelper.java lines 231, 396, and 539.

Observed 4 time(s), reproduced 4 time(s), first seen 2026-06-04T17:13:32Z, last seen 2026-06-05T17:32:34Z.

2026-06-05 17:32:34 UTC
#95 scanner.paywall.continuous_benefit_missing medium new exploratory
android
scanner Scanner+ paywall drops continuous scanning benefit

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.

Steps to reproduce
  1. Use branch main at commit 9db55151bb24 and target Continuous QA environment health.
  2. Rerun test continuous.environment_health; the latest run did not store a shell command, so use its artifact trail for the exact invocation.
  3. Open run continuous-20260605T222910Z and its artifact.
  4. Verify phase scanner_plus_benefit_contract still records FAIL: 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
Handover ticket for implementation agent

Summary

Issue #95: Scanner+ paywall drops continuous scanning benefit

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.

Severity
medium
Status
new
Area
scanner
Surface
android
Lane
exploratory
Fingerprint
scanner.paywall.continuous_benefit_missing

Reproduce

  1. Use commit 9db55151bb24 on branch main.
  2. Rerun test continuous.environment_health; the latest run did not store a shell command, so use its artifact trail for the exact invocation.
  3. Open latest run continuous-20260605T222910Z and its artifact root artifact.
  4. Verify the evidence checks below still fail, then inspect the linked source/log artifact.

Review before release if this area is in scope.

Observed Evidence

  • FAIL scanner_plus_benefit_contract continuous-20260605T222910Z
    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

Acceptance Criteria

  • The reproduction command above finishes without this issue check failing.
  • The dashboard issue can be marked completed only after a rerun records a passing check for the same area.
  • No product-code behavior should be changed solely to silence the dashboard; keep or update the test evidence.

Related Runs

  • continuous-20260605T222910Z continuous.environment_health / publication / publication 1 fail, 1 checks, started 2026-06-05T22:29:10Z

Status History

  • Unknown -> New 2026-06-05T22:36:21Z by qa_store
    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...

Observed 1 time(s), reproduced 1 time(s), first seen 2026-06-05T22:29:10Z, last seen 2026-06-05T22:29:10Z.

2026-06-05 22:29:10 UTC

Recent Runs

Latest run history with check summaries and expandable phase evidence.

RunTestWhat Was TestedLaneSurfaceDevicesStatusChecksFailsInfraStarted
continuous-20260606T053136Z Mobile Inventory continuous QA cycle continuous_mobile_inventory_qa
Mobile Inventory continuous QA cycle
Show 28 recorded checks
StatusSeverityCheckEvidence
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
StatusSeverityCheckEvidence
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
StatusSeverityCheckEvidence
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
StatusSeverityCheckEvidence
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
StatusSeverityCheckEvidence
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

Autonomous Next Tests

Recommended QA work generated from current issue state, coverage staleness, and commit freshness.

PriorityTypeLaneRecommendationUpdated
90 confirm_issue rerun
android
Rerun and confirm issue #124: Blocking App Check token fetch ignores failure backoff Active product issue needs rerun confirmation before release triage treats it as stable evidence. 2026-06-06 06:11:42 UTC
90 confirm_issue rerun
android
Rerun and confirm issue #111: Product import transaction commits after setup error Active product issue needs rerun confirmation before release triage treats it as stable evidence. 2026-06-06 06:11:42 UTC
90 confirm_issue rerun
android
Rerun and confirm issue #36: printed_barcode_configs_copy_paths Active product issue needs rerun confirmation before release triage treats it as stable evidence. 2026-06-06 06:11:42 UTC
90 confirm_issue rerun
android
Rerun and confirm issue #84: Android system print ignores rendered label size Active product issue needs rerun confirmation before release triage treats it as stable evidence. 2026-06-06 06:11:42 UTC
90 confirm_issue rerun
android
Rerun and confirm issue #70: Tablet count-image zoom drops point overlay Active product issue needs rerun confirmation before release triage treats it as stable evidence. 2026-06-06 06:11:42 UTC

Coverage

Area-level check volume, failure count, and most recent evidence timestamp.

AreaChecksFailuresLast Seen
transactions 460 6 2026-06-06 05:40:01 UTC
unassigned 93 1 2026-06-06 05:31:36 UTC
technical 3 2 2026-06-06 05:31:36 UTC
products 2 0 2026-06-06 05:31:36 UTC
publication 6 0 2026-06-06 04:31:12 UTC
infra 69 0 2026-06-06 04:31:12 UTC
source-sync 2 0 2026-06-06 02:37:24 UTC
device 11 0 2026-06-06 02:37:24 UTC
dev-web 1 0 2026-06-06 02:37:24 UTC
continuous-qa 1 0 2026-06-06 02:37:24 UTC
build 20 0 2026-06-06 02:37:24 UTC
count-image 110 0 2026-06-06 01:36:31 UTC
imports 3 1 2026-06-06 01:29:33 UTC
shared-inventory 2 0 2026-06-06 00:29:09 UTC
dashboard 1 0 2026-06-05 23:41:34 UTC
settings 10 7 2026-06-05 23:37:48 UTC
printing 16 5 2026-06-05 23:35:53 UTC
environment 13 0 2026-06-05 23:35:53 UTC
scanner 13 1 2026-06-05 22:29:10 UTC
network 4 0 2026-06-05 19:38:15 UTC
continuous 7 1 2026-06-05 19:36:51 UTC
gradle 1 0 2026-06-05 19:29:30 UTC
repo_sync 1 0 2026-06-05 19:28:00 UTC
web 25 0 2026-06-05 18:26:19 UTC
repo 48 0 2026-06-05 18:26:19 UTC
continuous_qa 47 0 2026-06-05 18:26:19 UTC
android_runtime 37 0 2026-06-05 18:26:19 UTC
android_build 3 0 2026-06-05 18:26:19 UTC
qa_infra 4 4 2026-06-05 17:32:34 UTC
release 2 0 2026-06-05 15:31:29 UTC
qa_strategy 4 0 2026-06-05 10:28:09 UTC
qa-strategy 5 0 2026-06-05 08:21:28 UTC
infrastructure 40 0 2026-06-05 08:21:28 UTC
qa 77 0 2026-06-05 07:19:40 UTC
qa_store 1 0 2026-06-05 02:24:42 UTC
scanner_plus 1 0 2026-06-05 00:15:47 UTC
dev_web 1 0 2026-06-04 23:16:31 UTC
android_host 1 0 2026-06-04 23:16:31 UTC
qa_tooling 2 0 2026-06-04 21:14:14 UTC
qa_learning 3 0 2026-06-04 21:14:14 UTC
localization 1 0 2026-06-04 21:14:14 UTC
release_readiness 1 0 2026-06-04 19:12:27 UTC
bluetooth_printing 3 2 2026-06-04 19:12:27 UTC
tooling 8 0 2026-06-04 18:10:42 UTC
android 1 0 2026-06-04 13:11:12 UTC
strategy 3 0 2026-06-04 10:47:36 UTC
runtime 2 0 2026-06-04 09:52:54 UTC