Sweep the status cache every night
What It Does
The nightly sweep refreshes list caches at period and grace boundaries. It records expiry and lapse detection once and publishes a termination event for a newly detected lapse.
The Flow
When Something Fails
A mid-sweep error preserves completed memberships and leaves later ones stale until retry. A missing prior night triggers a full recomputation. Schedule failure handling can pause repeated failing work; rights continue to use computed standing.
Open Design Questions
Termination delivery for a late detection uses the expired term’s last day, rather than when the sweep noticed it.