You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[x] Fix SwiftLint accessibility warnings (labels/hidden images; tap gestures treated as buttons)
42
+
-[x] Fix SwiftLint `line_length` warnings (wrap long strings and interpolations)
43
+
-[x] Confirm build log has zero compiler warnings and zero SwiftLint violations (baseline)
44
+
38
45
### Phase 2 — Data model and persistence boundary hardening
39
-
-[] Decide whether `saved`/`deleted` in [TrackItem.swift](file:///Users/gc/Developer/Aemi%20Studio.nosync/Pasitea/Pasitea/Model/TrackItem.swift#L12-L60) should be persisted or `@Transient`
40
-
-[] Add SwiftData schema versioning and migration strategy (if any user data exists)
41
-
-[] Introduce a persistence facade (main-actor or model-actor) and route saves through it
42
-
-[] Stop calling `ModelContext.save()` directly from views (only via the facade)
46
+
-[x] Decide whether `saved`/`deleted` in [TrackItem.swift](file:///Users/gc/Developer/Aemi%20Studio.nosync/Pasitea/Pasitea/Model/TrackItem.swift#L12-L60) should be persisted or `@Transient` (removed; no longer persisted)
47
+
-[x] Add SwiftData schema versioning and migration strategy (if any user data exists)
48
+
-[x] Introduce a persistence facade (main-actor or model-actor) and route saves through it
49
+
-[x] Stop calling `ModelContext.save()` directly from views (only via the facade)
43
50
44
51
### Phase 3 — Safety cleanup (crash-proofing)
45
52
-[ ] Replace force unwrap of `TrackType(rawValue:)` in [TrackItem.swift](file:///Users/gc/Developer/Aemi%20Studio.nosync/Pasitea/Pasitea/Model/TrackItem.swift#L62-L82)
0 commit comments