Stabilize iOS/watchOS/tvOS apps and add cross-platform audit remediation

This commit is contained in:
Trey t
2026-02-11 12:54:40 -06:00
parent e40275e694
commit acce712261
77 changed files with 2940 additions and 765 deletions

View File

@@ -0,0 +1,53 @@
# Step 12 Hardware Disconnect/Reconnect Pass
## Date
- 2026-02-11 (UTC timestamp used during check: `2026-02-11T18:45:42Z`)
## Coverage Attempted
- Device inventory:
- `xcrun xcdevice list`
- iOS destination eligibility:
- `xcodebuild -project iphone/Werkout_ios.xcodeproj -scheme 'Werkout_ios' -showdestinations`
- watchOS destination eligibility:
- `xcodebuild -project iphone/Werkout_ios.xcodeproj -scheme 'Werkout_watch Watch App' -showdestinations`
## Findings
1. Hardware watch pass could not be executed from this environment.
- Evidence:
- watch scheme showed simulator destinations only under available destinations.
- the only physical watch destination was ineligible:
- `Hollies Apple Watch` with error indicating watchOS version mismatch/unknown against deployment target `watchOS 9.4`.
2. Physical iOS devices are present/eligible.
- Evidence:
- available iOS hardware destinations included:
- `Gary Tartts iPad`
- `ihollieb`
- `Peeeeeeeeellll`
3. Physical watch pairing/connectivity state is the blocking dependency for true hardware disconnect/reconnect validation.
## What Was Added For Immediate Re-Run
- Hardware run script:
- `scripts/hardware/watch_disconnect_hardware_pass.sh`
- Script behavior:
- validates eligible physical iOS + watch destinations
- performs hardware-targeted preflight builds (`CODE_SIGNING_ALLOWED=NO`)
- emits manual disconnect/reconnect checklist and pass criteria artifact
## Manual Hardware Scenario (Pending Once Watch Is Eligible)
1. Start iOS + watch apps on physical paired devices.
2. Start workout from iOS.
3. Break transport (Bluetooth off on iPhone or Airplane Mode on watch) for ~30s.
4. While disconnected, trigger multiple state changes on iOS.
5. Reconnect transport and verify watch converges to latest state without crash/replay loop.
6. Repeat for two disconnect/reconnect cycles.
## Current Status
- Blocked on eligible physical watch destination.
- Queue/replay behavior is covered by automated tests in `SharedCore/Tests/SharedCoreWatchOSTests/BoundedFIFOQueueTests.swift`, but physical transport behavior remains unverified until watch eligibility is fixed.
- In this Codex shell, scripted destination probing/building is additionally constrained by sandboxed write restrictions to Xcode/SwiftPM cache paths; manual run on your local terminal is expected once watch hardware is eligible.