Failed
data class Failed(val reason: String, val insertDots: Set<Dot>, val offset: Long?, val endOffset: Long? = null, val cause: Throwable? = null) : AppendResult
The append failed. The ops are lost from the archive.
This is worse than it sounds, which is why this variant reports identities rather than a count: the live replica will subsequently window those records away, so they are gone from both sides. A consumer holding insertDots can defer windowing for them, re-feed them, or correlate the gap against a backend; a consumer holding failed++ can do none of those.