{"id":"2pc-log-before-decision","text":"The coordinator appends `\"committing\"` or `\"aborting\"` to its log before broadcasting the decision to participants, enabling crash recovery via `recover()` to re-send decisions that were never delivered","truth_value":"IN","source":"entries/2026/05/29/two-phase-commit-two_phase_commit.md","source_url":"","source_hash":"","justifications":[],"dependents":[],"metadata":{"example":"self.log.append({\"tx_id\": tx_id, \"state\": \"committing\"})\nfor pid in participant_operations:\n    p.commit(tx_id)"},"explanation":{"steps":[{"node":"2pc-log-before-decision","truth_value":"IN","reason":"premise"}]}}