This looks quite nice and it might compose well with a cache library like the one posted on HN recently (XetCache, https://news.ycombinator.com/item?id=38696631).
Having an excellent cache might reduce spurious re-running of cells, but I wonder if it would be sufficient.
We also let users disable cells (and their descendants), which can be useful if you're iterating on a cell that's close to the root of your notebook DAG: https://docs.marimo.io/guides/reactivity.html#disabling-cell...
Would be cool if we could come up with a standard that works across notebooks / libraries!