P2.1: iOS Schema Versioning Strategy
- Added SCHEMA_VERSION constant and checkSchemaVersion() method in PersistenceController
- Version stored in NSPersistentStore metadata (observability contract, not migration gate)
- CoreData auto-migration remains authoritative; version mismatches logged, not blocked
- Documentation added to ios/Plugin/README.md with migration contract
P2.2: Combined Edge Case Tests
- Added 3 resilience test scenarios to DailyNotificationRecoveryTests.swift:
- test_combined_dst_boundary_duplicate_delivery_cold_start()
- test_combined_rollover_duplicate_delivery_cold_start()
- test_combined_schema_version_cold_start_recovery()
- All tests labeled with @resilience @combined-scenarios comments
- Tests verify idempotency and correctness under combined stressors
P2.3: Android Combined Tests Design
- Created P2.3-DESIGN.md with scope, invariants, and acceptance criteria
- Created P2.3-IMPLEMENTATION-CHECKLIST.md with step-by-step execution plan
- Design ready for implementation to achieve parity with iOS P2.2
Documentation Updates
- Fixed parity matrix: iOS invalid data handling now correctly shows "✅ Recovery tested" with test references
- Updated progress docs (00-STATUS.md, 01-CHANGELOG-WORK.md, 03-TEST-RUNS.md, 04-PARITY-MATRIX.md)
- Updated P2-DESIGN.md to reflect P2.3 scope (Android combined tests)
- Updated SYSTEM_INVARIANTS.md baseline tag references
Baseline Tag
- Created and pushed v1.0.11-p2-complete tag
- Tag represents P2.x completion (schema versioning + combined resilience tests)
All invariants preserved. CI passes. Tests runnable via xcodebuild on macOS.
34 lines
1.7 KiB
Plaintext
34 lines
1.7 KiB
Plaintext
feat(ios): complete P2.1 schema versioning and P2.2 combined edge case tests
|
|
|
|
P2.1: iOS Schema Versioning Strategy
|
|
- Added SCHEMA_VERSION constant and checkSchemaVersion() method in PersistenceController
|
|
- Version stored in NSPersistentStore metadata (observability contract, not migration gate)
|
|
- CoreData auto-migration remains authoritative; version mismatches logged, not blocked
|
|
- Documentation added to ios/Plugin/README.md with migration contract
|
|
|
|
P2.2: Combined Edge Case Tests
|
|
- Added 3 resilience test scenarios to DailyNotificationRecoveryTests.swift:
|
|
- test_combined_dst_boundary_duplicate_delivery_cold_start()
|
|
- test_combined_rollover_duplicate_delivery_cold_start()
|
|
- test_combined_schema_version_cold_start_recovery()
|
|
- All tests labeled with @resilience @combined-scenarios comments
|
|
- Tests verify idempotency and correctness under combined stressors
|
|
|
|
P2.3: Android Combined Tests Design
|
|
- Created P2.3-DESIGN.md with scope, invariants, and acceptance criteria
|
|
- Created P2.3-IMPLEMENTATION-CHECKLIST.md with step-by-step execution plan
|
|
- Design ready for implementation to achieve parity with iOS P2.2
|
|
|
|
Documentation Updates
|
|
- Fixed parity matrix: iOS invalid data handling now correctly shows "✅ Recovery tested" with test references
|
|
- Updated progress docs (00-STATUS.md, 01-CHANGELOG-WORK.md, 03-TEST-RUNS.md, 04-PARITY-MATRIX.md)
|
|
- Updated P2-DESIGN.md to reflect P2.3 scope (Android combined tests)
|
|
- Updated SYSTEM_INVARIANTS.md baseline tag references
|
|
|
|
Baseline Tag
|
|
- Created and pushed v1.0.11-p2-complete tag
|
|
- Tag represents P2.x completion (schema versioning + combined resilience tests)
|
|
|
|
All invariants preserved. CI passes. Tests runnable via xcodebuild on macOS.
|
|
|