The entry's contract identifier.
This entry's localId, as the caller read it.
The report; confirmationMismatch when the confirmation does not match.
const listed = (await GeoLeaf?.Storage?.DB?.listPendingEdits?.()) ?? [];
const entry = listed.find((p) => p.state === "quarantined");
// The guards are not decorative: the facade may not be mounted and the queue may
// be empty. This example is COMPILED — the `typecheck-docs-examples` gate said so.
if (entry) await discardQuarantined(entry.entryId, entry.localId); // it saw what it discards
Destroys a quarantined entry, on the operator's EXPLICIT confirmation.
🛑 The confirmation is not a boolean, and that is the heart of the gesture. The caller must provide the entry's
localId— a value it can only know by having LISTED it. A{ confirmed: true }can be set from any code with nothing having been shown; this shape makes it structurally true that the capture was enumerated before being discarded. That is whatServerDeletionPolicyrequires since its amendment: what the contract forbids is the loss the operator did not SEE, not destruction in itself.The entity's local record then returns to the server's truth, unless another queue entry still names it: removed when the server has nothing to give back (a creation that never landed,
deletedOnServer), markedsyncedotherwise, so the next pull replaces it. The displayed layer follows at once: the entity leaves it in the first case, and loses its "pending" badge in the second — its abandoned content stays drawn until that pull.The destruction is announced (
geoleaf:offline:quarantine-exited,exit: "discarded") once that record has settled; no pass follows.