CycleStart with derived cycle day #10
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What to build
A
CycleStartis aDateon which a User's menstrual period began. Recorded once per cycle, never per day. Cycle day for anyDateis derived from the most recent precedingCycleStartand is never stored.Storing cycle day as an integer — the original proposal — fails the same way storing moon phase would. It needs input every single day, which is the least consistently-trackable shape possible; a missed day is an unfillable hole; correcting a mis-remembered start date fixes nothing retroactively; and health providers export period records with dates, not cycle-day integers, so an import could never populate it.
Deriving it means one tap a month, no gaps, and a correction to a
CycleStartrepairs everyDatethat depends on it at once.The feature is entirely optional and invisible unless the User turns it on.
Acceptance criteria
CycleStarton aDateCycleStartchanges the derived cycle day for every affectedDateCycleStarthave no cycle day, and that renders sensiblyDateresolution uses the rule from #2Blocked by