pub struct MutationFault {
pub topic: String,
pub site: &'static str,
pub error: String,
}Expand description
One Phase-3 write — or the validation read it depends on — that FAILED during a submit (S2 queue-durable admission, bsv-low 2026-08-29).
Before this existed every such failure was error!-logged and swallowed
while submit returned Ok(steak): under a D1-overload storm the
overlay ACKED admissions whose writes never landed (the 2026-08-26
phantom class — c4d2ed06…/62c2a9b3… absent from the engine store,
beta D1 queried directly). A fault is now a VALUE the caller can act on
(re-queue for an idempotent replay) instead of a log line nobody reads.
Fields§
§topic: StringThe topic whose mutation faulted.
site: &'static strThe write (or read) that failed: insert_output,
mark_utxo_as_spent, update_consumed_by, delete_utxo_deep,
insert_applied_transaction, find_output (validation read),
does_applied_transaction_exist (the dedup read),
lookup_service.output_spent, lookup_service.output_admitted_by_topic,
undo_insert_output (the undo of a faulted submit’s inserts),
record_spent_coin_applied (the applied row a spender writes for the
transaction of a coin it deletes), predecessor_not_landed.
error: StringThe backend’s own error text.