I think my problem is that I am "lazy", but I honestly have no idea how to prompt in a non-lazy way. I feel like if I had a specific algorithm in mind, for example, then I could just code it myself. Here is an example:
> i am building a distributed queue. i am using hashicorp memberlist to know when new nodes are added or removed. each node has a shard and replica number in its memberlist metadata. i am using hashicorp raft to set up replication.
> Currently, my memberlist only has a single member and raft is set up to bootstrap with itself as the only node. What logic do I need to write in the memberlist delegate to ensure nodes are correctly added to their shard? this should be reliable - the cluster should never be left in an unstable state, or a state where we attempt to process membership changes while a node is still in a candidate state.
What should I be doing instead?