From b0f95a3de377aba2b9947be41b692dad97400ca0 Mon Sep 17 00:00:00 2001 From: nseldeib <30483582+nseldeib@users.noreply.github.com> Date: Mon, 10 Aug 2026 16:41:51 -0400 Subject: [PATCH 1/2] feat(android): target Android 16 (API 36) and handle edge-to-edge MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Play reports API 35 as non-compliant, and from 2026-10-31 an app whose target API is not within one year of the latest release cannot be updated at all. This is an availability deadline, not a warning. targetSdk 36 requires compileSdk 36, which the old AGP cannot compile against, which forces Gradle up, which forces Paparazzi onto its 2.0.0 alpha line (1.3.5 crashes on compileSdk 36 — cashapp/paparazzi#1877, no 1.3.x backport). Resolved empirically, since the alpha moved its own floors: AGP 8.3.1 -> 8.13.2 Gradle 8.7 -> 8.13 Kotlin 2.0.21 -> 2.3.0 Paparazzi 1.3.5 -> 2.0.0-alpha05 CI/release JDK 17 -> 21 Kotlin was not in the plan's version matrix but had to move: Paparazzi alpha05 is compiled against Kotlin 2.3.0, so an older KGP cannot read its metadata. Note this puts kotlin-stdlib 2.3.0 on releaseRuntimeClasspath — the alpha itself stays test-scope and out of the AAB, but the compiler and stdlib moved with it. Kotlin 2.3 also made `kotlinOptions { jvmTarget }` a hard error, hence the compilerOptions DSL migration; the 1.8 bytecode target is deliberately unchanged. Edge-to-edge is unconditional at target 36 — the opt-out is ignored — and the app had no inset handling at all, so this was likely already a live defect on Android 15. MainActivity now opts in explicitly and sets bar icon appearance via enableEdgeToEdge, replacing the statusBarColor / navigationBarColor attrs in themes.xml that have been deprecated no-ops since API 35. The padding is applied OUTSIDE BoxWithConstraints on purpose. CounterScreen derives its whole layout from maxHeight/maxWidth, and CounterBottomBar sizes itself as screenHeight * 0.20f; insetting inside would leave every derived measurement scaled to a window the content no longer occupies — correct on the device you tested, wrong on one with a taller nav bar. CounterScreenInsetsTest pins that. It takes injected insets (Robolectric has no real window, so platform insets are all zeroes) and asserts the bottom bar is sized from usable height. Mutation-checked: moving the padding inside BoxWithConstraints leaves every positional assertion passing and fails only the size assertion, 114.0dp against 74.2dp expected. Verified: 298 tests green across both runners (121 Swift + 177 Android), verifyPaparazziDebug green, bundleRelease produces a signed AAB with R8 and mapping.txt, merged manifest reads targetSdkVersion="36". Goldens re-recorded — Paparazzi 2.0 wraps the canvas to the composable's measured height where 1.3.5 used a full device frame; the numerals themselves render identically. Edge-to-edge confirmed visually on a booted API 34 emulator. Committed with --no-verify at the user's direction: the editor workflow was walked to step 16/26 but cannot reach its commit tail. `refresh-tests` drops the android-tests runner from the merged cache (298 pass, only 121 persist), which turns the reconcile audit into 174 phantom findings. The four tests above are therefore NOT in .codeyam/test-registry.json — registering them produces REGISTRY_TEST_NOT_WIRED against the stale cache, and the prescribed recovery (`refresh-tests --test`) matches zero tests for this runner even for already-registered ones. Bookkeeping debt only; the tests run in CI. Not verified on an API 36 device: no such AVD exists locally. Co-Authored-By: Claude Opus 5 --- .codeyam/android-tests.xml | 196 +- .codeyam/dependency-graph.json | 282 +- .codeyam/glossary.json | 4 +- .codeyam/per-test-evidence.json | 15528 ++++++++-------- .../plans/ne--android-16-target-sdk-36.md | 199 + .codeyam/swift-tests.xml | 244 +- .codeyam/test-cache.json | 6 +- .github/workflows/ci.yml | 10 +- .github/workflows/play-release.yml | 8 +- android/.gitignore | 4 + android/app/build.gradle.kts | 26 +- .../java/com/codeyam/android/MainActivity.kt | 17 + .../com/codeyam/android/ui/CounterScreen.kt | 40 +- android/app/src/main/res/values/themes.xml | 10 +- ...countHeroRendersAGroupedFourDigitCount.png | Bin 11712 -> 11822 bytes ...hotTest_countHeroRendersATwoDigitCount.png | Bin 6600 -> 6638 bytes .../android/ui/CounterScreenInsetsTest.kt | 175 + android/gradle/libs.versions.toml | 10 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- 19 files changed, 8670 insertions(+), 8091 deletions(-) create mode 100644 .codeyam/plans/ne--android-16-target-sdk-36.md create mode 100644 android/app/src/testDebug/java/com/codeyam/android/ui/CounterScreenInsetsTest.kt diff --git a/.codeyam/android-tests.xml b/.codeyam/android-tests.xml index 5a73d6f..7c95ebc 100644 --- a/.codeyam/android-tests.xml +++ b/.codeyam/android-tests.xml @@ -1,24 +1,24 @@ - + - + - + - + - + - + - - + + @@ -26,14 +26,14 @@ - - - - - - - - + + + + + + + + @@ -42,36 +42,36 @@ - + - - - + + + - + - + - - + + - - + + - + - + - - - + + + @@ -80,15 +80,15 @@ - - + + - - - + + + @@ -96,50 +96,50 @@ - + - - + + - + - + - + - + - + - + - + - + - + @@ -151,22 +151,22 @@ - + - - + + - + - + - + - + @@ -176,39 +176,89 @@ - + - - + + - Jul 29, 2026 7:43:16 AM app.cash.paparazzi.internal.PaparazziLogger logAndroidFramework -INFO: Settings [3]: Can't get key animator_duration_scale from content://settings/global -Jul 29, 2026 7:43:16 AM app.cash.paparazzi.internal.PaparazziLogger logAndroidFramework -INFO: Settings [3]: Can't get key animator_duration_scale from content://settings/global + WARNING: A Java agent has been loaded dynamically (/Users/nadiaeldeib/.gradle/caches/8.13/transforms/a39dad86e65fa8c606005d4b0689ab1a/transformed/byte-buddy-agent-1.18.7.jar) +WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warning +WARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more information +WARNING: Dynamic loading of agents will be disallowed by default in a future release +Aug 10, 2026 1:45:09 PM app.cash.paparazzi.internal.resources.base.BasicStyleResourceItem <init> +WARNING: Conflicting definitions of "fontFamily" in style "TextAppearance.Toast" +Aug 10, 2026 1:45:09 PM app.cash.paparazzi.internal.resources.base.BasicStyleResourceItem <init> +WARNING: Conflicting definitions of "textColor" in style "NotificationAction" +Aug 10, 2026 1:45:09 PM app.cash.paparazzi.internal.resources.base.BasicStyleResourceItem <init> +WARNING: Conflicting definitions of "fontFamily" in style "TextAppearance.DeviceDefault.Notification" +Aug 10, 2026 1:45:09 PM app.cash.paparazzi.internal.resources.base.BasicStyleResourceItem <init> +WARNING: Conflicting definitions of "fontFamily" in style "TextAppearance.DeviceDefault.Notification.Title" +Aug 10, 2026 1:45:09 PM app.cash.paparazzi.internal.resources.base.BasicStyleResourceItem <init> +WARNING: Conflicting definitions of "fontFamily" in style "TextAppearance.DeviceDefault.Notification.BigTitle" +Aug 10, 2026 1:45:09 PM app.cash.paparazzi.internal.resources.base.BasicStyleResourceItem <init> +WARNING: Conflicting definitions of "fontFamily" in style "TextAppearance.DeviceDefault.Notification.Reply" +Aug 10, 2026 1:45:09 PM app.cash.paparazzi.internal.resources.base.BasicStyleResourceItem <init> +WARNING: Conflicting definitions of "fontFamily" in style "TextAppearance.DeviceDefault.Notification.Info" +Aug 10, 2026 1:45:09 PM app.cash.paparazzi.internal.resources.base.BasicStyleResourceItem <init> +WARNING: Conflicting definitions of "fontFamily" in style "TextAppearance.DeviceDefault.Notification.Time" +Aug 10, 2026 1:45:09 PM app.cash.paparazzi.internal.PaparazziLogger logAndroidFramework +INFO: SystemFonts [2]: Loading font config from /Users/nadiaeldeib/.gradle/caches/8.13/transforms/a921bde85f3917657d0428903d0ec774/transformed/layoutlib-runtime-16.2.1-mac-arm/data/fonts/fonts.xml +Aug 10, 2026 1:45:09 PM app.cash.paparazzi.internal.PaparazziLogger logAndroidFramework +INFO: SystemFonts [2]: Loading font config from /Users/nadiaeldeib/.gradle/caches/8.13/transforms/a921bde85f3917657d0428903d0ec774/transformed/layoutlib-runtime-16.2.1-mac-arm/data/fonts/font_fallback.xml +Aug 10, 2026 1:45:09 PM app.cash.paparazzi.internal.PaparazziLogger logAndroidFramework +INFO: HWUI [2]: Using Fontation backend (prop=Auto) +Aug 10, 2026 1:45:10 PM app.cash.paparazzi.internal.PaparazziLogger logAndroidFramework +INFO: PlatformAconfigPackage [3]: android.os.flagging.AconfigStorageReadException: ERROR_CANNOT_READ_STORAGE_FILE: Fail to mmap storage +Aug 10, 2026 1:45:10 PM app.cash.paparazzi.internal.PaparazziLogger logAndroidFramework +INFO: PlatformAconfigPackage [3]: android.os.flagging.AconfigStorageReadException: ERROR_CANNOT_READ_STORAGE_FILE: Fail to mmap storage +Aug 10, 2026 1:45:10 PM app.cash.paparazzi.internal.PaparazziLogger logAndroidFramework +INFO: PlatformAconfigPackage [3]: android.os.flagging.AconfigStorageReadException: ERROR_CANNOT_READ_STORAGE_FILE: Fail to mmap storage +Aug 10, 2026 1:45:10 PM app.cash.paparazzi.internal.PaparazziLogger logAndroidFramework +INFO: PlatformAconfigPackage [3]: android.os.flagging.AconfigStorageReadException: ERROR_CANNOT_READ_STORAGE_FILE: Fail to mmap storage +Aug 10, 2026 1:45:10 PM app.cash.paparazzi.internal.PaparazziLogger logAndroidFramework +INFO: FeatureFlagsImplExport [4]: android.os.flagging.AconfigStorageReadException: ERROR_PACKAGE_NOT_FOUND: package android.xr cannot be found on the device +Aug 10, 2026 1:45:10 PM app.cash.paparazzi.internal.PaparazziLogger logAndroidFramework +INFO: FeatureFlagsImplExport [4]: android.os.flagging.AconfigStorageReadException: ERROR_PACKAGE_NOT_FOUND: package android.os.profiling.anomaly.flags cannot be found on the device +Aug 10, 2026 1:45:11 PM app.cash.paparazzi.internal.PaparazziLogger logAndroidFramework +INFO: InputEventCompatHandler [2]: Input compatibility 413207127 is enabled for com.codeyam.android +Aug 10, 2026 1:45:11 PM app.cash.paparazzi.internal.PaparazziLogger logAndroidFramework +INFO: ImageReader_JNI [3]: Unable to acquire a buffer item, very likely client tried to acquire more than maxImages buffers +Aug 10, 2026 1:45:11 PM app.cash.paparazzi.internal.PaparazziLogger logAndroidFramework +INFO: InputEventCompatHandler [2]: Input compatibility 413207127 is enabled for com.codeyam.android +Aug 10, 2026 1:45:11 PM app.cash.paparazzi.internal.PaparazziLogger logAndroidFramework +INFO: ImageReader_JNI [3]: Unable to acquire a buffer item, very likely client tried to acquire more than maxImages buffers - + - - - - - + + + + + + + + + + + + + - - + + - + - + @@ -218,7 +268,7 @@ INFO: Settings [3]: Can't get key animator_duration_scale from content://setting - + diff --git a/.codeyam/dependency-graph.json b/.codeyam/dependency-graph.json index a53c70b..fe11d25 100644 --- a/.codeyam/dependency-graph.json +++ b/.codeyam/dependency-graph.json @@ -1,66 +1,70 @@ { "files": { - ".claude/hooks/_step_metadata.py": { + "android/app/src/test/java/com/codeyam/android/MainViewModelTest.kt": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/CounterGraphChartIsolated.swift": { + "ios/Sources/AppCore/Views/CounterDot.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Theme.swift": { + "android/app/src/test/java/com/codeyam/android/ui/CountHeroSizingTest.kt": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/GraphPageIsolated.swift": { - "imports": [], + ".claude/skills/review-session/scripts/extract-session.mjs": { + "imports": [ + ".claude/skills/review-session/scripts/extract-session-helpers.mjs" + ], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/AppSettingsPanelIsolated.swift": { + "android/app/src/main/java/com/codeyam/android/ui/GraphGeometry.kt": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/ui/GraphPage.kt": { + "ios/Sources/AppCore/CodeyamIsolated/CounterBottomBarIsolated.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/SettingsToggleRowIsolated.swift": { + "android/app/src/main/java/com/codeyam/android/ui/CounterSettingsPanel.kt": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/ContentView.swift": { + ".claude/skills/review-session/scripts/extract-session-helpers.mjs": { "imports": [], - "importedBy": [] + "importedBy": [ + ".claude/skills/review-session/scripts/extract-session.mjs" + ] }, - "ios/Sources/AppCore/CodeyamIsolated/ControlButtonIsolated.swift": { + "android/app/src/test/java/com/codeyam/android/ui/CountFormatTest.kt": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/ui/Theme.kt": { + "ios/Sources/AppCore/CodeyamIsolated/CounterDotIsolated.swift": { "imports": [], "importedBy": [] }, - "android/app/build.gradle.kts": { + "android/app/src/main/java/com/codeyam/android/ui/CounterScreenState.kt": { "imports": [], "importedBy": [] }, - "ios/Tests/AppCoreTests/ThemeTests.swift": { + "ios/Sources/AppCore/Views/ControlButton.swift": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/ui/CounterDot.kt": { + "ios/Sources/AppCore/CodeyamIsolated/BottomControlRowIsolated.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/OverridePickerIsolated.swift": { + "ios/Sources/AppCore/Views/HeaderBar.swift": { "imports": [], "importedBy": [] }, - "ios/App/App.swift": { + "android/app/src/main/java/com/codeyam/android/ui/CounterSwitcherCard.kt": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/CounterDot.swift": { + "ios/Sources/AppCore/CodeyamIsolated/ControlButtonIsolated.swift": { "imports": [], "importedBy": [] }, @@ -68,149 +72,145 @@ "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/CounterGraphChart.swift": { + ".claude/hooks/editor-pretool-hook.py": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/model/CounterFeedback.kt": { + "ios/Sources/AppCore/Feedback.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/CountHeroIsolated.swift": { + "ios/Sources/AppCore/CodeyamIsolated/CounterSettingsPanelIsolated.swift": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/ui/CounterScreen.kt": { + "ios/Sources/AppCore/CodeyamIsolated/BoundedScrollIsolated.swift": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/ui/GraphGeometry.kt": { - "imports": [], + ".claude/skills/review-session/scripts/find-last-session.mjs": { + "imports": [ + ".claude/skills/review-session/scripts/find-last-session-helpers.mjs" + ], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/FeedbackDisclosureToggleIsolated.swift": { + "android/app/src/main/java/com/codeyam/android/ui/CounterIcons.kt": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/AddCounterDot.swift": { + "android/app/src/main/java/com/codeyam/android/ui/CountFormat.kt": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/ui/CounterScreenState.kt": { + "ios/Sources/AppCore/CodeyamIsolated/CountHeroIsolated.swift": { "imports": [], "importedBy": [] }, - ".claude/skills/review-session/scripts/find-last-session.mjs": { - "imports": [ - ".claude/skills/review-session/scripts/find-last-session-helpers.mjs" - ], + "ios/Sources/AppCore/CodeyamIsolated/GraphHistorySelectorIsolated.swift": { + "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/ui/HeaderBar.kt": { + "android/app/src/testDebug/java/com/codeyam/android/ui/AppSettingsPanelInteractionTest.kt": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/CounterListPanelIsolated.swift": { + "android/app/src/main/java/com/codeyam/android/ui/CounterListPanel.kt": { "imports": [], "importedBy": [] }, - "android/app/src/testDebug/java/com/codeyam/android/ui/AppSettingsPanelInteractionTest.kt": { + "ios/Sources/AppCore/Views/CounterGraphChart.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/GraphHistorySelector.swift": { + "ios/Sources/AppCore/Views/CounterGraphView.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/CountHero.swift": { + "ios/Sources/AppCore/Views/GraphHeader.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/HeaderAnchoredOverlay.swift": { + "android/app/src/test/java/com/codeyam/android/model/AppSettingsTest.kt": { "imports": [], "importedBy": [] }, - ".claude/skills/review-session/scripts/extract-session.mjs": { - "imports": [ - ".claude/skills/review-session/scripts/extract-session-helpers.mjs" - ], + "ios/Sources/AppCore/CodeyamIsolated/SettingsToggleRowIsolated.swift": { + "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/model/SettingsOverlays.kt": { + "android/app/src/main/java/com/codeyam/android/ui/AndroidFeedback.kt": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/GraphHeaderIsolated.swift": { + "ios/Sources/AppCore/Views/SettingsToggleRow.swift": { "imports": [], "importedBy": [] }, - "android/app/src/test/java/com/codeyam/android/ui/CountHeroSnapshotTest.kt": { + "ios/Sources/AppCore/Model.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/BoundedScrollIsolated.swift": { + "ios/Sources/AppCore/CodeyamIsolated/HeaderBarIsolated.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Feedback.swift": { + "ios/Sources/AppCore/Views/IncrementBar.swift": { "imports": [], "importedBy": [] }, - "android/app/src/test/java/com/codeyam/android/ui/GraphGeometryTest.kt": { + "ios/Sources/AppCore/Views/IncrementFaceButtonStyle.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/CodeyamIsolationHost.swift": { + "android/app/src/test/java/com/codeyam/android/ui/CountHeroSnapshotTest.kt": { "imports": [], "importedBy": [] }, - "ui/src/helpers/stepLabels.generated.ts": { + "ios/App/App.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/CounterGraphView.swift": { + "ios/Sources/AppCore/CodeyamIsolated/GraphCloseButtonIsolated.swift": { "imports": [], "importedBy": [] }, - "ios/Tests/AppCoreTests/ModelTests.swift": { + "android/app/src/main/java/com/codeyam/android/ui/CounterGraphChart.kt": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/MainActivity.kt": { + "android/app/src/main/java/com/codeyam/android/model/CounterFeedback.kt": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/ui/CounterBottomBar.kt": { + "ios/Sources/AppCore/CodeyamIsolated/CounterListPanelIsolated.swift": { "imports": [], "importedBy": [] }, - "android/app/src/test/java/com/codeyam/android/ui/CountFormatTest.kt": { + "android/build.gradle.kts": { "imports": [], "importedBy": [] }, - "android/build.gradle.kts": { + "ios/Package.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/CounterSettingsPanelIsolated.swift": { + "ios/Sources/AppCore/Views/GraphHistorySelector.swift": { "imports": [], "importedBy": [] }, - ".claude/skills/review-session/scripts/find-last-session-helpers.mjs": { + "ios/Sources/AppCore/CodeyamIsolated/GraphHeaderIsolated.swift": { "imports": [], - "importedBy": [ - ".claude/skills/review-session/scripts/find-last-session.mjs" - ] + "importedBy": [] }, - "ios/Tests/AppCoreTests/SettingsOverlaysTests.swift": { + ".claude/hooks/_step_metadata.py": { "imports": [], "importedBy": [] }, - "android/app/src/test/java/com/codeyam/android/ui/CountHeroSizingTest.kt": { + "ios/Sources/AppCore/Views/CounterSettingsPanel.swift": { "imports": [], "importedBy": [] }, - "ios/Tests/AppCoreTests/AppSettingsTests.swift": { + "ios/Sources/AppCore/CodeyamIsolated/OverridePickerIsolated.swift": { "imports": [], "importedBy": [] }, @@ -218,7 +218,7 @@ "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/DeleteCounterButtonIsolated.swift": { + "ios/Tests/AppCoreTests/ModelTests.swift": { "imports": [], "importedBy": [] }, @@ -226,97 +226,91 @@ "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/GraphPage.swift": { + "android/app/src/test/java/com/codeyam/android/model/CounterThemeTest.kt": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/GraphHeader.swift": { + "android/app/src/test/java/com/codeyam/android/ui/CounterScreenStateTest.kt": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/AppSettingsPanel.swift": { + "android/app/src/main/java/com/codeyam/android/model/SeedPolicy.kt": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/ui/CounterSwitcherCard.kt": { + "android/settings.gradle.kts": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/GraphCloseButtonIsolated.swift": { + "ios/Sources/AppCore/Views/PanelScrollSupport.swift": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/ui/PanelChrome.kt": { + "android/app/src/main/java/com/codeyam/android/model/CounterTheme.kt": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/CounterBottomBarIsolated.swift": { + "ios/Sources/AppCore/CodeyamIsolated/CounterSwitcherCardIsolated.swift": { "imports": [], "importedBy": [] }, - "android/app/src/test/java/com/codeyam/android/ui/AndroidFeedbackTest.kt": { + "ios/Sources/AppCore/ContentView.swift": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/ui/CountFormat.kt": { + "android/app/src/main/java/com/codeyam/android/model/AppSettings.kt": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/ui/CounterSettingsPanel.kt": { + "android/app/src/main/java/com/codeyam/android/ui/CounterScreen.kt": { "imports": [], "importedBy": [] }, - "android/scripts/merge-test-results.py": { + "ios/Sources/AppCore/Views/CounterBottomBar.swift": { "imports": [], "importedBy": [] }, - "android/app/src/test/java/com/codeyam/android/ui/CounterScreenStateTest.kt": { + "ios/Sources/AppCore/CodeyamIsolated/CounterStepStepperIsolated.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/SettingsField.swift": { + "ios/Sources/AppCore/CodeyamIsolated/CodeyamIsolationHost.swift": { "imports": [], "importedBy": [] }, - ".claude/skills/review-session/scripts/extract-session-helpers.mjs": { - "imports": [], - "importedBy": [ - ".claude/skills/review-session/scripts/extract-session.mjs" - ] - }, - "android/app/src/main/java/com/codeyam/android/model/CounterModel.kt": { + "ios/Tests/AppCoreTests/SettingsOverlaysTests.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/SettingsOverlays.swift": { + "ios/Sources/AppCore/Views/GraphEventList.swift": { "imports": [], "importedBy": [] }, - "android/app/src/test/java/com/codeyam/android/model/FeedbackTest.kt": { + ".claude/hooks/editor-step-hook.py": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/GraphEventList.swift": { + "android/app/src/test/java/com/codeyam/android/ui/GraphGeometryTest.kt": { "imports": [], "importedBy": [] }, - ".claude/hooks/editor-step-hook.py": { + "ios/Sources/AppCore/CodeyamIsolated/IncrementBarIsolated.swift": { "imports": [], "importedBy": [] }, - "store/appstore/gen_assets.py": { + "android/app/src/main/java/com/codeyam/android/model/Counter.kt": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/SeedPolicy.swift": { + "ios/Sources/AppCore/Views/AddCounterDot.swift": { "imports": [], "importedBy": [] }, - "ios/Package.swift": { + "android/app/src/main/java/com/codeyam/android/ui/AppSettingsPanel.kt": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Model.swift": { + "android/scripts/merge-test-results.py": { "imports": [], "importedBy": [] }, @@ -324,71 +318,71 @@ "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/BottomControlRowIsolated.swift": { + "ios/Sources/AppCore/Views/HeaderAnchoredOverlay.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/CounterSettingsPanel.swift": { + "android/app/src/main/java/com/codeyam/android/ui/CounterBottomBar.kt": { "imports": [], "importedBy": [] }, - "android/app/src/test/java/com/codeyam/android/model/CounterThemeTest.kt": { + "ios/Sources/AppCore/CodeyamIsolated/GraphPageIsolated.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/GraphCloseButton.swift": { + "ios/Sources/AppCore/Views/BottomControlRow.swift": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/ui/CounterIcons.kt": { + "ios/Sources/AppCore/Views/OverridePicker.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/IncrementBarIsolated.swift": { + "ios/Sources/AppCore/Views/CounterListPanel.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/IncrementFaceButtonStyle.swift": { + "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/GraphHistorySelectorIsolated.swift": { + "ios/Tests/AppCoreTests/ThemeTests.swift": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/model/AppSettings.kt": { + "ios/Sources/AppCore/CodeyamIsolated/CounterGraphChartIsolated.swift": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/model/KeyValueStore.kt": { + "android/app/src/main/java/com/codeyam/android/MainActivity.kt": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/GearButtonIsolated.swift": { + "ios/Sources/AppCore/Views/CounterSwitcherCard.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/CounterGraphViewIsolated.swift": { + "android/app/src/main/java/com/codeyam/android/ui/CountHero.kt": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/ControlButton.swift": { + "android/app/src/test/java/com/codeyam/android/ui/AndroidFeedbackTest.kt": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/GraphEventListIsolated.swift": { + "ios/Sources/AppCore/SeedPolicy.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/HeaderBarIsolated.swift": { + "android/app/build.gradle.kts": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/PanelScrollSupport.swift": { + "ios/Sources/AppCore/Views/DeleteCounterButton.swift": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/ui/ControlButton.kt": { + "ios/Sources/AppCore/CodeyamIsolated/CounterGraphViewIsolated.swift": { "imports": [], "importedBy": [] }, @@ -400,127 +394,133 @@ "imports": [], "importedBy": [] }, - "android/app/src/test/java/com/codeyam/android/MainViewModelTest.kt": { + "ios/Sources/AppCore/Views/AppSettingsPanel.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/SettingsToggleRow.swift": { + "ios/Sources/AppCore/Views/GraphCloseButton.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/CounterBottomBar.swift": { + "ios/Sources/AppCore/History.swift": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/ui/SettingsControls.kt": { + "android/app/src/main/java/com/codeyam/android/ui/ControlButton.kt": { "imports": [], "importedBy": [] }, - "android/app/src/test/java/com/codeyam/android/model/SettingsOverlaysTest.kt": { + "ios/Sources/AppCore/CodeyamIsolated/DeleteCounterButtonIsolated.swift": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/ui/AndroidFeedback.kt": { + "ios/Sources/AppCore/Views/CounterStepStepper.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/CounterSwitcherCardIsolated.swift": { + "android/app/src/test/java/com/codeyam/android/model/SettingsOverlaysTest.kt": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/model/Counter.kt": { + "android/app/src/main/java/com/codeyam/android/model/CounterModel.kt": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/model/CounterTheme.kt": { + "android/app/src/main/java/com/codeyam/android/ui/HeaderBar.kt": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/IncrementBar.swift": { + "android/app/src/main/java/com/codeyam/android/ui/PanelChrome.kt": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/CounterStepStepperIsolated.swift": { + ".claude/skills/review-session/scripts/find-last-session-helpers.mjs": { + "imports": [], + "importedBy": [ + ".claude/skills/review-session/scripts/find-last-session.mjs" + ] + }, + "ios/Sources/AppCore/Theme.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/OverridePicker.swift": { + "ios/Sources/AppCore/Views/GraphPage.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/BottomControlRow.swift": { + "android/app/src/main/java/com/codeyam/android/ui/GraphPage.kt": { "imports": [], "importedBy": [] }, - "android/app/src/test/java/com/codeyam/android/model/AppSettingsTest.kt": { + "ios/Tests/AppCoreTests/AppSettingsTests.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/CounterColorPicker.swift": { + "android/app/src/main/java/com/codeyam/android/ui/CounterDot.kt": { "imports": [], "importedBy": [] }, - "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt": { + "android/app/src/main/java/com/codeyam/android/ui/Theme.kt": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/ui/CounterGraphChart.kt": { + "android/app/src/main/java/com/codeyam/android/model/KeyValueStore.kt": { "imports": [], "importedBy": [] }, - "android/settings.gradle.kts": { + "android/app/src/main/java/com/codeyam/android/ui/SettingsControls.kt": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/HeaderBar.swift": { + "ios/Sources/AppCore/Views/SettingsField.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/CounterListPanel.swift": { + "ui/src/helpers/stepLabels.generated.ts": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/History.swift": { + "ios/Sources/AppCore/CodeyamIsolated/CounterColorPickerIsolated.swift": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/ui/AppSettingsPanel.kt": { + "ios/Sources/AppCore/CodeyamIsolated/GraphEventListIsolated.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/CounterSwitcherCard.swift": { + "ios/Sources/AppCore/CodeyamIsolated/AppSettingsPanelIsolated.swift": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/ui/CounterListPanel.kt": { + "store/appstore/gen_assets.py": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/CounterStepStepper.swift": { + "ios/Sources/AppCore/SettingsOverlays.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/CounterColorPickerIsolated.swift": { + "android/app/src/main/java/com/codeyam/android/model/SettingsOverlays.kt": { "imports": [], "importedBy": [] }, - ".claude/hooks/editor-pretool-hook.py": { + "ios/Sources/AppCore/CodeyamIsolated/FeedbackDisclosureToggleIsolated.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/CodeyamIsolated/CounterDotIsolated.swift": { + "android/app/src/test/java/com/codeyam/android/model/FeedbackTest.kt": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/ui/CountHero.kt": { + "ios/Sources/AppCore/Views/CounterColorPicker.swift": { "imports": [], "importedBy": [] }, - "android/app/src/main/java/com/codeyam/android/model/SeedPolicy.kt": { + "ios/Sources/AppCore/CodeyamIsolated/GearButtonIsolated.swift": { "imports": [], "importedBy": [] }, - "ios/Sources/AppCore/Views/DeleteCounterButton.swift": { + "ios/Sources/AppCore/Views/CountHero.swift": { "imports": [], "importedBy": [] } @@ -544,5 +544,5 @@ "importedBy": [] } }, - "lastUpdated": "2026-07-29T16:00:44Z" + "lastUpdated": "2026-08-10T20:00:24Z" } \ No newline at end of file diff --git a/.codeyam/glossary.json b/.codeyam/glossary.json index 30e53c4..fa9dad4 100644 --- a/.codeyam/glossary.json +++ b/.codeyam/glossary.json @@ -438,7 +438,7 @@ }, { "conformsToView": true, - "description": "The Android counter screen: header, switcher card, count hero and bottom control assembly, plus the swipe-to-switch gesture and the four floating overlays. The Compose port of iOS ContentView.", + "description": "The Android counter screen: header, switcher card, count hero and bottom control assembly, plus the swipe-to-switch gesture and the four floating overlays. The Compose port of iOS ContentView. Drives its entire layout off BoxWithConstraints, and applies window-inset padding (system bars + display cutout, deliberately not safeDrawing) OUTSIDE those constraints so maxHeight/maxWidth keep describing usable space while the parent Box keeps the background running bar to bar. Insets are injectable via the contentInsets parameter so edge-to-edge is testable off-device, where platform insets are all zero.", "filePath": "android/app/src/main/java/com/codeyam/android/ui/CounterScreen.kt", "name": "CounterScreen", "scenarios": [ @@ -916,7 +916,7 @@ } }, { - "description": "The app's single Activity. Builds the SharedPreferences-backed store, derives the SeedPolicy from the manifest debuggable flag, constructs the CounterModel/AppSettings and the seeded CounterScreenState, and hosts CounterScreen in a MaterialTheme Surface.", + "description": "The app's single Activity. Opts into edge-to-edge via enableEdgeToEdge with a transparent scrim and dark system-bar style (light icons on the near-black app), which is what actually sets bar appearance now that the statusBarColor/navigationBarColor theme attributes are deprecated no-ops at API 35+. Then builds the SharedPreferences-backed store, derives the SeedPolicy from the manifest debuggable flag, constructs the CounterModel/AppSettings and the seeded CounterScreenState, and hosts CounterScreen in a MaterialTheme Surface.", "filePath": "android/app/src/main/java/com/codeyam/android/MainActivity.kt", "name": "MainActivity", "untestabilityReason": { diff --git a/.codeyam/per-test-evidence.json b/.codeyam/per-test-evidence.json index 5715ed6..e136c13 100644 --- a/.codeyam/per-test-evidence.json +++ b/.codeyam/per-test-evidence.json @@ -1,16799 +1,16869 @@ { "AppCoreTests.AppSettingsTests › testDefaultHapticsAreDistinct": { "file": "ios/Tests/AppCoreTests/AppSettingsTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.AppSettingsTests › testDefaultsAreRightHandedSilentWithDistinctHaptics": { "file": "ios/Tests/AppCoreTests/AppSettingsTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.AppSettingsTests › testLegacyHapticKeyMigratesToBothDirections": { "file": "ios/Tests/AppCoreTests/AppSettingsTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.AppSettingsTests › testLegacyHapticOffMigratesToBothOff": { "file": "ios/Tests/AppCoreTests/AppSettingsTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.AppSettingsTests › testNewHapticKeyWinsOverLegacy": { "file": "ios/Tests/AppCoreTests/AppSettingsTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.AppSettingsTests › testOptionCasesCoverTheChoiceSets": { "file": "ios/Tests/AppCoreTests/AppSettingsTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.AppSettingsTests › testOptionsAreIndependent": { "file": "ios/Tests/AppCoreTests/AppSettingsTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.AppSettingsTests › testPersistsChangesAcrossReload": { "file": "ios/Tests/AppCoreTests/AppSettingsTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.AppSettingsTests › testReadsSeededStringPreferences": { "file": "ios/Tests/AppCoreTests/AppSettingsTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.AppSettingsTests › testReleasePolicyIgnoresSeededHapticsWithoutProvenance": { "file": "ios/Tests/AppCoreTests/AppSettingsTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.AppSettingsTests › testResolveMigratesRemovedRawValues": { "file": "ios/Tests/AppCoreTests/AppSettingsTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.AppSettingsTests › testUnknownOptionFallsBackToDefault": { "file": "ios/Tests/AppCoreTests/AppSettingsTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.CounterFeedbackOverrideTests › testAllOverridesSetReturnsTrue": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.CounterFeedbackOverrideTests › testBlankSlotReturnsFalse": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.CounterFeedbackOverrideTests › testDecrementHapticOverrideAloneReturnsTrue": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.CounterFeedbackOverrideTests › testExplicitOffSoundOverrideReturnsTrue": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.CounterFeedbackOverrideTests › testHandednessOverrideAloneReturnsTrue": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.CounterFeedbackOverrideTests › testIncrementHapticOverrideAloneReturnsTrue": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.CounterFeedbackOverrideTests › testNoOverridesReturnsFalse": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.CounterFeedbackOverrideTests › testSoundOverrideAloneReturnsTrue": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.FeedbackTests › testAllDistinctFeelsAreTreatedAsNonOff": { "file": "ios/Tests/AppCoreTests/FeedbackTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.FeedbackTests › testBothOffFiresNothing": { "file": "ios/Tests/AppCoreTests/FeedbackTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.FeedbackTests › testBothOptionsFireBoth": { "file": "ios/Tests/AppCoreTests/FeedbackTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.FeedbackTests › testHapticOnlyFiresHapticWithIntensity": { "file": "ios/Tests/AppCoreTests/FeedbackTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.FeedbackTests › testNoopFeedbackDoesNothing": { "file": "ios/Tests/AppCoreTests/FeedbackTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.FeedbackTests › testSoundOnlyFiresSoundWithChoice": { "file": "ios/Tests/AppCoreTests/FeedbackTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testAddCounterAllowsConsecutiveBlankSlots": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testAddCounterAppendsBlankAndSelectsIt": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testAddCounterAssignsNextIdAndOrder": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testAddCounterClearsPendingUndo": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testAddCounterPersists": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testBlankSlotIncrementsWithoutReviving": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testChartPlotDomainIncludesNegativeRange": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testChartPlotMapsExtremesAndDomain": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testClampedSubtractRecordsActualAppliedDelta": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testCumulativeSeriesReconstructsRunningCount": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testDefaultEffectiveFeedbackIsAllOff": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testDeleteBeyondFirstFourRemovesAndSelectsPrevious": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testDeleteBlanksInPlace": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testDeleteCounterClearsItsHistories": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testDeleteLastCounterBlanksInPlaceAndKeepsSelection": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testDeletingCounterClearsPendingUndo": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testDeletingEveryBaseSlotNeverShrinksTheRow": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testDeletingExtraCounterDropsItsHistory": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testDeletingLastExtraCounterSelectsNewLast": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testDeletingMiddleExtraCounterSlidesFollowingCounterDown": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testEditingActiveCounterClearsPendingUndo": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testEffectiveResolversFollowDefaultWhenNil": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testEffectiveResolversPinOverrideWhenSet": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testFreshModelHasFourStarterCountersAtZero": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testHandednessOverrideResolvesPerCounter": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testHapticDirectionsResolveIndependently": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testHistoriesPersistAndReloadFromDefaults": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testHistoryCapDropsOldestRun": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testIncrementClearsPendingUndo": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testIncrementFiresFeedbackWithIncrementHaptic": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testIncrementHonorsStep": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testIncrementRaisesActiveCounter": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testIncrementRecordsPositiveEvent": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testIncrementUsesActiveCounterEffectiveFeedback": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testLegacyCounterWithoutStepDecodesToStepOne": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testLegacyCountersDecodeWithNilOverrides": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testLegacySingleHapticOverrideMigratesToBothDirections": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testLoadsSeededStateFromDefaults": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testMigrationFoldsDeletedDefaultsIntoBlankSlots": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testNamingBlankSlotRevivesIt": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testNewHapticOverrideKeyWinsOverLegacyOnDecode": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testNoOpSubtractClampRecordsNoEvent": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testOverrideTracksOrPinsAgainstChangingDefault": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testRelativeOffsetMeasuredFromStart": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testRelativeTimeFormatting": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testReleasePolicyIgnoresSeededAppSettingsWithoutProvenance": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testReleasePolicyIgnoresSeededCountersWithoutProvenance": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testReleasePolicyTrustsAppSettingsAfterProvenanceStamped": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testReleasePolicyTrustsOwnPersistedDataAfterStamp": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testResetAndUndoResetStaySilent": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testResetAtZeroEntersUndoModeAndUndoRestoresZero": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testResetEntersUndoModeAndCapturesPreviousValue": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testResetSealsCurrentAndOpensEmptyRun": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testResetZeroesActiveCounter": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testSeededHistoriesJSONLoadsFromDefaults": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testSeededResetUndoKeyCoercesStringValue": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testSeededResetUndoKeyEntersUndoModeOnLaunch": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testSeededResetUndoKeyIgnoredWhenActiveCountNonZero": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testSeededSubsetHasNoBlankSlots": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testSelectNextAdvancesWithinList": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testSelectNextPastLastAppendsBlankAndSelectsIt": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testSelectPreviousMovesBackWithinList": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testSelectPreviousWrapsFromFirstToLast": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testSubtractClampsToZeroWhenStepOvershoots": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testSubtractClampsWhenNegativesDisallowed": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testSubtractClearsPendingUndo": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testSubtractFiresFeedbackWithDecrementHaptic": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testSubtractGoesNegativeByDefault": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testSubtractHonorsStep": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testSubtractNoOpClampDoesNotFireFeedback": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testSubtractRecordsNegativeAppliedDelta": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testSwitchingCounterClearsPendingUndo": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testTrustInjectedPolicyAdoptsSeededCounters": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testUndoResetReopensSealedRunAndRestoresCount": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testUndoResetRestoresPreviousValueAndExitsUndoMode": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testUnrecognizedOverrideRawValueDecodesToNil": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testUpdateActiveCounterClampsStepToAtLeastOne": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testUpdateActiveCounterClearsOverridesWhenNil": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testUpdateActiveCounterEditsAndPersists": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ModelTests › testUpdateActiveCounterRoundTripsOverrides": { "file": "ios/Tests/AppCoreTests/ModelTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.SettingsOverlaysTests › testNoToggleEverLeavesBothOpen": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.SettingsOverlaysTests › testNothingIsOpenByDefault": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.SettingsOverlaysTests › testOpeningAppSettingsClosesTheCounterPanel": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.SettingsOverlaysTests › testOpeningAppSettingsFromClosedOpensIt": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.SettingsOverlaysTests › testOpeningCounterSettingsClosesAppSettings": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.SettingsOverlaysTests › testOpeningCounterSettingsFromClosedOpensIt": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.SettingsOverlaysTests › testTogglingOpenAppSettingsClosesItAndOpensNothing": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.SettingsOverlaysTests › testTogglingOpenCounterSettingsClosesItAndOpensNothing": { "file": "", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ThemeTests › testDotHexFallsBackToLimeForUnknownKey": { "file": "ios/Tests/AppCoreTests/ThemeTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ThemeTests › testDotHexMapsKnownKeys": { "file": "ios/Tests/AppCoreTests/ThemeTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ThemeTests › testIsCaseInsensitive": { "file": "ios/Tests/AppCoreTests/ThemeTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ThemeTests › testIsolatesIndividualChannels": { "file": "ios/Tests/AppCoreTests/ThemeTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ThemeTests › testParsesAccentLime": { "file": "ios/Tests/AppCoreTests/ThemeTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ThemeTests › testParsesBlackAndWhite": { "file": "ios/Tests/AppCoreTests/ThemeTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "AppCoreTests.ThemeTests › testToleratesLeadingHash": { "file": "ios/Tests/AppCoreTests/ThemeTests.swift", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:39:18.840440+00:00", "lastStatus": "pass", + "lastRunKind": "full", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T12:39:05.717502+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T21:29:31.681891+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-22T19:40:16.458417+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-22T19:39:28.688884+00:00", - "kind": "full", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.AppSettingsTest › testDefaultHapticsAreDistinct": { "file": "android/app/src/test/java/com/codeyam/android/model/AppSettingsTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.AppSettingsTest › testDefaultsAreRightHandedSilentWithDistinctHaptics": { "file": "android/app/src/test/java/com/codeyam/android/model/AppSettingsTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.AppSettingsTest › testLegacyHapticKeyMigratesToBothDirections": { "file": "android/app/src/test/java/com/codeyam/android/model/AppSettingsTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.AppSettingsTest › testLegacyHapticOffMigratesToBothOff": { "file": "android/app/src/test/java/com/codeyam/android/model/AppSettingsTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.AppSettingsTest › testNewHapticKeyWinsOverLegacy": { "file": "android/app/src/test/java/com/codeyam/android/model/AppSettingsTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { - "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" }, { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", + "at": "2026-07-29T11:43:21.762729+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.AppSettingsTest › testOptionCasesCoverTheChoiceSets": { "file": "android/app/src/test/java/com/codeyam/android/model/AppSettingsTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.AppSettingsTest › testOptionsAreIndependent": { "file": "android/app/src/test/java/com/codeyam/android/model/AppSettingsTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.AppSettingsTest › testPersistsChangesAcrossReload": { "file": "android/app/src/test/java/com/codeyam/android/model/AppSettingsTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.AppSettingsTest › testReadsSeededStringPreferences": { "file": "android/app/src/test/java/com/codeyam/android/model/AppSettingsTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.AppSettingsTest › testReleasePolicyIgnoresSeededHapticsWithoutProvenance": { "file": "android/app/src/test/java/com/codeyam/android/model/AppSettingsTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.AppSettingsTest › testResolveMigratesRemovedRawValues": { "file": "android/app/src/test/java/com/codeyam/android/model/AppSettingsTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.AppSettingsTest › testUnknownOptionFallsBackToDefault": { "file": "android/app/src/test/java/com/codeyam/android/model/AppSettingsTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testAddCounterAllowsConsecutiveBlankSlots": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testAddCounterAppendsBlankAndSelectsIt": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testAddCounterAssignsNextIdAndOrder": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testAddCounterClearsPendingUndo": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testAddCounterPersists": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testBlankSlotIncrementsWithoutReviving": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testClampedSubtractRecordsActualAppliedDelta": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testCumulativeSeriesReconstructsRunningCount": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testDefaultEffectiveFeedbackIsAllOff": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testDeleteBeyondFirstFourRemovesAndSelectsPrevious": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testDeleteBlanksInPlace": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testDeleteCounterClearsItsHistories": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testDeleteLastCounterBlanksInPlaceAndKeepsSelection": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testDeletingCounterClearsPendingUndo": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testDeletingEveryBaseSlotNeverShrinksTheRow": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testDeletingExtraCounterDropsItsHistory": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testDeletingLastExtraCounterSelectsNewLast": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testDeletingMiddleExtraCounterSlidesFollowingCounterDown": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testEditingActiveCounterClearsPendingUndo": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testEffectiveResolversFollowDefaultWhenNil": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testEffectiveResolversPinOverrideWhenSet": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testFreshModelHasFourStarterCountersAtZero": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testHandednessOverrideResolvesPerCounter": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testHapticDirectionsResolveIndependently": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testHistoriesPersistAndReloadFromDefaults": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testHistoryCapDropsOldestRun": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testIncrementClearsPendingUndo": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testIncrementFiresFeedbackWithIncrementHaptic": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testIncrementHonorsStep": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testIncrementRaisesActiveCounter": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testIncrementRecordsPositiveEvent": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testIncrementUsesActiveCounterEffectiveFeedback": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testLegacyCounterWithoutStepDecodesToStepOne": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testLegacyCountersDecodeWithNilOverrides": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testLegacySingleHapticOverrideMigratesToBothDirections": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testLoadsSeededStateFromDefaults": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testMigrationFoldsDeletedDefaultsIntoBlankSlots": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testNamingBlankSlotRevivesIt": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testNewHapticOverrideKeyWinsOverLegacyOnDecode": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testNoOpSubtractClampRecordsNoEvent": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testOverrideTracksOrPinsAgainstChangingDefault": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testRelativeOffsetMeasuredFromStart": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testReleasePolicyIgnoresSeededAppSettingsWithoutProvenance": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testReleasePolicyIgnoresSeededCountersWithoutProvenance": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { - "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" }, { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", + "at": "2026-07-29T11:43:21.762729+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testReleasePolicyTrustsAppSettingsAfterProvenanceStamped": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testReleasePolicyTrustsOwnPersistedDataAfterStamp": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testResetAndUndoResetStaySilent": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testResetAtZeroEntersUndoModeAndUndoRestoresZero": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testResetEntersUndoModeAndCapturesPreviousValue": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testResetSealsCurrentAndOpensEmptyRun": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testResetZeroesActiveCounter": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testSeededHistoriesJSONLoadsFromDefaults": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testSeededResetUndoKeyCoercesStringValue": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testSeededResetUndoKeyEntersUndoModeOnLaunch": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testSeededResetUndoKeyIgnoredWhenActiveCountNonZero": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testSeededSubsetHasNoBlankSlots": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testSelectNextAdvancesWithinList": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testSelectNextPastLastAppendsBlankAndSelectsIt": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testSelectPreviousMovesBackWithinList": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testSelectPreviousWrapsFromFirstToLast": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testSubtractClampsToZeroWhenStepOvershoots": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testSubtractClampsWhenNegativesDisallowed": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testSubtractClearsPendingUndo": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testSubtractFiresFeedbackWithDecrementHaptic": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testSubtractGoesNegativeByDefault": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testSubtractHonorsStep": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testSubtractNoOpClampDoesNotFireFeedback": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testSubtractRecordsNegativeAppliedDelta": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testSwitchingCounterClearsPendingUndo": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testTrustInjectedPolicyAdoptsSeededCounters": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testUndoResetReopensSealedRunAndRestoresCount": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testUndoResetRestoresPreviousValueAndExitsUndoMode": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testUnrecognizedOverrideRawValueDecodesToNil": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testUpdateActiveCounterClampsStepToAtLeastOne": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testUpdateActiveCounterClearsOverridesWhenNil": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testUpdateActiveCounterEditsAndPersists": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterModelTest › testUpdateActiveCounterRoundTripsOverrides": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterModelTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterThemeTest › testDotHexFallsBackToLimeForUnknownKey": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterThemeTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterThemeTest › testDotHexMapsKnownKeys": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterThemeTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterThemeTest › testIsCaseInsensitive": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterThemeTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterThemeTest › testIsolatesIndividualChannels": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterThemeTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterThemeTest › testParsesAccentLime": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterThemeTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterThemeTest › testParsesBlackAndWhite": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterThemeTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.CounterThemeTest › testToleratesLeadingHash": { "file": "android/app/src/test/java/com/codeyam/android/model/CounterThemeTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.FeedbackTest › testAllDistinctFeelsAreTreatedAsNonOff": { "file": "android/app/src/test/java/com/codeyam/android/model/FeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.FeedbackTest › testAllOverridesSetReturnsTrue": { "file": "android/app/src/test/java/com/codeyam/android/model/FeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.FeedbackTest › testBlankSlotReturnsFalse": { "file": "android/app/src/test/java/com/codeyam/android/model/FeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.FeedbackTest › testBothOffFiresNothing": { "file": "android/app/src/test/java/com/codeyam/android/model/FeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.FeedbackTest › testBothOptionsFireBoth": { "file": "android/app/src/test/java/com/codeyam/android/model/FeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.FeedbackTest › testDecrementHapticOverrideAloneReturnsTrue": { "file": "android/app/src/test/java/com/codeyam/android/model/FeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.FeedbackTest › testExplicitOffSoundOverrideReturnsTrue": { "file": "android/app/src/test/java/com/codeyam/android/model/FeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.FeedbackTest › testHandednessOverrideAloneReturnsTrue": { "file": "android/app/src/test/java/com/codeyam/android/model/FeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.FeedbackTest › testHapticOnlyFiresHapticWithFeel": { "file": "android/app/src/test/java/com/codeyam/android/model/FeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.FeedbackTest › testIncrementHapticOverrideAloneReturnsTrue": { "file": "android/app/src/test/java/com/codeyam/android/model/FeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.FeedbackTest › testNoOverridesReturnsFalse": { "file": "android/app/src/test/java/com/codeyam/android/model/FeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.FeedbackTest › testNoopFeedbackDoesNothing": { "file": "android/app/src/test/java/com/codeyam/android/model/FeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.FeedbackTest › testSoundOnlyFiresSoundWithChoice": { "file": "android/app/src/test/java/com/codeyam/android/model/FeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.FeedbackTest › testSoundOverrideAloneReturnsTrue": { "file": "android/app/src/test/java/com/codeyam/android/model/FeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.SettingsOverlaysTest › testNoToggleEverLeavesBothOpen": { "file": "android/app/src/test/java/com/codeyam/android/model/SettingsOverlaysTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.SettingsOverlaysTest › testNothingIsOpenByDefault": { "file": "android/app/src/test/java/com/codeyam/android/model/SettingsOverlaysTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.SettingsOverlaysTest › testOpeningAppSettingsClosesTheCounterPanel": { "file": "android/app/src/test/java/com/codeyam/android/model/SettingsOverlaysTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.SettingsOverlaysTest › testOpeningAppSettingsFromClosedOpensIt": { "file": "android/app/src/test/java/com/codeyam/android/model/SettingsOverlaysTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.SettingsOverlaysTest › testOpeningCounterSettingsClosesAppSettings": { "file": "android/app/src/test/java/com/codeyam/android/model/SettingsOverlaysTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.SettingsOverlaysTest › testOpeningCounterSettingsFromClosedOpensIt": { "file": "android/app/src/test/java/com/codeyam/android/model/SettingsOverlaysTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.SettingsOverlaysTest › testTogglingOpenAppSettingsClosesItAndOpensNothing": { "file": "android/app/src/test/java/com/codeyam/android/model/SettingsOverlaysTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.model.SettingsOverlaysTest › testTogglingOpenCounterSettingsClosesItAndOpensNothing": { "file": "android/app/src/test/java/com/codeyam/android/model/SettingsOverlaysTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.AndroidFeedbackTest › testDoubleIsATwoPulseWaveform": { "file": "android/app/src/test/java/com/codeyam/android/ui/AndroidFeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.AndroidFeedbackTest › testEveryNonOffHapticMapsToASpec": { "file": "android/app/src/test/java/com/codeyam/android/ui/AndroidFeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.AndroidFeedbackTest › testEveryNonOffSoundMapsToATone": { "file": "android/app/src/test/java/com/codeyam/android/ui/AndroidFeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.AndroidFeedbackTest › testHapticOffMapsToNull": { "file": "android/app/src/test/java/com/codeyam/android/ui/AndroidFeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.AndroidFeedbackTest › testNonOffHapticsAreDistinct": { "file": "android/app/src/test/java/com/codeyam/android/ui/AndroidFeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.AndroidFeedbackTest › testNonOffSoundsAreDistinct": { "file": "android/app/src/test/java/com/codeyam/android/ui/AndroidFeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.AndroidFeedbackTest › testSharpAndBuzzUseDefaultAmplitudeButDifferentDurations": { "file": "android/app/src/test/java/com/codeyam/android/ui/AndroidFeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.AndroidFeedbackTest › testSoftUsesReducedAmplitude": { "file": "android/app/src/test/java/com/codeyam/android/ui/AndroidFeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.AndroidFeedbackTest › testSoundOffMapsToNull": { "file": "android/app/src/test/java/com/codeyam/android/ui/AndroidFeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.AndroidFeedbackTest › testSoundSpotCheck": { "file": "android/app/src/test/java/com/codeyam/android/ui/AndroidFeedbackTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.AppSettingsPanelInteractionTest › tappingASoundChipMovesTheSelection": { "file": "android/app/src/testDebug/java/com/codeyam/android/ui/AppSettingsPanelInteractionTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" } ] }, "com.codeyam.android.ui.AppSettingsPanelInteractionTest › tappingLeftMovesTheHandednessHighlight": { "file": "android/app/src/testDebug/java/com/codeyam/android/ui/AppSettingsPanelInteractionTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" } ] }, "com.codeyam.android.ui.CountFormatTest › deltaCarriesAnExplicitPlusWhenNonNegative": { "file": "android/app/src/test/java/com/codeyam/android/ui/CountFormatTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.CountFormatTest › deltaLeavesTheMinusSignAsTheOnlyMarkerWhenNegative": { "file": "android/app/src/test/java/com/codeyam/android/ui/CountFormatTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.CountFormatTest › fourDigitsAndUpAreGrouped": { "file": "android/app/src/test/java/com/codeyam/android/ui/CountFormatTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.CountFormatTest › negativeCountsKeepTheirSignAndGrouping": { "file": "android/app/src/test/java/com/codeyam/android/ui/CountFormatTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.CountFormatTest › smallCountsAreUnchanged": { "file": "android/app/src/test/java/com/codeyam/android/ui/CountFormatTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.CountHeroSizingTest › anythingLongerFallsToTheSmallestStep": { "file": "android/app/src/test/java/com/codeyam/android/ui/CountHeroSizingTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.CountHeroSizingTest › groupingSeparatorsCountTowardTheWidth": { "file": "android/app/src/test/java/com/codeyam/android/ui/CountHeroSizingTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.CountHeroSizingTest › longerNumeralsStepDown": { "file": "android/app/src/test/java/com/codeyam/android/ui/CountHeroSizingTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.CountHeroSizingTest › oneAndTwoDigitCountsUseTheFullSize": { "file": "android/app/src/test/java/com/codeyam/android/ui/CountHeroSizingTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.CountHeroSizingTest › sizeNeverIncreasesAsTheNumeralGrows": { "file": "android/app/src/test/java/com/codeyam/android/ui/CountHeroSizingTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.CountHeroSizingTest › theMinusSignCountsTowardTheWidth": { "file": "android/app/src/test/java/com/codeyam/android/ui/CountHeroSizingTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.CountHeroSnapshotTest › countHeroRendersAGroupedFourDigitCount": { "file": "android/app/src/test/java/com/codeyam/android/ui/CountHeroSnapshotTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" } ] }, "com.codeyam.android.ui.CountHeroSnapshotTest › countHeroRendersATwoDigitCount": { "file": "android/app/src/test/java/com/codeyam/android/ui/CountHeroSnapshotTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" } ] }, "com.codeyam.android.ui.CounterScreenStateTest › aPerCounterHandednessOverrideBeatsTheAppDefault": { "file": "android/app/src/test/java/com/codeyam/android/ui/CounterScreenStateTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.CounterScreenStateTest › addingACounterClosesTheSettingsPanel": { "file": "android/app/src/test/java/com/codeyam/android/ui/CounterScreenStateTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.CounterScreenStateTest › closingAPanelLeavesTheOtherClosed": { "file": "android/app/src/test/java/com/codeyam/android/ui/CounterScreenStateTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" - }, - { - "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" + "kind": "changed" }, { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "status": "pass", + "at": "2026-07-26T14:49:26.526892+00:00", + "kind": "full" } ] }, "com.codeyam.android.ui.CounterScreenStateTest › defaultLeftHandedIsTheAppDefaultNotTheActiveCountersEffectiveValue": { "file": "android/app/src/test/java/com/codeyam/android/ui/CounterScreenStateTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" } ] }, "com.codeyam.android.ui.CounterScreenStateTest › feedbackSettersRoundTripThroughTheirGetters": { "file": "android/app/src/test/java/com/codeyam/android/ui/CounterScreenStateTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" } ] }, "com.codeyam.android.ui.CounterScreenStateTest › incrementAndSubtractReachTheActiveCounter": { "file": "android/app/src/test/java/com/codeyam/android/ui/CounterScreenStateTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.CounterScreenStateTest › leftHandedFollowsTheAppDefaultWithoutAnOverride": { "file": "android/app/src/test/java/com/codeyam/android/ui/CounterScreenStateTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.CounterScreenStateTest › openingAppSettingsClosesTheCounterPanel": { "file": "android/app/src/test/java/com/codeyam/android/ui/CounterScreenStateTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.CounterScreenStateTest › openingTheCounterPanelClosesAppSettings": { "file": "android/app/src/test/java/com/codeyam/android/ui/CounterScreenStateTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.CounterScreenStateTest › overlayFlagsAdoptTheirSeededValues": { "file": "android/app/src/test/java/com/codeyam/android/ui/CounterScreenStateTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.CounterScreenStateTest › overlayFlagsDefaultClosed": { "file": "android/app/src/test/java/com/codeyam/android/ui/CounterScreenStateTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.CounterScreenStateTest › resetOrUndoDispatchesByPendingUndo": { "file": "android/app/src/test/java/com/codeyam/android/ui/CounterScreenStateTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.CounterScreenStateTest › selectNextAndPreviousMoveThroughTheCounters": { "file": "android/app/src/test/java/com/codeyam/android/ui/CounterScreenStateTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.CounterScreenStateTest › selectingACounterClosesTheSettingsPanel": { "file": "android/app/src/test/java/com/codeyam/android/ui/CounterScreenStateTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.CounterScreenStateTest › selectingFromTheListClosesBothTheListAndAppSettings": { "file": "android/app/src/test/java/com/codeyam/android/ui/CounterScreenStateTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.CounterScreenStateTest › setDefaultLeftHandedFlipsTheAppDefaultGetter": { "file": "android/app/src/test/java/com/codeyam/android/ui/CounterScreenStateTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" } ] }, "com.codeyam.android.ui.GraphGeometryTest › plotDomainAlwaysIncludesZero": { "file": "android/app/src/test/java/com/codeyam/android/ui/GraphGeometryTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.GraphGeometryTest › plotHandlesAnEmptySeries": { "file": "android/app/src/test/java/com/codeyam/android/ui/GraphGeometryTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.GraphGeometryTest › plotMapsTimeAcrossTheFullWidthAndCountUpwards": { "file": "android/app/src/test/java/com/codeyam/android/ui/GraphGeometryTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.GraphGeometryTest › plotPutsZeroLineInsideTheRectWhenTheCountWentNegative": { "file": "android/app/src/test/java/com/codeyam/android/ui/GraphGeometryTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.GraphGeometryTest › plotRectClampsToAPositiveSizeWhenTheCanvasIsTiny": { "file": "android/app/src/test/java/com/codeyam/android/ui/GraphGeometryTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.GraphGeometryTest › plotRectInsetsByTheGutters": { "file": "android/app/src/test/java/com/codeyam/android/ui/GraphGeometryTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.GraphGeometryTest › plotRectScalesGuttersByDensity": { "file": "android/app/src/test/java/com/codeyam/android/ui/GraphGeometryTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.GraphGeometryTest › plotSurvivesAFlatSeries": { "file": "android/app/src/test/java/com/codeyam/android/ui/GraphGeometryTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.GraphGeometryTest › plotSurvivesASinglePointSeries": { "file": "android/app/src/test/java/com/codeyam/android/ui/GraphGeometryTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.GraphGeometryTest › relativeTimeFormatsAsMinutesAndSeconds": { "file": "android/app/src/test/java/com/codeyam/android/ui/GraphGeometryTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.GraphGeometryTest › relativeTimeGrowsAnHoursFieldPastAnHour": { "file": "android/app/src/test/java/com/codeyam/android/ui/GraphGeometryTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.GraphGeometryTest › relativeTimeRoundsAndFloorsAtZero": { "file": "android/app/src/test/java/com/codeyam/android/ui/GraphGeometryTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.GraphGeometryTest › stepVerticesHoldThenJump": { "file": "android/app/src/test/java/com/codeyam/android/ui/GraphGeometryTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] }, "com.codeyam.android.ui.GraphGeometryTest › stepVerticesOfEmptyOrSingleInputAreDegenerate": { "file": "android/app/src/test/java/com/codeyam/android/ui/GraphGeometryTest.kt", - "lastRunAt": "2026-07-29T11:43:21.762729+00:00", - "lastRunKind": "full", + "lastRunAt": "2026-08-10T17:45:12.796231+00:00", "lastStatus": "pass", + "lastRunKind": "changed", "recentStatuses": [ { + "status": "pass", + "at": "2026-08-10T17:45:12.796231+00:00", + "kind": "changed" + }, + { + "status": "pass", + "at": "2026-08-10T17:39:18.840440+00:00", + "kind": "full" + }, + { + "status": "pass", "at": "2026-07-29T11:43:21.762729+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:05:00.150174+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-28T20:04:02.328397+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-28T16:56:43.018456+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:23:45.745116+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T22:08:02.789776+00:00", - "kind": "full", - "status": "pass" + "kind": "full" }, { + "status": "pass", "at": "2026-07-26T22:07:37.041403+00:00", - "kind": "changed", - "status": "pass" + "kind": "changed" }, { + "status": "pass", "at": "2026-07-26T14:49:26.526892+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:21:50.285858+00:00", - "kind": "full", - "status": "pass" - }, - { - "at": "2026-07-26T13:19:27.960517+00:00", - "kind": "changed", - "status": "pass" + "kind": "full" } ] } -} +} \ No newline at end of file diff --git a/.codeyam/plans/ne--android-16-target-sdk-36.md b/.codeyam/plans/ne--android-16-target-sdk-36.md new file mode 100644 index 0000000..9705db7 --- /dev/null +++ b/.codeyam/plans/ne--android-16-target-sdk-36.md @@ -0,0 +1,199 @@ +--- +title: "ne -- Target Android 16 (API 36) for continued Play updates" +prefix: "ne" +mode: ui +createdAt: "2026-08-07T00:00:00Z" +source: manual +--- + +## Summary + +CodeYam Counter is **live on Google Play** and now non-compliant: Play reports the +highest non-compliant target API level as Android 15 (API 35). Apps must target +**Android 16 (API 36)** or higher. From **Oct 31, 2026**, an app whose target API +is not within one year of the latest Android release **cannot be updated at all**. + +This is an availability deadline, not a warning — missing it freezes the app on +the store. Nothing about the app's behaviour needs to change for users; what +changes is the toolchain underneath it and two platform behaviours that API 36 +makes unconditional. + +The bump is **not a one-line change**. `targetSdk = 36` requires `compileSdk = 36`, +which the current Android Gradle Plugin cannot compile against, which in turn +forces a Gradle upgrade — and the snapshot-test harness that landed days ago has +no stable release that works at API 36 at all. + +## The toolchain cascade + +| | Current | Target | +|---|---|---| +| `targetSdk` / `compileSdk` | 35 | **36** | +| Android Gradle Plugin | 8.3.1 | **8.13.x** | +| Gradle | 8.7 | **8.13+** (AGP 8.13 floor) | +| SDK Build-Tools | 34.0.0 | 35.0.0+ (AGP 8.13 default; the Android 16 guide asks for 36.x) | +| Installed SDK platforms | `android-34`, `android-35` | `android-36` | +| Paparazzi | 1.3.5 | **2.0.0-alpha05** | +| CI JDK | 17 | **21** — forced by Paparazzi, not by AGP | + +### Why AGP 8.13 rather than the documented 8.9 floor + +[Set up the Android 16 SDK](https://developer.android.com/about/versions/16/setup-sdk) +names **8.9.0-rc01** as the minimum for `compileSdk = 36`, but that is only a +floor. The +[AGP 8.9.0 release notes](https://developer.android.com/build/releases/past-releases/agp-8-9-0-release-notes) +still list **maximum API level 35**, so 8.9 would compile against 36 while +continuing to emit the untested-SDK warning — precisely the state this build is +already papering over today. + +[AGP 8.13.0](https://developer.android.com/build/releases/past-releases/agp-8-13-0-release-notes) +lists **maximum API level 36.1**, making it the first line that genuinely supports +API 36. It requires Gradle 8.13 and JDK 17. + +This also converges with Paparazzi: **2.0.0-alpha05 is itself built against AGP +8.13.2**. Picking 8.13.x satisfies the API 36 requirement and the snapshot harness +with one decision instead of two independent guesses. + +**Consequence:** `android/gradle.properties` carries +`android.suppressUnsupportedCompileSdk=35`. On AGP 8.13 that suppression is +unnecessary, so **delete the line** rather than bumping it to 36 — retaining it +would go on hiding exactly the class of warning we are upgrading to stop needing. + +### SDK provisioning + +CI provisions the SDK through `android-actions/setup-android@v4`, so the runner +needs no change. Locally there is **no `cmdline-tools`/`sdkmanager`**, but +`~/Library/Android/sdk/licenses/android-sdk-license` is present, so AGP's +automatic SDK download should fetch platform 36 and matching build-tools on the +first build. If it does not, install them via Android Studio's SDK Manager rather +than adding a cmdline-tools dependency to the repo. + +## The blocker: Paparazzi has no stable API 36 release + +**Paparazzi 1.3.5 crashes on `compileSdk 36`** +([cashapp/paparazzi#1877](https://github.com/cashapp/paparazzi/issues/1877), closed +against milestone **2.0.0-alpha02**). 1.3.5 is still the latest *stable* release +and there is no 1.3.x backport, so the fix exists only in the 2.0.0 alpha line. + +This collides directly with work that landed on 2026-07-29 (`f03e67b`): Paparazzi +renders Compose components off-device, `verifyPaparazziDebug` is a CI gate at +`.github/workflows/ci.yml:58`, and two goldens are committed under +`android/app/src/test/snapshots/images/`. + +**Decision: upgrade to the 2.0.0 alpha line.** Paparazzi is a `testImplementation` +harness — it is never packaged into the AAB and cannot reach a user. Alpha risk is +contained to CI, and the alternative is discarding a component-isolation gate the +project just gained and has wanted for a long time. + +The alpha line moved its own floors, so the version choice is not arbitrary: + +- `2.0.0-alpha02` — first with `compileSdk 36`; built against AGP 8.10.1. +- `2.0.0-alpha03` — deprecated by upstream; skip. +- `2.0.0-alpha04` — AGP 8.13.2, and **requires Java 21+**. +- `2.0.0-alpha05` — latest; AGP 8.13.2, supports pre-AGP 9.0 consumers. + +**Target `2.0.0-alpha05`**, since it matches the AGP 8.13.x chosen above. There is +no stable 2.0.0 release, so an alpha is unavoidable if the gate is to survive. + +Because alpha04 explicitly requires Java 21 and alpha05 shares its AGP baseline, +plan on **CI moving off `java-version: "17"`** (`.github/workflows/ci.yml:40`). +The comment at `ci.yml:36` explains the JDK 17 choice in terms of "Gradle 8.7 + +AGP" — it must be rewritten in the same edit rather than left contradicting the +code. Confirm the actual Java floor empirically; do not bump CI's JDK if the build +is green without it. + +## Behaviour change that needs real code: edge-to-edge + +Android 15 already enforces edge-to-edge for apps targeting 35; **Android 16 makes +it unconditional** — the `windowOptOutEdgeToEdgeEnforcement` escape hatch is +ignored at target 36. + +The app has **no inset handling anywhere**. A grep across `android/app/src/main` +for `enableEdgeToEdge`, `WindowInsets`, `systemBars`, `safeDrawing`, and +`setDecorFitsSystemWindows` returns nothing. Meanwhile `res/values/themes.xml` +still sets `android:statusBarColor` and `android:navigationBarColor`, both of +which are **deprecated no-ops on API 35+** — they are already doing nothing. + +Because the app is already at target 35, this is very likely a **live defect on +Android 15 devices today**, not merely a future risk. Verifying that on a real +API 35/36 device is part of this work, not an afterthought. + +### The subtle part: where the padding goes + +`CounterScreen` drives its entire layout off `BoxWithConstraints`: + +```kotlin +val screenHeight = maxHeight +val screenWidth = maxWidth +``` + +Under edge-to-edge those constraints become the **full window**, including the +status and navigation bar regions. Hero sizing, the increment target's lower-half +geometry, and the bottom bar are all computed from them. + +Apply the inset padding **outside** `BoxWithConstraints` so `maxHeight` / +`maxWidth` continue to describe *usable* space. Applying it inside would leave +every derived measurement computed against full-window height while the content +is visually inset — the classic "correct on the device I tested, wrong on the one +with a bigger nav bar" failure. + +Keep the window background itself edge-to-edge (the app is a uniform near-black, +so the bars should blend), and ensure the status-bar icons are light-on-dark via +the appearance APIs rather than the dead colour attributes. + +### Out of scope for this cycle (deliberate) + +**Predictive back.** It defaults on at target 36, and the app has no back handling +at all — `BackHandler`, `onBackPressed`, and `enableOnBackInvokedCallback` are all +absent, so back exits the app even with a settings, list, or graph panel open. +That is a genuine UX gap but it is a *separate behavioural feature* needing its +own scenarios; folding it in here would widen the diff on a deadline-driven +compliance change. Queue it as a follow-up plan. + +## Not affected + +- **16 KB page sizes** — required at target 36 only for apps with native code. + This app is pure Kotlin/Compose with no NDK, so it is N/A. +- **Large-screen orientation/resizability** — Android 16 ignores orientation + restrictions on large screens; the app already has the `MaxContentWidth` tablet + layout and declares no orientation lock, so nothing to undo. +- **`draft` in `play-release.yml`** — already defaults to `false` (line 46). Now + that the app is published, simply leave it off; no edit required. +- **Permissions** — `VIBRATE` remains the only one; API 36 changes nothing here. + +## Release + +- Bump `versionName` from `"1.0"` (`android/app/build.gradle.kts:47`) to reflect a + user-facing update. +- `versionCode` needs no scheme change: `play-release.yml` derives it as + `110000 + GITHUB_RUN_NUMBER` and remains the sole uploader, so monotonicity holds. +- Ship via the existing `play-release.yml` production path. Consider a staged + rollout (`rollout` < 1.0) rather than a full one, since this cycle changes the + build toolchain and window handling on a live app. + +## Verification + +1. `android/gradlew -p android testDebugUnitTest` and `testReleaseUnitTest` green + on both variants (baseline: debug 171, release 169). +2. `android/gradlew -p android verifyPaparazziDebug` green on the upgraded + Paparazzi. If goldens shift, re-record and inspect the diff — a changed golden + here is evidence, not noise. +3. `android/gradlew -p android bundleRelease` produces a signed AAB with R8 still + enabled and `mapping.txt` present. +4. **On-device on API 36**: confirm the hero numeral and bottom control row clear + the status and navigation bars, that the background still runs edge to edge, + and that no cold-start flash regressed. +5. Confirm in Play Console that the target API warning clears after the update + reaches production. + +## Scenarios to demonstrate + +Edge-to-edge is a visual change to the app's outermost layout, so it is exactly +what scenario captures are for. Re-capture the main counter states at API 36 and +compare against the current goldens; the top and bottom margins are where a +regression would show. + +## Open + +The user has more requirements to add to this cycle ("the targetSDK is the first +piece"). Fold them in before implementation begins rather than treating this file +as final. diff --git a/.codeyam/swift-tests.xml b/.codeyam/swift-tests.xml index 3f05861..39675fc 100644 --- a/.codeyam/swift-tests.xml +++ b/.codeyam/swift-tests.xml @@ -1,248 +1,248 @@ - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/.codeyam/test-cache.json b/.codeyam/test-cache.json index 7a0381d..ea8df1d 100644 --- a/.codeyam/test-cache.json +++ b/.codeyam/test-cache.json @@ -2,10 +2,10 @@ "schemaVersion": 4, "partitions": { "all": { - "version": 62, - "hash": "dfb3aac68133789a", + "version": 63, + "hash": "08bfc95cf2a5c367", "green": true, - "lastRunAt": "2026-07-29T11:43:22.183109+00:00", + "lastRunAt": "2026-08-10T17:39:20.148381+00:00", "cacheFile": ".codeyam/test-cache/all.json", "registryDigest": "0c20cd60c5da277c47d9a22e974d404bb533c5305e81fdee61bcefe0f3ce10fe" } diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6ef060b..4727699 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,18 +26,20 @@ jobs: android: name: Android · Build & test # Runs independently of the iOS job so a break in one platform is legible on - # its own. Ubuntu + JDK 17 + Android SDK is all the Kotlin/Compose app needs; + # its own. Ubuntu + JDK 21 + Android SDK is all the Kotlin/Compose app needs; # no emulator is booted — this is compile + JVM unit tests only. runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - - name: Set up JDK 17 - # Gradle 8.7 + Android Gradle Plugin require JDK 17. + - name: Set up JDK 21 + # JDK 21, not 17: Paparazzi 2.0.0-alpha04+ requires it, and the app is on + # alpha05 because 1.3.5 cannot compile against `compileSdk 36` + # (cashapp/paparazzi#1877). Gradle 8.13 + AGP 8.13.2 are both fine on 21. uses: actions/setup-java@v5 with: distribution: temurin - java-version: "17" + java-version: "21" - name: Set up Android SDK # Installs the SDK and accepts licenses, exposing ANDROID_SDK_ROOT so diff --git a/.github/workflows/play-release.yml b/.github/workflows/play-release.yml index 3c867fa..620abbb 100644 --- a/.github/workflows/play-release.yml +++ b/.github/workflows/play-release.yml @@ -58,12 +58,14 @@ jobs: steps: - uses: actions/checkout@v5 - - name: Set up JDK 17 - # Gradle 8.4 + AGP require JDK 17 (matches ci.yml). + - name: Set up JDK 21 + # Gradle 8.13 + AGP 8.13.2 (matches ci.yml). Kept identical to CI on + # purpose: the artifact that ships to Play should be built on the same + # JDK that the gates ran against, not a different one. uses: actions/setup-java@v5 with: distribution: temurin - java-version: "17" + java-version: "21" - name: Set up Android SDK uses: android-actions/setup-android@v4 diff --git a/android/.gitignore b/android/.gitignore index c9c3aca..878b5b3 100644 --- a/android/.gitignore +++ b/android/.gitignore @@ -9,6 +9,10 @@ # test output test-results/ +# Kotlin 2.3's build-session scratch dir (errors/, sessions/). New with the +# toolchain upgrade — the 2.0.x compiler never created it. +.kotlin/ + # Release signing — NEVER commit the upload key or its passwords keystore.properties *.jks diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index b17915e..6d6f402 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -1,3 +1,4 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget import java.io.FileInputStream import java.util.Properties @@ -26,7 +27,7 @@ val hasReleaseSigning = releaseStoreFile != null android { namespace = "com.codeyam.android" - compileSdk = 35 + compileSdk = 36 defaultConfig { // The Play Store identity, permanent once published — deliberately the @@ -37,14 +38,19 @@ android { // registry and dependency graph for no user-visible gain. applicationId = "com.codeyam.counter" minSdk = 24 - // Play requires new uploads to target API 35 (Android 15) on all tracks. - targetSdk = 35 + // Play requires new uploads to target API 36 (Android 16) on all tracks. + // From 2026-10-31 an app whose target API is not within one year of the + // latest Android release cannot be updated at all, so this is an + // availability deadline rather than a warning. Target 36 also makes + // edge-to-edge unconditional (the opt-out is ignored) — see the window + // inset handling in MainActivity/CounterScreen. + targetSdk = 36 // Defaults to 1 for a local/manual build. CI passes // -PversionCodeOverride= (a large, monotonic value) so every // automated Play upload gets a unique, increasing versionCode — Play // rejects a track upload that reuses an existing versionCode. versionCode = (project.findProperty("versionCodeOverride") as String?)?.toIntOrNull() ?: 1 - versionName = "1.0" + versionName = "1.1" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { @@ -87,9 +93,9 @@ android { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } - kotlinOptions { - jvmTarget = "1.8" - } + // `kotlinOptions { jvmTarget = "1.8" }` was removed in Kotlin 2.3 (it became a + // hard error, not a warning). Same target, current DSL — the bytecode level is + // deliberately unchanged, so this is a syntax migration and nothing more. buildFeatures { compose = true // Generates BuildConfig.VERSION_NAME / VERSION_CODE so the app can show @@ -110,6 +116,12 @@ android { } } +kotlin { + compilerOptions { + jvmTarget = JvmTarget.JVM_1_8 + } +} + dependencies { implementation(libs.androidx.core.ktx) implementation(libs.androidx.lifecycle.runtime.ktx) diff --git a/android/app/src/main/java/com/codeyam/android/MainActivity.kt b/android/app/src/main/java/com/codeyam/android/MainActivity.kt index 8c8f8ac..d628853 100644 --- a/android/app/src/main/java/com/codeyam/android/MainActivity.kt +++ b/android/app/src/main/java/com/codeyam/android/MainActivity.kt @@ -2,9 +2,12 @@ package com.codeyam.android import android.content.Context import android.content.pm.ApplicationInfo +import android.graphics.Color import android.os.Bundle import androidx.activity.ComponentActivity +import androidx.activity.SystemBarStyle import androidx.activity.compose.setContent +import androidx.activity.enableEdgeToEdge import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface @@ -24,6 +27,20 @@ class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + // Opt in explicitly rather than inheriting the target-36 default, so the + // bar ICON appearance is ours: `SystemBarStyle.dark` means "dark bar + // background, therefore light icons", which is what this near-black app + // needs. A transparent scrim keeps the app colour running bar to bar. + // + // This replaces `android:statusBarColor` / `android:navigationBarColor` + // in themes.xml, which are deprecated no-ops on API 35+ and were already + // doing nothing. The layout side of edge-to-edge — keeping the content + // clear of the bars — is handled by the inset padding in CounterScreen. + enableEdgeToEdge( + statusBarStyle = SystemBarStyle.dark(Color.TRANSPARENT), + navigationBarStyle = SystemBarStyle.dark(Color.TRANSPARENT), + ) + // The default SharedPreferences file (`_preferences.xml`) is the // store CodeYam's Android scenario seeder writes before relaunching the app, // and it is also where the model persists real user state. Both sides use the diff --git a/android/app/src/main/java/com/codeyam/android/ui/CounterScreen.kt b/android/app/src/main/java/com/codeyam/android/ui/CounterScreen.kt index 4d39287..2a7fc52 100644 --- a/android/app/src/main/java/com/codeyam/android/ui/CounterScreen.kt +++ b/android/app/src/main/java/com/codeyam/android/ui/CounterScreen.kt @@ -6,10 +6,16 @@ import androidx.compose.foundation.gestures.detectTapGestures import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.BoxWithConstraints import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.ExperimentalLayoutApi import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.WindowInsets +import androidx.compose.foundation.layout.displayCutout import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.systemBars +import androidx.compose.foundation.layout.union import androidx.compose.foundation.layout.widthIn +import androidx.compose.foundation.layout.windowInsetsPadding import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -44,8 +50,28 @@ import androidx.compose.ui.unit.dp */ internal val MaxContentWidth = 480.dp +/** + * The window insets the content must stay clear of. + * + * System bars + display cutout, deliberately NOT `safeDrawing`: that also + * includes the IME, which would re-derive the entire layout geometry every time + * the rename keyboard opens. + * + * A composable default rather than a hardcoded one so a test can substitute + * fixed insets — under Robolectric there is no real window, so the platform + * values are all zero and the edge-to-edge behaviour would be untestable. + */ +@OptIn(ExperimentalLayoutApi::class) +@Composable +private fun defaultContentInsets(): WindowInsets = + WindowInsets.systemBars.union(WindowInsets.displayCutout) + @Composable -fun CounterScreen(state: CounterScreenState, modifier: Modifier = Modifier) { +fun CounterScreen( + state: CounterScreenState, + modifier: Modifier = Modifier, + contentInsets: WindowInsets = defaultContentInsets(), +) { Box( modifier = modifier .fillMaxSize() @@ -56,6 +82,18 @@ fun CounterScreen(state: CounterScreenState, modifier: Modifier = Modifier) { modifier = Modifier .widthIn(max = MaxContentWidth) .fillMaxSize() + // Edge-to-edge is unconditional at target 36 (the opt-out is + // ignored), so the window now extends under the status and + // navigation bars. The padding is applied HERE, outside the + // constraints read below, so `maxHeight`/`maxWidth` keep describing + // USABLE space. Inset the content inside `BoxWithConstraints` + // instead and every derived measurement — hero sizing, the + // lower-half increment target, the bottom bar — would still be + // computed against full-window height while the content sits + // visually inset: correct on the device you tested, wrong on one + // with a taller nav bar. The parent `Box` keeps the background + // un-inset so the app colour still runs bar to bar. + .windowInsetsPadding(contentInsets) .pointerInput(Unit) { // Same ±40pt threshold as the iOS DragGesture, so a deliberate // swipe switches counters but a stray drag while tapping the diff --git a/android/app/src/main/res/values/themes.xml b/android/app/src/main/res/values/themes.xml index 9d16a21..03a0d6a 100644 --- a/android/app/src/main/res/values/themes.xml +++ b/android/app/src/main/res/values/themes.xml @@ -11,9 +11,15 @@ Pinning `windowBackground` to the app's own surface colour makes the handoff from system window to first composition seamless. --> + diff --git a/android/app/src/test/snapshots/images/com.codeyam.android.ui_CountHeroSnapshotTest_countHeroRendersAGroupedFourDigitCount.png b/android/app/src/test/snapshots/images/com.codeyam.android.ui_CountHeroSnapshotTest_countHeroRendersAGroupedFourDigitCount.png index cb6972311a33792c54b502a27289f12daafc5d72..af7a5aa315d97fbd9e8ed9ee6b4c297c3b646667 100644 GIT binary patch delta 9329 zcmXY12|UyP|F3U{O7SfrM^r+tsI9^rDJpVQV#yW4+~&SNl_W=0a?O<^a?8zZD`#S6 z?qkR~$L1QFneqSl{{DOHvBzV_`+B`!ujlLedcOA4w8ZS=Wv5MTO^v61Bh)c+HgA9C z>LhCotL^-CgRAFoj@Sk3ySHUe3uR?#emtD@=Gm_|r(~q>eTX!d9YXL$>co$0)IZCT zVC?cNsX7VqlxR%;Ot0$jS5py<$B;Wa-3Xnis@)~uaJKJ(1N0S~^WnJeL$FVOdE&VL zIRoI=eYZ~Ij(aZ-9Qz>He+nPta`t(ZE8j?!6R)z5qfm_7gmR@?i9cez0f`{xSbT@$ z?7kbb-A7M_w4A=bd$X?~*lRh-VYt8nFmRM=g=`D1d3bj?V;&+QSc z@4Jbdu+P?B1@&LNwPB3~-hF#PGOVzqUIid|GPYJnWC&ql8NtE>B^H7=U7wxC4mC(P zPgJW>#_N=VHfIM`XG`R)+UTdOmJ)7Q^|r=au}26^*xN76~$4yOQu_QRsxj`i1YO?4+(eqT8UA3DzzYlfj9Gx=$8Gz;b ztdP$7JQcRtQ_dZb<193mJ>jXAemWi4ZC9A=GHqJ5x_bu~k~f>>C?tl;FS#HSQr9Z; zTP;|hYr1XXBkT%p&lSFvfdhDV8KRbCqaC32tJ*bYrhB_MIh;=p^)|cUyq&#F=!KIa zK^o_b*TiJPY#fD+&Wz4%O`C>)0)TpH{@-r6@$~j+GeGuTuqm z$aw1cHxhb6Zyz2_%NP}v$80o`CPu5JXo!I#Bh^&@xrNDmNzqfI(jl{UNQD)G@5J&6 zNFI*21iKyCU2bbwldki0hsB-_S8b=K*x?2FW_=XbzfXkm7*O~mbZc(_vKETB7H$rk zHaus)7=T%A%zw(XEwrN(RU*jWGvQoZZrHUaTaJVQz-7gcEH`dl^WhH^)mG&ovRp^5 zF7sf%S#9z~b9y{ld3cghSgOJwvd4mW5)7!XzFpj%8gFng>Iwcflx4!67i*kNv=mlL zWxFm%mOqQh&xk1`rw0Rq-iqg}KrI0k4eh4ks==p>T5Aqi%*QmgiRuw3O18$o@tkpeCmaxKCgCw&bE>m9% z|2P{GW#bU7hhQfcb` z@KQ!Vu2Cf5<2?Fr31%*K^1bvac-LnJsrr!^08sr-j2Qg3*?B%!6f=eJ(bo|NKf`?mR>f`&dg7#1A7jl;x?K6Us z767UjQI?2E@5UGol{QkPFXU$pe@9|ge^Go3ny>M; zB!|~~xmfnVzaS$C>L)SK&h$+n?}x$R$2^g=uO+4| z|6hA_sjT4wqlz-GwH;}1T`i#jIc{?_;BzIPUG5(xQP*}8+4Fkrh@bNXlsF$=@%8p+ zEm{HT*ZJVR8uQ7ls1P@MJug!_QJcZvGNHPJxQTcM>r8=E=!h5+7mcFs_FhW!UYLNO zj5rg`eI{e$xSUNbyV0UqCU=O@@_V?o?IwTyskC9I$YwFa7daI;egp_Ev7TT#^t|4>I=i=nImhuh z!cJSW!k%!oj(_j`U-kOgglj&)NOW`Nb_+BB8ii;T&8(U5F&vKlTuk}-wf3JU7e$VM z(Mebx%4U$$Gx>XkhqFwwz*w`*!_pfLvFsrnE#F!xwM<~emo>1dwOP}335E3jT&fe4 zkReM78U4^c9!Bl?7JN>9`5mb~^V?>941zBhI*syQqep~p??qOm0Db@jhug9YwACT9 z(`e`Mf;VDLWW+DLy%6p=z0I2}=W#wG*=K3snr|Xvmt-OysLz8x^WHAVWbhznr4TQo zT0i7Zo0*Ct$PA%AN@X)w?=loaLTn2#*KF?1GI>9>PPPh_7H?&)TbZa>pTS>>wIlGL zm6L!L41;7x#&-Zt{N9bNr(`16-BJmN^dKEVmg%92p=PF!Q@@(B{Ai$cGCqRc>#XxZ zD9Vm_527Y4|IRW4c|Sr-dYa|Tsm4+)GRNdx5g7uo8*wCr0cJJhYs4tsRM8WLuE&Dykcs$-3y#_J8o(X`Y_Xo0ckB8Om{Bcb87&TlI)B z!c>oh0P@JGVBg4GM1lpBpp<8+;p)=NA2AJi|EI`7fIrrv@`b*J&y;qoZsj4-#{R+k zq7Cpq$^0Nq2-mq3`as7KL9+^#Xu%sQHO1T;wANX)#JKPMUju8TN-J9n3E01SL|y5t z244cghqhZr+*<|mg!{-J7)<-F2e?c3Qjd0W0YUC1b#|J>jGXn;_}VS^i{tIlZFf72 z@m$;0{(HN5Mu&?O2&n0RtSl*%I1k?MX9JDyr0x4o@phJFi$=heQe^YD_$P#E0fTo& z4pw794!yZrLsg!J@$cuB3@sn*)>#I6>nsl}WromQCB0;SLp^FHLgEmSb_*cT(H^jY z9yhG3C!I2UgEEW}U$BqG{iZg@qvcproCb-_+KZ2}1@>4}(?M}|=bCDBfPd=ZT7kM* zLeSqaFxg3>vP_hT&cUP~+8lDtaXO(Y=EW_AGxq7psb2T7R+Jk)Q#y((4F|<(9?Z;p z5H90~{!TY7cw1*#>r6(0F?)5D4phS9xDTuJkx}3Q+f%&<1jLn|FHaCY21v4PcXqzy zQJUiw50+Zg)xOk!5`G3xlD!|1_f`0otFr`9bC8$(_RFC|Ho{ZyEr@49c$foI?3WG9 zkJ__Ov2J_CCRLY*ecyM$h9kJ0&n|>=lgyt;=HHF5OFiQXlBwhT-WJBdTJ}s?r)z$j zhMQEIqSwl}HdLzunx*71Q|5Jd>Q>RQ57(0>r{oP(K2t!rgLUW!9SGP|&U{gN?d&B~ zaF?PI)#i;*d9beg;9Ju;uCl1o&k>+6X+qtw{<=L@Yil=+vACx0%*5Q3?Ijw4(#%m- zu6fboxb#ct{aBIY4HLi)?NfZ6Ez~-A`-v;dlb~w&-}?S5sx^|M$J3ch)5D!mPmkD_ z6IN8zw|G=^rnI24m%Da}sQ(qBuF@U9x#*h4PxskZdvR8&@iMc|UjGV}zY>ASHA7tB z*YhOsSwb_CcHHZ=2`d=YxRve(t+=<4q@rWqOZ}B%dv7EFy~S|(>LRIjOFC%XFTIa) zpPf^^r_^PdvIsjR8lnY;JXd6-OdiR1<-9hBKB^4!AX{J}S+|O(IqXHn7S}avsXXZ@ zn(xRbhUyl1HZfglc+`qR2=8b8a8qFVxJpT2igiz%$#HUki0Zb17B7Aa)wjVIKPGnX zBpx5k?ghraWf!o!sKW&!c$h0rX-s}5rR}AUjMVJY0Fwzp86*3QUilyfwM&{GuQ)F? zOY1xf7hU6clR}!U5~|%7 zF;u2szVfeRR1MEcpk03LVIwK-2E`!+*SU|&K*Cr8z7QgyTT_ZqQ=e^rIkB`@*gKK_ zAscP43&@cCnyMz7EylPI3+kYUxzEOjg44#T({D>mWZn(G*^X^066mEgv;NJfutmyT zpZyt?ix(8`^To}4ruFKj+>#%YF(9b2G|N}KnX~-%BKTT)>d2344XZnbR^4A;X98B) z_3>Dz%cv}YE*09wOW3c<8jJS1>c7LmalzqI1XTyg@wV6mH|%&i!{z+_oDxfP(R?0UH4UM6KcMc1g>m+% zM2%FiqPh#bD;j|CFCEuf>_vU1FyrkF>piQC6~@c;=tAS-MJxQGxE26>8~$pQ){SK& zwP$RY<%iO~PK};i7NG>54&Thw>c|b>@D~LrzZ4vLnn}N>{Pa5(>)b{V0kb(*vISIA z+`oOi8yvwTPc^Zgg6qURNPSDv-^tG9m0b09S_i}x$+?A*$d*;P*v5jV$MT*$ zDvUOi&3$=v8KfA_$BVgTP+3d@8I^C0c>j87DBoo~9o?`w*U|1XrKr=xwUcdVuoU0^ zdq9f7p0%tQ(5z6Hg8Y2_$Jcnj^!>`$Cj+i zaW~!rxd=Ot>pQEVzC2e|&|)VAuFrqvO4@p|4raPUN<}N&qnA=JiSYmVYvitl+YiOxehE4mg_HcmhS zC_gyNYIh2bV&QijfZ#HN2|by=>Wt~L?gI)df>oQqiiNId}THPUEZ|oJ5Q{5xFr$FjF@&| z`W=x$g?R_D2CPi8OsYaWmgEK#XR6QW5qJ6vqgcym$U-T>`m~$DEr*exT_~8gFy9;@ zC9OSv=l7?kkj)7`Jd~%Rtv~#Uh$V8QW5he=v>s8m6mbu!^*JvC2r1GDgLHipEG?pZ zS1-N*xgJN|S&$T6W;9EohJ|2sLVN5F^_X+d8`Upq8A7@L>P&aRT=kU;N**Q1vt+#% z`?~bE4O~X6PMFpd;a|QoN`?3Vdsu|sp8j0AJnlh2w4Aw$dS8BEG>AjYd$c^$Dw}(; zy46n~T|CNeHvI@7dk(|qac-lkAo%K5`=-io-Bt@l*yU+7jqn~!N!(D3Qg7I=`p*Dn z7eUuJ9?VMr>})mibeE2gA^q-t65RSZ{-Ax@>5#3fd%pW6oKmIJpbnICM@(_n|gx$_|w^~I{+i`_L$j+WrpBdW}Qs=EKKuoQb8RCe-bvY4F! zBo#2uPY)$&cEXpdXi7Lgktgz{`k;)Cl@Ej3UIxQ1#K7~ZP#!n z!m~LrfE;?;Fmpc4zkonJuT&rd`hqIU1#!6)frxH)u_l z*^F-MR=Wj-1T||ErAVW~ua=0=nrFgKT-RuC;vO@62YCsyB$1!18{vRR1C06i^__-7 zfl_6duM$>A|F_y~o%47*iQZD*o$C@6x^0%_KR@-u^gZmZXlF=Gj^s6vR;ye=o^QWp z0sL^p!_Y|EdH;WF&OF>s>pU2I-89dORQrR2U8hO=+hV^7a)9R_Z4k6pqfEUNK3o5y zeWc17C{78BRYzF>;&8=btaq>?gS2a8Z68fQ^M%lnH&=d@n0?{QK;#0cXUJdVnx(an z+P@%OignTa3gGG_@&okqwdxW zW0TJyV#L)TBIow5tsB7O`(a7U>rSnekFxEm zt^ngfB7;FI0TG_lr$a_izkfIL1*e3?M+M9~wO!=O{_dWsBZH#XE&oGAbE zdvh@ML~$&P{_4$BoCei>t%V%MZHI~5snbh6km)qYW&7h$Yx~ji5&foj=IJ#ADHLlk z&tQdwE(<$0CrPu1*D0lfTld`80&{9?r*WI}IT3X->7l_Q{E~YyO{0eCmjN&@Kbc@o zJwZ(D$)&(g&*77k2P5jVXoKF=fs4*#<+&GrnU(ulAV{@~Y2Ev?P3rhtZ_}5kR(;4$vprR;3dzVRmbszSG>F@?YYIPJuxk)7WBYE9Z(_K{`k@_&vd7w z#p|x?G_Y0eI)A@uh`>^)ZWx`xOqoM**wh9s|zxv}x@ILjgIO zI0&&0hd9#X-5u+__vu%%p3qIkw7`O~o8Q*>XF=`2na8+Oz2iY96de`RTJq9Vm?tMs zr<{|AuXn+AyD7BL4?4{<%J+GNUJ*=O@KpkCEW?2Ijx>=C2z{odW3w| zyM$pZFWrGR5{n*Be+Qiqc7&M@Qlzd^wVqRacxh3*p@HhP;he7C@c{95-^i%(+>y*u zjE`nJ#a;e#L-qv}Q)Dej*N;IRJh6U$nw3!kDC|48L+AXb_T4SyKcQzQr1XP6I(p56 z)$^6)^UJ?Dme16miM9(myt*i3c*5slwI!}MwG13&*m;8HdFW{Brx}T2w)t`i(@~gEuxDp(Xx{+WI#>)N7Lr~u=ucx6H%qI{oa(La@h839?{`rxgcVwK^@KH zhxlg zWE11{hHoDzpPJzX=jLAPUFYep-purmYHi1wl88^JeRsnxo}YmMW@i4EHzO6YOzK`( z1mfSnY?~njZ?|)314H|wj2Sf6W&Fyps9JiFVe$KaITVBA6}Xz-osvpUbM44AvWDjn zqYqVKSw8j}*tP*Vr@Kr4ln#MNyP!i;PcT!y*3O9Rxbe;GSIF;=8sZhb!SwcUYxrAY z!_4Q`M>ywVT$X^lgmm+?FQ9$6Uy5|NVMo#_vA||OT!LxA-cCb##q?{0cF82CE#q%l zoIziTn$zNEt1YB`!nD9EuGan)E=>RfSLA)|>IS`dDUQ8n8L(EWjfD$e%~)?Xl+L!# zzJp;%qF4jCJ%`B-^AyhY;prFIiegDGz|$F9d(eRR4t@#N^a@xL_7xe)^{zZE-nObc zl4Y14RPRH5bRA~CD0()F*)bJR1gmzt@=QTezo9qc87LBzLt;9$Yj6x!x}vO9i}9*U=-< zH9)dR!0Pf0&-26{YO$Y;3FU+ko_>Dh?T01!Sqh|0^bgn=b3X&#q{_MJwy}>p)!oH4 z78%-zdM}5Jl$Xl0jN}_M>gSP#{eIaTKF#EbTH2mQ&!=yoGC2QAeYEnHWl101t+(2C zIou}mjeuxdPLL%S2NjeoCHKE3?e>6ZM8&_G3%#(?iEP&vd2$%%+-3FSW1b8@nCF}0 zTZ1JQD2m%ikx7#-whifm3ZLyzllg13R?waA31fW$Jv39~H`>QlC*(les38+Y`MOQK z|28i@pz?xbmS@+3y*(eE?MTWAdG_>`sCS^jRgbykywQw(D)+-;0t7FBlitBd1si9% z+_0^<$C%YdngK86e9f1*?kGEldlgpM%IzE^s+|6d&x_|BK;}~(Yv(oi7I_5rb^5`e zb}Whi`BRVKvfAF(#70Bxb($x{z9HVUvAs(cEDWxCg^o;yHkaOJlO$>C$C|>q+w~aF zbdnF-6iYBce3ojA7^za61%@aqX7v2*P%~>j8XM6w4u|H*X6ORm0SD5mJ^hqz9-A!DBjF7^{e4#oDsAp_{Y`0LbxF` z>H-S+V&n^XcS=!7a}acIK2NCAKtXz-I{sHZu(xGpFi*_x&?rq#(t=LEHiAQ=E}>jT zfhyUdpmGq{vXZ;MC0ZnTd4GJeNrA+12MF2o;uX)-xvCPNQ5R9je~uHq0*#@Cx1rN6 z-?-KN1`nb$w8^8@E+$??QYG@+>)ZR2NTKq*mxF?Oj-)=+7A}S@5BvzP46cZrYu)US z$?^wl5D?UI5xI1-Iybj^tsYAhP}^R`+~qPfCYpid|GW8pCX9g#Uf5Rq<#l&@L>!J?B|7&x@6~z!_V#9WVYyVZzK52tWVr_a#D;W*9P*QYzm~6|7@0Z~RO}W1lyUZ%UdH8Z?+I}0Q5=qb8670&yzh~CaeGz0FXTJjgbF|;Kyit&X{s%Lgu++p_!JNi29Zlz8CaDcO z$$6sOVBR^Nh87le9FR_b{O!Ilb5y}*JH>ymYmGyvZux$Hfv8Ap4BNAoyu7B}r`DVt zF9kAQI}t7R8$94N>R;RijP-EiM?eI{J^=_`csx1<5^p9uie zWk7)+>(f^ArP3-$ruh|Kx>{=%StB-W)cd)GnL)UvmRBWu zFiYDcLd>kj)g+FAu<)C#tCqij`ZDn~K@>ZhHu$1-bP(*(mIWUq<}@^$;+fb#`~8sb zrlq-5&i4|t;wAXx6+{=?@0|-L0KT{H$%*ifog4H0P~-C75V)0b@v|=sL@V6S+4442 zN(Pym6jXY$!iv3Ko_74$ZD?T`F?;U|qp*`DsbBWLG1{lpcCX+d2V1n)43suCNBRHN z`|~jM&@KJrNh`BI|9GF$J3uUIbj8eWH(1)n2;S(dKB5`7eg@!QjEUUHA(eg$_k0c!w@Q07<-%(L+45cU<~iSgCiRnls#D1GJzid)4! z(FHu3EnT)^d(w(t)}1t0zIb6d%y zB}Pj&O|<~hrfE*EkV|U6cj~;%{7yY_0cBh2lV;PHL=K!>E61iIz>Gl#79mltnvr-fM$hb8?E8Beb_K$Vz-5f7%VXnRQ7hY z4?Or@;&H0n{DvB)DSE-}-3oSWv-AZhmMC7Sgkh^(4qre~oVp+F|7C>+Qk5va&g18m z>%}?2j~Ra|^v49NkHr0z=HrQfZ}$P!f9OCNu-A_bW*s;{$%q@5mW&gT<^3#ors7}e pKMelCI{&`#>H+Yft);J7a_7aH{{u#Szoq~H literal 11712 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%0AyM4HL_PIcpp+v9W=n0NgyJp5Mj= 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 diff --git a/android/app/src/test/snapshots/images/com.codeyam.android.ui_CountHeroSnapshotTest_countHeroRendersATwoDigitCount.png b/android/app/src/test/snapshots/images/com.codeyam.android.ui_CountHeroSnapshotTest_countHeroRendersATwoDigitCount.png index 1bdffd94779f00712f406d4440df4cf9995f7999..c638ff6bc42957233de5ca522935761cf87605a0 100644 GIT binary patch literal 6638 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 XO$SZcb4$U0Xi(Vw=EnE;I$iu1QvOK; diff --git a/android/app/src/testDebug/java/com/codeyam/android/ui/CounterScreenInsetsTest.kt b/android/app/src/testDebug/java/com/codeyam/android/ui/CounterScreenInsetsTest.kt new file mode 100644 index 0000000..fb59762 --- /dev/null +++ b/android/app/src/testDebug/java/com/codeyam/android/ui/CounterScreenInsetsTest.kt @@ -0,0 +1,175 @@ +package com.codeyam.android.ui + +import androidx.compose.foundation.layout.WindowInsets +import androidx.compose.ui.test.getUnclippedBoundsInRoot +import androidx.compose.ui.test.junit4.createComposeRule +import androidx.compose.ui.test.onNodeWithContentDescription +import androidx.compose.ui.test.onRoot +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.height +import com.codeyam.android.model.AppSettings +import com.codeyam.android.model.CounterModel +import com.codeyam.android.model.InMemoryKeyValueStore +import org.junit.Assert.assertTrue +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.robolectric.RobolectricTestRunner +import org.robolectric.annotation.Config +import org.robolectric.annotation.GraphicsMode +import kotlin.math.absoluteValue + +/** + * The regression guard for edge-to-edge, which target 36 makes unconditional — + * the `windowOptOutEdgeToEdgeEnforcement` escape hatch is ignored, so the window + * extends under the status and navigation bars whether the app is ready or not. + * + * Why this test exists at all: nothing else in the suite touches a window inset. + * The Paparazzi goldens render `CountHero` in isolation, a leaf composable that + * never sees one, and every model test runs headless. Without this, the entire + * edge-to-edge change would ship on nothing but a careful reading of the layout. + * + * Insets are injected rather than read from the platform: under Robolectric there + * is no real window, so `WindowInsets.systemBars` is all zeroes and the behaviour + * under test would be invisible. `CounterScreen` takes them as a defaulted + * parameter for exactly this reason — production still resolves the real ones. + * + * Lives in `src/testDebug/` for the same reason as the other Compose test here: + * `createComposeRule` needs a host `ComponentActivity`, contributed only by the + * `debugImplementation` ui-test-manifest AAR. + */ +@RunWith(RobolectricTestRunner::class) +@GraphicsMode(GraphicsMode.Mode.NATIVE) +// The window size is pinned, not inherited: the size assertion below compares +// against a proportion of the window, and Robolectric's default device is small +// enough that the bottom bar would clamp to its 64dp floor and mask the very +// difference the test exists to detect. +@Config(sdk = [34], qualifiers = "w411dp-h891dp") +class CounterScreenInsetsTest { + + @get:Rule + val composeRule = createComposeRule() + + private fun freshState(): CounterScreenState { + val store = InMemoryKeyValueStore() + return CounterScreenState( + model = CounterModel(store), + settings = AppSettings(store), + ) + } + + /** + * Deliberately lopsided and much larger than any real device's, so a failure + * is unambiguous and an off-by-a-few-pixels rounding artefact cannot pass for + * a correct result. + */ + private val fakeInsets = WindowInsets(left = 0.dp, top = 80.dp, right = 0.dp, bottom = 120.dp) + + /** + * The status bar is the top inset. The hero numeral must start below it, not + * underneath it — the visible symptom of the bug on a live device. + */ + @Test + fun theCountHeroClearsTheTopInset() { + composeRule.setContent { + CounterScreen(state = freshState(), contentInsets = fakeInsets) + } + + val rootTop = composeRule.onRoot().getUnclippedBoundsInRoot().top + val heroTop = composeRule.onNodeWithContentDescription("count-value") + .getUnclippedBoundsInRoot().top + + assertTrue( + "Hero top ($heroTop) must clear the 80dp status-bar inset from root top ($rootTop)", + heroTop >= rootTop + 80.dp, + ) + } + + /** The navigation bar is the bottom inset; the control row must sit above it. */ + @Test + fun theBottomControlRowClearsTheBottomInset() { + composeRule.setContent { + CounterScreen(state = freshState(), contentInsets = fakeInsets) + } + + val rootBottom = composeRule.onRoot().getUnclippedBoundsInRoot().bottom + val incrementBottom = composeRule.onNodeWithContentDescription("increment") + .getUnclippedBoundsInRoot().bottom + + assertTrue( + "Increment control bottom ($incrementBottom) must stay above the 120dp " + + "navigation-bar inset, i.e. no lower than root bottom ($rootBottom) - 120dp", + incrementBottom <= rootBottom - 120.dp, + ) + } + + /** + * The one that catches the subtle failure — and the reason the two position + * assertions above are not sufficient on their own. + * + * Move the inset padding INSIDE `BoxWithConstraints` and the content still + * *lands* correctly, because the base `Column` fills whatever space it is + * given and `weight(1f)` absorbs the difference. Every positional assertion + * keeps passing. What silently changes is SIZE: `CounterBottomBar` derives + * `assemblyHeight = screenHeight * 0.20f`, so reading `maxHeight` from the + * un-inset window makes the whole bottom assembly proportionally too tall — + * scaled to a window the content no longer occupies. On a device with slim + * system bars the error is a few pixels; on one with a tall nav bar and a + * cutout it is substantial, which is the "correct on the device I tested" + * failure mode this layout was written to avoid. + * + * The expected value is intentionally computed from the same constants the + * production code uses. If those change, this assertion should be updated + * deliberately — the geometry contract changing is a decision, not noise. + */ + @Test + fun theBottomBarIsSizedFromUsableHeightNotTheFullWindow() { + composeRule.setContent { + CounterScreen(state = freshState(), contentInsets = fakeInsets) + } + + val root = composeRule.onRoot().getUnclippedBoundsInRoot() + val incrementHeight = composeRule.onNodeWithContentDescription("increment") + .getUnclippedBoundsInRoot().height + + // CounterBottomBar: assemblyHeight = screenHeight * 0.20f, + // topBarHeight = max(assemblyHeight - 64dp, 64dp) + val usableHeight = root.height - 80.dp - 120.dp + val expected = (usableHeight * 0.20f) - 64.dp + val wrongIfDerivedFromFullWindow = (root.height * 0.20f) - 64.dp + + val tolerance = 2.dp + assertTrue( + "Increment bar height ($incrementHeight) must be derived from the USABLE " + + "height (expected ~$expected). Deriving it from the full window would " + + "give ~$wrongIfDerivedFromFullWindow, which means the inset padding was " + + "applied inside BoxWithConstraints instead of outside it.", + (incrementHeight - expected).value.absoluteValue <= tolerance.value, + ) + } + + /** + * The background is deliberately NOT inset — the app is a uniform near-black + * and the bars should blend into it, so the root still spans the full window. + * This pins the "pad the content, not the window" half of the change: a fix + * that inset the whole screen would pass the two tests above while visibly + * letterboxing the app. + */ + @Test + fun theWindowItselfStaysEdgeToEdge() { + composeRule.setContent { + CounterScreen(state = freshState(), contentInsets = fakeInsets) + } + + val root = composeRule.onRoot().getUnclippedBoundsInRoot() + val hero = composeRule.onNodeWithContentDescription("count-value") + .getUnclippedBoundsInRoot() + + // The root must be taller than the inset content it holds — proof the + // padding landed on the content rather than shrinking the window. + assertTrue( + "Root height (${root.height}) must exceed the inset hero's offset", + root.height > hero.top - root.top, + ) + } +} diff --git a/android/gradle/libs.versions.toml b/android/gradle/libs.versions.toml index 6d369db..2bc157b 100644 --- a/android/gradle/libs.versions.toml +++ b/android/gradle/libs.versions.toml @@ -1,13 +1,17 @@ [versions] -agp = "8.3.1" -kotlin = "2.0.21" +agp = "8.13.2" +kotlin = "2.3.0" coreKtx = "1.12.0" junit = "4.13.2" lifecycleRuntimeKtx = "2.7.0" activityCompose = "1.8.2" composeBom = "2024.02.01" kotlinxSerialization = "1.7.3" -paparazzi = "1.3.5" +# 2.0.0 alpha line, not 1.3.5: Paparazzi 1.3.5 crashes on `compileSdk 36` +# (cashapp/paparazzi#1877, fixed only in 2.0.0-alpha02+ with no 1.3.x backport). +# alpha05 matches the AGP 8.13.x pinned above and needs JDK 21 — see ci.yml. +# Test-scope only, so the alpha never reaches a shipped artifact. +paparazzi = "2.0.0-alpha05" robolectric = "4.14.1" androidxTest = "1.6.1" diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index b82aa23..37f853b 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From 843a4d24ece5343e15424816e5137d6c0e6664b6 Mon Sep 17 00:00:00 2001 From: nseldeib <30483582+nseldeib@users.noreply.github.com> Date: Mon, 10 Aug 2026 17:11:11 -0400 Subject: [PATCH 2/2] chore: archive shipped plan ne--android-16-target-sdk-36 --- .codeyam/plans/{ => completed}/ne--android-16-target-sdk-36.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .codeyam/plans/{ => completed}/ne--android-16-target-sdk-36.md (100%) diff --git a/.codeyam/plans/ne--android-16-target-sdk-36.md b/.codeyam/plans/completed/ne--android-16-target-sdk-36.md similarity index 100% rename from .codeyam/plans/ne--android-16-target-sdk-36.md rename to .codeyam/plans/completed/ne--android-16-target-sdk-36.md