The AsyncLocalStorage guard refused ordinary write-backs from store change
handlers and still missed the real deadlock. The contract instead says a store
call must not wait for a write to its own cache to finish. Legacy global
retirement stays two-step and a crash leaving both records stays loud.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>