Show fertility on Today and the Calendar, with the disclaimer wherever it appears #22

Closed
opened 2026-08-18 14:44:42 -05:00 by null · 0 comments
Owner

The surfaces are already built and waiting. CycleStatus.DuringFertileWindow and CycleStatus.BetweenPeriodAndFertile.daysToFertileWindow exist and are unreachable; DayMark.FERTILE_WINDOW and DayMark.OVULATION have markers drawn, shapes chosen and greyscale verified, and are never produced. This issue makes them reachable.

What to do:

  • feed the estimate from the previous issue into CycleRepository, so both screens receive it the same way the forecast is received
  • Today's fertile-window state (§22) and the days-to-fertile-window line show real numbers instead of being skipped
  • the calendar marks the window and the ovulation day

The disclaimer is a requirement, not a courtesy. §18: "Fertility and ovulation dates are estimates based on cycle history and are not intended to be used as contraception or as a medical diagnosis." It appears near fertility features and in About. The calendar legend already carries it; Today's fertile state must too.

Language, from §17: "Estimated ovulation", never "You are ovulating today". The word estimated is load-bearing and it is not decoration — this is a health app in a category Google Play scrutinises, and a sentence that reads as a medical assertion is both a product failure and a compliance one.

Verify: with a forecast present, the calendar shows a fertile-window run and one ovulation day; Today reaches its fertile-window state; the disclaimer is on every screen where fertility appears; and grep -rin "you are ovulating\|safe day\|unsafe" app core domain returns nothing.

The surfaces are already built and waiting. `CycleStatus.DuringFertileWindow` and `CycleStatus.BetweenPeriodAndFertile.daysToFertileWindow` exist and are unreachable; `DayMark.FERTILE_WINDOW` and `DayMark.OVULATION` have markers drawn, shapes chosen and greyscale verified, and are never produced. This issue makes them reachable. What to do: - feed the estimate from the previous issue into `CycleRepository`, so both screens receive it the same way the forecast is received - Today's fertile-window state (§22) and the days-to-fertile-window line show real numbers instead of being skipped - the calendar marks the window and the ovulation day **The disclaimer is a requirement, not a courtesy.** §18: *"Fertility and ovulation dates are estimates based on cycle history and are not intended to be used as contraception or as a medical diagnosis."* It appears near fertility features and in About. The calendar legend already carries it; Today's fertile state must too. Language, from §17: **"Estimated ovulation"**, never "You are ovulating today". The word estimated is load-bearing and it is not decoration — this is a health app in a category Google Play scrutinises, and a sentence that reads as a medical assertion is both a product failure and a compliance one. Verify: with a forecast present, the calendar shows a fertile-window run and one ovulation day; Today reaches its fertile-window state; the disclaimer is on every screen where fertility appears; and `grep -rin "you are ovulating\|safe day\|unsafe" app core domain` returns nothing.
null added this to the Batch 04 — Fertility milestone 2026-08-18 14:44:42 -05:00
null closed this issue 2026-08-18 14:56:09 -05:00
Sign in to join this conversation.
No Label
P0
P1
P2
release-blocker
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: null/Privacy-Period-Tracker#22
No description provided.