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/completed/ne--android-16-target-sdk-36.md b/.codeyam/plans/completed/ne--android-16-target-sdk-36.md new file mode 100644 index 0000000..9705db7 --- /dev/null +++ b/.codeyam/plans/completed/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 cb69723..af7a5aa 100644 Binary files a/android/app/src/test/snapshots/images/com.codeyam.android.ui_CountHeroSnapshotTest_countHeroRendersAGroupedFourDigitCount.png and b/android/app/src/test/snapshots/images/com.codeyam.android.ui_CountHeroSnapshotTest_countHeroRendersAGroupedFourDigitCount.png differ 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 1bdffd9..c638ff6 100644 Binary files a/android/app/src/test/snapshots/images/com.codeyam.android.ui_CountHeroSnapshotTest_countHeroRendersATwoDigitCount.png and b/android/app/src/test/snapshots/images/com.codeyam.android.ui_CountHeroSnapshotTest_countHeroRendersATwoDigitCount.png differ 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