I've been working on something super similar, but some of the arch decisions here are curious considering the clear tradeoffs made.
For example, if you have a durability flush interval, what is the WAL for? L0 is the WAL now.
For example, if you have a durability flush interval, what is the WAL for? L0 is the WAL now.
Basically, we wanted to have WAL writes go on the order of milliseconds, but we wanted L0 SSTs to be larger since they actually service reads.
The architecture page has more detail if you haven't found it yet: