Yeah, having worked on alternative notebooks before, one of the big implicit features of Jupyter notebooks is that long-running cells (downloading data, training models) don't get spuriously re-run.
Having an excellent cache might reduce spurious re-running of cells, but I wonder if it would be sufficient.