I've seen the suggestion of VCS/SCM storing ASTs rather than plaintext for a decade now. Are you aware of any projects that are trying to address this?
Never looked at it myself, so not an endorsement. Just came up in the Lobsters discussion[2] on this last week where someone mentioned it.
[1]: https://www.unisonweb.org/docs/tour/
[2]: https://lobste.rs/s/b9pddy/when_it_comes_git_history_less_is...