Last Updated: 2026-05-25
This inventory supports Milestone 9 in Refactoring-Plan.md.
SwiftData is legacy/prototype infrastructure only. The target app must launch
and run active Time Machine flows from SQLite archive + Core Data cache, with
local settings stored outside SwiftData where needed.
After moving local settings/data-maintenance flows out of SwiftData, 23 app files still have SwiftData imports.
This file keeps SwiftData required at app launch:
HealthProbe/HealthProbeApp.swiftRetirement path:
- replace prototype snapshot model dependencies in tab roots;
- remove .modelContainer(...) once no active view needs @Query or
ModelContext.
These files define SwiftData @Model classes and are the largest retirement
block:
HealthProbe/Models/AnomalyRecord.swiftHealthProbe/Models/HealthRecord.swiftHealthProbe/Models/HealthSnapshot.swiftHealthProbe/Models/SnapshotDelta.swiftHealthProbe/Models/TypeCount.swiftHealthProbe/Models/TypeDelta.swiftHealthProbe/Models/TypeDistributionBin.swiftHealthProbe/Models/YearlyCount.swiftRetirement path:
- replace HealthSnapshot, TypeCount, SnapshotDelta, TypeDelta,
YearlyCount, TypeDistributionBin, and HealthRecord active reads with
archive/cache DTOs;
- replace AnomalyRecord flows with neutral change/diff DTOs;
- retire active reads/writes before removing the launch container.
These services still write/read legacy SwiftData transition models:
HealthProbe/Services/DeltaService.swiftHealthProbe/Services/HealthKitService.swiftHealthProbe/Services/ObserverService.swiftHealthProbe/Services/SnapshotLifecycleService.swiftHealthProbe/Utilities/TypeCountArchiveRepair.swiftRetirement path: - make capture persist archive observations first and expose only bridge ids while transition UI still exists; - move operation logging out of SwiftData; - delete legacy record repair once old SwiftData stores are no longer opened; - remove snapshot deletion/repair logic after archive/cache navigation replaces prototype snapshots.
These active surfaces still use @Query, ModelContext, or SwiftData model
types:
HealthProbe/ViewModels/DashboardViewModel.swiftHealthProbe/ViewModels/DataTypeTemporalDistributionViewModel.swiftHealthProbe/Views/Dashboard/DashboardView.swiftHealthProbe/Views/DataTypes/DataTypeTemporalDistributionView.swiftHealthProbe/Views/DataTypes/DataTypesView.swiftHealthProbe/Views/DataTypes/RecordChangeEvolutionChart.swiftHealthProbe/Views/Snapshots/DataTypeSnapshotDetailView.swiftHealthProbe/Views/Snapshots/SnapshotDetailView.swiftHealthProbe/Views/Snapshots/SnapshotsView.swiftRetirement path:
- replace tab-root @Query snapshot lists with Core Data cache observation
queries plus archive ids;
- replace detail navigation parameters from SwiftData models to observation/type
DTOs;
- remove remaining snapshot/cache SwiftData rows from active flows;
- keep paged record drill-down and export paths on archive APIs.
The following SwiftData dependencies were removed from active flows:
HealthProbe/Services/AnomalyDetector.swiftHealthProbe/Services/IntegrityService.swiftHealthProbe/Models/MetricTimeoutProfile.swift was deleted.HealthProbe/Utilities/LocalMetricTimeoutProfile.swift, a Codable local
store outside ModelContainer.SettingsView, DashboardView, and HealthKitService read/write timeout
calibration through the local store.HealthProbe/Models/DeviceProfile.swift was deleted.HealthProbe/Utilities/LocalDeviceProfile.swift, a Codable local store used
by Settings, Dashboard, Snapshots, and legacy PDF export.HealthProbe/Models/OperationLog.swift was deleted.HealthProbe/Utilities/LocalOperationLog.swift, a bounded Codable local log
outside ModelContainer.HealthProbe/ContentView.swift no longer imports SwiftData; its preview no
longer creates a legacy model container.HealthProbe/Views/Settings/SettingsView.swift no longer imports SwiftData.
Its Data section now reports/rebuilds/deletes the rebuildable Core Data UI
cache and leaves the SQLite archive untouched.DashboardView capture review actions away from ModelContext.