{"id":"event-sourcing-lacks-any-durable-recovery-path","text":"Event sourcing has no durable recovery mechanism: appends update in-memory state before persisting to disk with no rollback on failure, snapshots are ephemeral in-memory dicts lost on restart, and state reconstruction must always replay from the beginning with no incremental checkpoint support.","truth_value":"IN","source":"","source_url":"","source_hash":"","justifications":[{"type":"SL","antecedents":["event-store-append-is-not-crash-consistent","es-snapshots-incomplete-for-production-use"],"outlist":[],"label":"crash-inconsistent appends + non-persistent snapshots = no safe recovery at any level"}],"dependents":["event-sourcing-unreliable-in-persistence-and-addressing"],"metadata":{},"created_at":"","updated_at":"","reviewed_at":"","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"event-sourcing-lacks-any-durable-recovery-path","truth_value":"IN","reason":"SL justification valid","antecedents":["event-store-append-is-not-crash-consistent","es-snapshots-incomplete-for-production-use"],"label":"crash-inconsistent appends + non-persistent snapshots = no safe recovery at any level"},{"node":"event-store-append-is-not-crash-consistent","truth_value":"IN","reason":"SL justification valid","antecedents":["event-store-memory-ahead-of-disk","persist-after-memory","batch-append-not-crash-safe","persist-event-per-call-open"],"label":"Memory-first writes with no rollback plus non-atomic batch persistence equals inconsistency after any crash"},{"node":"event-store-memory-ahead-of-disk","truth_value":"IN","reason":"premise"},{"node":"persist-after-memory","truth_value":"IN","reason":"premise"},{"node":"batch-append-not-crash-safe","truth_value":"IN","reason":"premise"},{"node":"persist-event-per-call-open","truth_value":"IN","reason":"premise"},{"node":"es-snapshots-incomplete-for-production-use","truth_value":"IN","reason":"SL justification valid","antecedents":["es-snapshots-are-in-memory-dicts","snapshot-state-excludes-subscription","reconstruct-state-no-snapshot-support"],"label":"Three independent limitations compound to make snapshots a partial optimization rather than a complete recovery mechanism"},{"node":"es-snapshots-are-in-memory-dicts","truth_value":"IN","reason":"premise"},{"node":"snapshot-state-excludes-subscription","truth_value":"IN","reason":"premise"},{"node":"reconstruct-state-no-snapshot-support","truth_value":"IN","reason":"premise"}]}}