Now that I look at this again, I think something different.

The Store plugin looks like it sends the annotation in the body (looking at code, have not tested). That means we could override the delete route on the server side and leave update alone. Then, it becomes a server-side detail of deletion that it remembers the text and marks it as a redaction instead of deleting the model.

The only issue is that the client will not expect a response, so we still have to set redacted: true on the client and maybe there is a place it will get confused and make it disappear from view until a refresh. But maybe we can handle it somehow.

Logically, I like the idea that redact *is* delete with server-enforced redaction semantics. There's nothing about HTTP DELETE or the Store plugin which prevents passing a body to act as tombstone / redaction.

Thoughts?