Voiding Lifecycle Flow — click any node to see what's happening at that step
flowchart TD N1["1 — AP emits original (uuid=fd41…)"]:::ap N2["2 — LRS stores original"]:::lrs N3["3 — Default query: original visible"]:::query N4["4 — AP discovers error (out-of-band)"]:::ap N5["5 — AP emits voiding statement (verb=voided)"]:::ap N6["6 — LRS flags fd41… (no rewrite)"]:::lrs N7["7 — Default query: original filtered out"]:::query N8["8 — voided=true query: both visible"]:::audit N1 --> N2 N2 --> N3 N3 --> N4 N4 --> N5 N5 --> N6 N6 --> N7 N7 -.->|operator inspects| N8 click N1 call showStep("N1") click N2 call showStep("N2") click N3 call showStep("N3") click N4 call showStep("N4") click N5 call showStep("N5") click N6 call showStep("N6") click N7 call showStep("N7") click N8 call showStep("N8") classDef ap fill:#4338ca,stroke:#312e81,color:#fff,font-size:13px,font-weight:bold classDef lrs fill:#0f766e,stroke:#134e4a,color:#fff,font-size:13px,font-weight:bold classDef query fill:#15803d,stroke:#14532d,color:#fff,font-size:13px,font-weight:bold classDef audit fill:#b45309,stroke:#78350f,color:#fff,font-size:13px,font-weight:bold linkStyle default stroke:#64748b,stroke-width:2px,font-size:11px linkStyle 6 stroke:#b45309,stroke-width:2px,stroke-dasharray:6 4,font-size:11px

Step Details

Click any node to see what's happening at that step in the voiding lifecycle. The dashed arrow shows that operators can still inspect voided records — they're flagged, not deleted.

Activity Provider action
LRS storage
Default query result
Audit / inspection query