Sorry for the delayed reply here. I've been chewing on this one a bit though.
One concern I have is that I highly value having a provider agnostic remote git integration. fsspec, however, has local git or github - no arbitrary remote git support. That means Airflow, in my view, can't just rely on fsspec alone, but will have to also deal with cloning arbitrary repos. Or we expect a "ready to go" cloned repo on local disk, which might be a good tradeoff. This was something we'd have to tackle for AIP-63 anyways, though. Another concern, as I've been considering Airflow 3, is that I see wanting to version "more" than just the DAG folder - possibly a whole venv (or similar). Doing that versioning file-by-file doesn't feel particularly practical to me. Which means that, I think, we could end up using fsspec to get zips/tarballs/"assets", which is still very helpful imo. But it does limit the "slickness" of being sorta behind the scenes like a custom module loader and resource loader would be. I actually see this as also being coupled to Ash's upcoming “Task Execution interface”. I admittedly didn't quite follow the VersionedFS idea you all were discussing. I don't see how it could easily allow Airflows goal of "this version of the dag folder and maybe more" to a backend that is versioned by file. Maybe you can eli5 and connect the dots for me? All that said, my goal this next week is to spend some quality time in this area so we can all start nailing down options for Airflow 3.