Attention is a fixed budget and notifications draw on it. The first one is free. The tenth costs you the first nine, because by then the person has learned that a badge from this app usually means nothing.
The failure mode is not annoyance
Annoyance is recoverable. What actually happens is worse: the household mutes the app, and three weeks later a genuine alert — a recall, an expiring document — arrives in a channel nobody reads anymore. The app is still working perfectly and has become useless.
An app that cries wolf is not noisy. It is broken, in a way that only shows up on the day it mattered.
So the default is silence
The test we hold ourselves to is whether a human would act differently having read it. "Three chores due today" fails: the household knows. A recall on the car seat passes. Everything in the middle belongs in the app for when you look, not in your pocket at seven in the morning.