mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 20:42:43 +00:00
A user-visible "day 90" inside the cycle ring traced to the open cycle's phase window: the engine labels every day up to the predicted next start, and a confirmed or anchored ovulation signal (BBT trend, symptothermal double-check, LH surge — all clamped to future next starts) or a long estimated length can push that prediction into the future while the last logged period start is months old. Every day of the gap then carries a population-framed LUTEAL label, and the wheel's back-walk counted the whole gap as one giant cycle. deriveWheelState now applies an honest ceiling: beyond the profile's typical cycle length plus a 14-day grace window the wheel drops the day count and phase claim, draws the canonical four-phase dial, and the view swaps the caption for a factual "period is later than usual — the count pauses" line plus a log-period CTA. The dashboard ring tile and the insights summary card share the same derivation, so neither can show the inflated count. Calendar labels and the server DTO are unchanged.