1.5.0 — its own calendar, and macOS does the reminding
Mynah has its own calendar now, and macOS does the reminding.
Anything on your task list with a date in it appears in a calendar called Mynah, in your iCloud account. Which means the alert reaches your phone and your watch, fires whether or not this Mac is awake, and survives it being shut — none of which a sixty-second tick in a daemon could ever manage.
It is a mirror, not a second list. SAGE stays the source of truth, the board stays exactly as it is, and only dated items go across. Nothing is ever read back out of the calendar as fact: two writable stores with no arbiter is how an appointment ends up existing in one and cancelled in the other. Delete the Mynah calendar in Calendar.app and everything it put there goes with it — that is the whole uninstall.
The split. iCal owns it is happening soon; Mynah owns it did not happen, what now. So the run-up nudges over Signal stop for anything the calendar is already holding, and the overdue check-in stays — "that was yesterday, move it or drop it?" is a question, and a calendar alert has nowhere to put the answer.
It asks for calendar access the first time you actually date a task, never at launch, and a refusal changes nothing else: the reminders carry on exactly as they did.
Two things found by running it against a real task list rather than an invented one.
Taking a date out of a sentence leaves behind whatever led into it — "Call with Credence at on Microsoft Teams", "Call with Daniel & Tenzai —, on Google Meet", "and TII,, Malaysian time". That never mattered while these were being said mid-sentence over Signal. A calendar puts them on your lock screen in bold, so they are cleaned up.
And a Teams invite URL contains 19%3ameeting_, so looking for a time in a sentence that still has the link in it finds "3am" inside the address — which mangles the link and could date the event from a query string. The link now comes out first and goes in the event's own link field, where Calendar makes it a button.
Also in this release
sage-voiced calendar --plan prints every event it would write and touches nothing. Worth running before granting anything: it answers "is it reading the right tasks, and do these read properly" without asking for permission at all. Without --plan it does one real sync; --undo removes the calendar and everything in it.
1700 tests, 0 failures. Notarized and stapled.