Skip to content

Count rejected Liftosaur history records on Swift - #1497

Merged
ryanbr merged 1 commit into
ryanbr:mainfrom
bhelm:fix/issue-94-liftosaur-history-skipped
Aug 21, 2026
Merged

Count rejected Liftosaur history records on Swift#1497
ryanbr merged 1 commit into
ryanbr:mainfrom
bhelm:fix/issue-94-liftosaur-history-skipped

Conversation

@bhelm

@bhelm bhelm commented Aug 20, 2026

Copy link
Copy Markdown

Summary

Fixes the skipped-record undercount documented in bhelm/noop#94.

Swift's for case loop silently omitted non-object history elements, so they never reached the skipped counter. The loop now visits every element, increments once when an element is not a dictionary, and leaves the existing malformed-object and valid-session paths unchanged. Android already has the intended behavior and remains the unchanged product control.

Tests

  • Adds mirrored exact Swift/Kotlin coverage for a heterogeneous four-element history, including the valid session fields/order and exact skipped == 3 result.
  • Fresh independent static review of the exact frozen union delta passed with no P0/P1 findings; this PR's frozen three-file patch is an exact reviewed constituent (patch SHA-256 e65b967dc296d09d5ea40776d7b21495b5b75c850917048e3f67091001187f1f).
  • Combined Native validation on the reviewed union (c7571fd020d6947594eb79198ba88ece7ab4648824c312e0bbee9e14f1150d97) exercised this exact named test: Swift focused 1/1 passed; Swift affected 28 tests passed; Swift full 241 tests passed with 1 skip. Kotlin focused aggregate 7 tests passed; affected 35 passed; full 4,157 passed with 6 skips and no failures/errors.
  • Evidence artifact: /root/whoop/validation/product-fixes-93-99-union-native/43-final-audit.txt (recorded 2026-08-20, exact union hash and named-test occurrence audit).

@ryanbr
ryanbr merged commit 46c3e00 into ryanbr:main Aug 21, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants