mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-10 13:22:14 +00:00
Review caught a behaviour change this branch causes but never wrote down. `pickCanonicalSourceRows` takes the first ladder source present in a day's bucket and filters the day to that source. Before, a typed reading and a bridged one were both MANUAL, so both survived. Now MANUAL ranks, EXTERNAL does not, and the bridged row leaves the canonical set on any day that also has a typed one. That reaches every surface needing one source per day — the daily totals behind the charts, the health score, the doctor report, correlations, mood crosstabs and personal-record detection. A day with only bridged readings is untouched: nothing ranked is present, so the picker's pass-through keeps everything. The changelog says so in the user's terms, including the part that is a fix rather than a change: two indistinguishable MANUAL rows were both counted, which inflated a running total on a day somebody did both. Four cases pin it, because it is emergent from a rank ladder and stated in no single place: the contested day, the bridged-only day, the both-MANUAL shape the change moves away from, and a stored ladder that names EXTERNAL being honoured. Ranking EXTERNAL turns the first two red, which is the review anybody adding it to a ladder should have to pass.