diff --git a/syndicate/HOWITWORKS.md b/syndicate/HOWITWORKS.md index 01768d7..3caec1f 100644 --- a/syndicate/HOWITWORKS.md +++ b/syndicate/HOWITWORKS.md @@ -460,7 +460,12 @@ check followed by zero or more (move, check) pairs. Care must be taken when applying entire *patches* to ensure that added assertions are processed before removed assertions; otherwise, actors -will observe glitching in certain cases. +will observe glitching in certain cases. For example, consider an +endpoint with a wildcard subscription `[_]` and a separate endpoint +asserting `[3]`. If a patch atomically replaces `[3]` with `[4]`, then +if the removal is processed first, it will briefly appear to the `[_]` +endpoint as if no assertions remain, whereas if the addition is +processed first, no glitch will be detected. **Definition.** The procedure `sendMessage` delivers a message `v` to event handlers in the given index. @@ -539,6 +544,11 @@ interested in the `present` constructor. endpoint of the other endpoint, even though you might expect the relayed assertion to do so. + - there's more to say about the implementation of the *dataspace* + itself, not just the index structures. For example, the care that + must be taken regarding `cleanup-changes` and abandoning work + during exception handling. +