Hello,
I have always been fascinated by Jepsen, but I found it hard - especially when teaching - to map EDN histories back to concrete code paths in storage systems. I always wished that I could build a distributed system step by step quickly, run it deterministically and plug the history into the Jepsen framework, to demonstrate why consistency issues happen, and how to fix them at the code level.
I liked the deterministic simulation testing approach of Tigerbeetle and others, and thought of integrating common patterns of distributed systems with Jepsen to then quickly experiment with implementations to showcase distributed system concepts. (I have found
the patterns approach useful at it as well.)
I will be happy to get comments.
Thanks,
Unmesh