2pc-result-dict-not-exceptions

Status: IN

The 2PC protocol communicates all outcomes (commits, aborts, lock conflicts, unavailability) via `{"outcome": "committed"|"aborted", "reason": ...}` return dicts; no method raises exceptions

Source: entries/2026/05/29/two-phase-commit-test_2pc.md

Example

return {"tx_id": tx_id, "outcome": "aborted", "votes": votes, "reason": abort_reason}
# no exceptions raised for unavailability or conflicts

JSON