v0.9.0

Rotation participants and schedule targets converge on spec instead of
accumulating additively. A user or target removed from spec is now
removed from GoAlert even while a sibling ref is unresolved, and rotation
participants follow declared spec.userRefs order -- which decides who is
on call for the week containing spec.start.

A cache-cold grace cycle protects live on-call rotations on the first
reconcile after this upgrade: a rotation whose ref cache has never been
warmed adds newcomers but removes nobody, then converges normally.

Participant removal is now visible via the StaleParticipantsRemoved
event and the Ready condition, with ColdCacheGrace distinguishing a
cycle that left participants in place.

Known limitation: schedule target convergence has no grace rule; see
docs/adoption.md.