Canonical path: HealthProbe/Doc/04-project/Development-Log.md
Created: 2026-06-06
Purpose: Preserve project context that affects decisions across agent sessions.
This is the project memory log. Use it for facts that explain why HealthProbe is being built, why a device or dataset matters, and what historical context should not be rediscovered repeatedly from chat history.
Use specialized documents for detailed technical evidence:
- import timings and performance experiments: Import-Optimization-Log.md;
- refactoring milestones: Refactoring-Plan.md;
- current implementation status: IMPLEMENTATION_STATUS.md;
- product scope and non-goals: ../01-product/Product-Specification.md.
Import-Optimization-Log.md
too.The large-database test device is a restored copy of the user's Health database from before the data-loss event noticed later on the iPhone 16. It is not the untouched original device state.
Important properties: - "12 mini" is the historical/original device name used for this Health database lineage and source backup context; - the restored test device may be reported by tooling with a different hardware model or current device name, so reports should preserve both the user-facing lineage name and the technical device identifier when available; - the source backup still exists and can be restored again if needed; - the restored device has already been used for attempts to restart or force natural iCloud Health synchronization; - results from this device should be labelled as coming from a restored pre-loss-reference copy; - the device can be used for aggressive experiments when necessary, because it is not the only copy of that state; - it remains a crucial reference dataset for future two-database comparison work.
Why this matters: - HealthProbe exists partly because this kind of Health database state can become inconsistent across devices and over time; - the app must distinguish Health UI visibility, HealthKit availability, synchronization state, and HealthProbe archive state; - future multi-archive comparison should compare this restored pre-loss reference against the current iPhone 16 archive without assuming record-by-record cross-device identity.
A complete first import from 2026-06-04 on the restored reference device included
Blood Pressure Systolic and Diastolic:
- both were authorizationStatus: granted;
- both imported 5,120 samples;
- both ranged from 2014-12-18T11:24:11Z to 2026-05-29T03:06:36Z.
A later retry on 2026-06-06 from the same device reported both Blood Pressure
types as unavailable because HealthKit returned Authorization not determined
for earliest/latest queries.
Interpretation: - this is evidence of a device / iOS HealthKit authorization or Health database state change; - it is not evidence that HealthProbe cannot import Blood Pressure; - future runs should preserve these reports as before/after context.
The original 15-type capture profile is only a v1/test subset. It is not enough to validate the database or import architecture because the real target is full authorized backup of the local HealthKit-accessible database.
Reason: - assumptions that hold on a small Health subset may fail on full profile volume; - Apple Health may aggregate, prune, stop syncing, or expose different data through UI versus HealthKit; - recovery-compatible exports need complete-enough source data, not just summary counts.
Implementation consequence: - SQLite remains the source of truth; - SwiftData must not be expanded; - import, storage, and export decisions should be validated against full-profile datasets where possible.
Authorization not determined or another HealthKit access failure?