My attempt to build Raft consensus algorithm in Rust.
Early in planning, I discussed my design of mDNS-based node discovery for starting cluster up with Claude. I discovered there was a race between synchronizing IP lists among nodes. I learned that it could be solved and guaranteed to be deterministic in my testing conditions (same local network & host). However, I also learned that raft is typically tested using simulations which is an optimal approach since it rules out network non-determinism. During the follow up questions, Claude (Anthropic) revealed top-level approaches on building raft, including separating raft state machine, transport system, and persistence using interfaces and abstracting clock as ticks to be input into raft SM.
This repository is totally free from any generated content. This applies to everything including materials under /docs. However, in the implementation, I may end up using the top-level approaches Claude (Anthropic) revealed as mentioned in Acknowledgements.