2026-08-01T10:53:48Z - 2026-09-01T10:53:48Z
Overview
75 Issues closed from 1 user
Closed
#58 Restore from an encrypted export
Closed
#59 Show the cycle-length history as a chart, not a column of numbers
Closed
#65 The lock's ViewModels and biometric path have no tests
Closed
#63 App lock: a PIN just for this app, a fingerprint or face, or either
Closed
#75 Deferred: §30's four-button follow-up and §29's custom reminder time
Closed
#74 ReminderWorker, NotificationActionHandler and the scheduler have no tests
Closed
#73 Worker failures are indistinguishable from "nothing to say", and an answered reminder stays in the shade
Closed
#69 Reminder actions apply to today, not to the day they asked about
Closed
#67 Onboarding and the forgotten-PIN screen still have no way back
Closed
#66 SECURITY.md describes a biometric key that does not exist, and the checklist is missing the rows the log says it has
Closed
#72 Changing the reminder time does not move it, rescheduling can fire it early, and a zone change never re-aims it
Closed
#71 A denied notification permission is ignored, and unposted reminders still count as having asked
Closed
#70 The check-in counter resets on every process start, so the app may never stop asking
Closed
#64 A corrupt lock file can crash at boot, and a lockout that cannot be signed vanishes
Closed
#61 The Settings tab pins itself to whichever settings page you were on, and no settings page has a back arrow
Closed
#60 Change PIN never checks the current PIN
Closed
#62 Setting a PIN can lock you out of the session you set it in
Closed
#68 "Ended" on the period-end reminder records a new period instead of ending one
Closed
#50 Commit the learning-curve simulation as a permanent guard
Closed
#56 Evaluate a 13-day luteal phase against measurement
Closed
#57 Project the next year onto the calendar, with its assumption said out loud
Closed
#54 The constants that encode biology carry no evidence
Closed
#55 The Insights banner promises accuracy before a single prediction has been scored
Closed
#52 Windows tighten faster than the history earns, and coverage dips mid-learning
Closed
#53 A well-tracked drift is punished with a widening window
Closed
#51 A textbook-regular user never sustains High confidence
Closed
#46 Forecast snapshots lose their lineage, so a retro-logged period teaches the app nothing
Closed
#47 A scored snapshot outlives the period it was scored against
Closed
#48 A retroactively logged start leaves its "not yet" answers behind to penalise the next cycle
Closed
#49 CycleData.repository defaults to the retired baseline engine
Closed
#31 Incognito launcher needs its own icon and label, and neither exists
Closed
#32 Play Store listing assets do not exist, and Batch 08 says the listing must be submittable
Closed
#44 Dark Welcome illustration is a forecast scene
Closed
#35 Export My Data
Closed
#37 The privacy promise and policy in Settings
Closed
#43 Notification small icon is a framework dialog asset
Closed
#42 Guard that every drawable has a drawable-night twin
Closed
#34 Biometric and PIN app lock
Closed
#45 Application scope has no CoroutineExceptionHandler — a Room flow throw kills headless processes
Closed
#9 Register the Forgejo webhook for Period on the Command Center
Closed
#40 A unified onboarding step, with a full-bleed adaptive hero
Closed
#41 Illustrations are decoded at 4× — ship them in density buckets
Closed
#39 Onboarding artwork as full-bleed landscape masters
Closed
#28 Redraw the wordmark so the logo matches the written name
Closed
#38 Make §45's logging rules true in a release build, and guard them
Closed
#30 Launcher icon is still the placeholder vector, not the supplied emblem
Closed
#36 Delete My Data, surfaced and irreversible
Closed
#33 The designed Settings screen, with §36's sections
Closed
#29 Onboarding artwork: four of the seven steps have none
Closed
#8 Add the three branding marks at docs/data/img/
Closed
#27 Notification settings: independent toggles and a reminder time
Closed
#24 Notification copy that honours the three privacy modes
Closed
#25 Schedule reminders with WorkManager and no exact alarms
Closed
#26 The check-in notification, its actions, and knowing when to stop asking
Closed
#21 Estimate ovulation and the fertile window, with uncertainty inherited from the forecast
Closed
#22 Show fertility on Today and the Calendar, with the disclaimer wherever it appears
Closed
#23 Daily fertility likelihood labels that never say safe
Closed
#20 Insights: show the user what the app has learned
Closed
#19 Calendar with states that are distinguishable without colour
Closed
#18 Period start and end logging in one or two taps
Closed
#17 The Today screen and its six dynamic states
Closed
#16 Onboarding: seven screens ending in a forecast, with no account
Closed
#15 Placeholder vector artwork behind replaceable resource names
Closed
#10 Recency-weighted robust centre, replacing the baseline median
Closed
#11 Prediction window and confidence from variability rather than a fixed spread
Closed
#12 "Not yet" conditions the forecast instead of clamping the window
Closed
#14 Swap the engine binding and prove the replacement beats the baseline
Closed
#13 Detect a possible missing period and ask, never correct it silently
Closed
#7 Module-boundary guard: domain stays Android-free and ads cannot reach cycle data
Closed
#6 Period record CRUD: add, edit and delete a confirmed period
Closed
#5 Repository layer over Room and DataStore
Closed
#4 DataStore-backed UserPreferences
Closed
#3 Room database for cycle history, with entities, DAOs and a migration test
Closed
#1 Adopt the project template into this repository
Closed
#2 Kotlin, Compose and Material 3 project skeleton that builds and launches