{"id":"deletion-is-cautious-at-every-level","text":"Deletion is uniformly cautious across all system types: single-node systems require preconditions before permanent removal (empty buckets, trash-first workflow), and replicated/versioned systems model deletion as metadata rather than physical erasure (tombstones, delete markers) — the codebase provides no path to immediate, unguarded data destruction.","truth_value":"IN","source":"","source_url":"","source_hash":"","justifications":[{"type":"SL","antecedents":["deletion-is-guarded-by-preconditions","deletion-is-metadata-in-replicated-systems"],"outlist":[],"label":"Preconditions guard single-node deletion while metadata models guard distributed deletion, leaving no unprotected path"}],"dependents":["deletion-is-doubly-preserved"],"metadata":{"last_reviewed":"2026-06-06T06:26:57","review_result":"pass"},"created_at":"","updated_at":"","reviewed_at":"","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"deletion-is-cautious-at-every-level","truth_value":"IN","reason":"SL justification valid","antecedents":["deletion-is-guarded-by-preconditions","deletion-is-metadata-in-replicated-systems"],"label":"Preconditions guard single-node deletion while metadata models guard distributed deletion, leaving no unprotected path"},{"node":"deletion-is-guarded-by-preconditions","truth_value":"IN","reason":"SL justification valid","antecedents":["s3-bucket-delete-requires-empty","email-service-two-phase-delete"],"label":"Both systems gate permanent deletion behind a prior state transition, making accidental data loss a two-mistake problem"},{"node":"s3-bucket-delete-requires-empty","truth_value":"IN","reason":"premise"},{"node":"email-service-two-phase-delete","truth_value":"IN","reason":"premise"},{"node":"deletion-is-metadata-in-replicated-systems","truth_value":"IN","reason":"SL justification valid","antecedents":["soft-delete-prevents-distributed-resurrection","append-only-versioning-makes-restore-non-destructive"],"label":"both depth-1 conclusions independently arrive at the same principle — never physically destroy data — but for complementary reasons (anti-resurrection vs non-destructive restore); combined they show this is a fundamental constraint of any system that replicates or versions state"},{"node":"soft-delete-prevents-distributed-resurrection","truth_value":"IN","reason":"SL justification valid","antecedents":["kv-store-deletes-use-tombstones","s3-delete-marker-hides-not-removes"],"label":"Both systems independently arrived at write-over-delete to prevent resurrection from unsynchronized replicas"},{"node":"kv-store-deletes-use-tombstones","truth_value":"IN","reason":"premise"},{"node":"s3-delete-marker-hides-not-removes","truth_value":"IN","reason":"premise"},{"node":"append-only-versioning-makes-restore-non-destructive","truth_value":"IN","reason":"SL justification valid","antecedents":["s3-version-list-append-only","gdrive-restore-creates-new-version"],"label":"Append-only version lists make restore a forward operation, not a rollback"},{"node":"s3-version-list-append-only","truth_value":"IN","reason":"premise"},{"node":"gdrive-restore-creates-new-version","truth_value":"IN","reason":"premise"}]}}