* fix(ios): show recent usage days first
Use the device calendar for daily usage buckets so late-evening and travel activity stays on the expected date.
Co-authored-by: Barnett Klane <barnett.klane@gmail.com>
* fix(ios): satisfy native validation
Keep the generated i18n inventory aligned and use the optional Data-to-String conversion required by the iOS lint policy.
Co-authored-by: Barnett Klane <barnett.klane@gmail.com>
* test(ios): publish native usage ordering proof
Add a deterministic 20-day Usage fixture and an exact-head XCUITest that verifies the newest fourteen rows, captures the corrected native screen, and publishes the PNG separately from App Store screenshots. Keep screenshot proof running after unrelated lifecycle-test failures and lock the artifact path into the Fastlane gate tests.
Co-authored-by: Barnett Klane <barnett.klane@gmail.com>
* fix(ci): serialize Swift tests on hosted forks
Keep the 12-vCPU Blacksmith path parallel while avoiding process and timing contention on hosted fork runners.\n\nCo-authored-by: Barnett Klane <barnett.klane@gmail.com>
* fix(ci): budget hosted serial Swift tests
* chore(ci): keep usage fix scoped to iOS
* test(ios): fail closed on missing usage proof
* test(ios): simplify usage proof scope
---------
Co-authored-by: Barnett Klane <barnett.klane@gmail.com>