• Joined on 2026-05-03
null pushed to main at null/Project-Template 2026-08-29 08:42:05 -05:00
26a2bb5e56 feat(guards): gate the claim of being finished, not only the artifact
694b161bb1 docs(tracker): an issue that produces a data shape names its surface
Compare 2 commits »
null pushed to main at null/Privacy-Period-Tracker 2026-08-21 02:32:48 -05:00
641e6865b0 docs: bring the QA verdict back in line with what has actually been run
null pushed to main at null/Privacy-Period-Tracker 2026-08-21 02:29:05 -05:00
ebe5ab8d6f docs: record the day the archive learned to come back
null commented on issue null/Privacy-Period-Tracker#58 2026-08-21 02:28:08 -05:00
Restore from an encrypted export

Landed in 0ae92bd.

The parse counterpart. core/export/ExportReader.kt over a strict hand-written Json.kt, mirroring ExportDocument.render in the same module. ExportRoundTripTest (17…

null closed issue null/Privacy-Period-Tracker#58 2026-08-21 02:27:46 -05:00
Restore from an encrypted export
null pushed to main at null/Privacy-Period-Tracker 2026-08-21 02:27:46 -05:00
0ae92bd134 feat: let an archive come back, and refuse everything that is not one
null closed issue null/Privacy-Period-Tracker#59 2026-08-21 01:55:48 -05:00
Show the cycle-length history as a chart, not a column of numbers
null pushed to main at null/Privacy-Period-Tracker 2026-08-21 01:55:48 -05:00
7910ffd05f feat: draw the cycle history instead of listing it
null commented on issue null/Privacy-Period-Tracker#65 2026-08-21 01:53:55 -05:00
The lock's ViewModels and biometric path have no tests

Closed by the same work as #63, which is where the tests had to come from — each rule needed its harness before it could be proved.

AppLockViewModel's lock-state derivation is now an extracted…

null closed issue null/Privacy-Period-Tracker#65 2026-08-21 01:53:55 -05:00
The lock's ViewModels and biometric path have no tests
null commented on issue null/Privacy-Period-Tracker#63 2026-08-21 01:53:54 -05:00
App lock: a PIN just for this app, a fingerprint or face, or either

Shipped across three commits: 9b2b332 (storage and migration), 750fdae (state machine and lock screen), f91ba6e (the choice on screen).

LockMethod { NONE, PIN, BIOMETRIC, PIN_AND_BIOMETRIC }…

null closed issue null/Privacy-Period-Tracker#63 2026-08-21 01:53:54 -05:00
App lock: a PIN just for this app, a fingerprint or face, or either
null pushed to main at null/Privacy-Period-Tracker 2026-08-21 01:53:12 -05:00
f91ba6ebe6 feat: offer the choice on screen, and say what each one means
null pushed to main at null/Privacy-Period-Tracker 2026-08-21 01:47:05 -05:00
750fdaeb0d feat: let the app be opened by a PIN, a fingerprint, or either
null pushed to main at null/Privacy-Period-Tracker 2026-08-21 01:32:40 -05:00
9b2b332a98 feat: give the lock a method, and every old install the one it had
null closed issue null/Privacy-Period-Tracker#75 2026-08-21 01:09:37 -05:00
Deferred: §30's four-button follow-up and §29's custom reminder time
null pushed to main at null/Privacy-Period-Tracker 2026-08-21 01:09:37 -05:00
f99197ffd5 feat: pin down which day, and let the reminder be any time
null commented on issue null/Privacy-Period-Tracker#74 2026-08-21 01:06:51 -05:00
ReminderWorker, NotificationActionHandler and the scheduler have no tests

All five named classes now have tests, landed across the Batch 12 fixes rather than as a separate pass — each defect needed its harness before it could be proved.

ReminderWorkerTest (8,…

null closed issue null/Privacy-Period-Tracker#74 2026-08-21 01:06:51 -05:00
ReminderWorker, NotificationActionHandler and the scheduler have no tests
null closed issue null/Privacy-Period-Tracker#73 2026-08-21 01:06:16 -05:00
Worker failures are indistinguishable from "nothing to say", and an answered reminder stays in the shade