Personal response to an attention item
The Lifecycle
Transitions Explained
The diagram is a projection of independent acknowledgement, snooze and dismissal fields, not a mutually exclusive state machine. Unsnoozing an acknowledged item leaves it acknowledged; acknowledging a dismissed item does not undo dismissal.
What Cannot Happen
Required attention rejects dismissal regardless of its unread facet. A required snooze exceeding duration or count, or a nonfuture end, is refused. There is no undismiss operation; another occurrence has separate personal response storage.
Concurrency and Timing
Existing response rows are locked and versioned without a client expected-version precondition. Concurrent first inserts can collide without retry. Status and audience are read before the write transaction and can race closure or reassignment. Snooze expiry is a read-time calculation.