Files
WerkoutIOS/docs/step11_watch_regression_and_architecture.md

41 lines
1.4 KiB
Markdown

# Step 11 Watch Regression + Architecture Cleanup
## Scope
Executed in requested order:
1. `#2` Focused watch/phone disconnect-reconnect regression coverage.
2. `#3` Architecture cleanup to reduce shared cross-target coupling.
## #2 Regression Work
- Added shared queue primitive:
- `SharedCore/Sources/SharedCore/BoundedFIFOQueue.swift`
- Added regression tests for disconnect/reconnect replay and overflow behavior:
- `SharedCore/Tests/SharedCoreWatchOSTests/BoundedFIFOQueueTests.swift`
- Wired iOS watch bridge queueing to shared queue:
- `iphone/Werkout_ios/BridgeModule.swift`
- `iphone/Werkout_ios/BridgeModule+Watch.swift`
- Wired watch sender queueing to shared queue:
- `iphone/Werkout_watch Watch App/WatchMainViewModel+WCSessionDelegate.swift`
## #3 Architecture Cleanup
- Replaced ad-hoc notification wiring with a shared typed notification constant:
- `SharedCore/Sources/SharedCore/AppNotifications.swift`
- Updated consumers to use shared constant:
- `iphone/Werkout_ios/UserStore.swift`
- `iphone/Werkout_ios/Werkout_iosApp.swift`
- `iphone/Werkout_ios/Views/CreateWorkout/CreateViewModels.swift`
- `iphone/Werkout_ios/Views/AllWorkouts/AllWorkoutsView.swift`
- Removed iOS-only notification extension that created cross-target coupling:
- `iphone/Werkout_ios/Extensions.swift`
## Validation
- `./scripts/smoke/smoke_all.sh` passed:
- token scan
- SharedCore tests (including new queue tests)
- iOS/watchOS/tvOS builds