It would make git-annex much simpler to use if annexed files could be transparently auto-fetched when programs try to read them, without requiring an explicit git-annex-get.

What approaches have people tried to make this work, and what were the results / takeaways?

Some related pages: sharebox a FUSE filesystem for git-annex; union mounting; using fanotify .

My attempt at a FUSE filesystem that calls git-annex-get as needed: here. However, it gets an annexed file as soon as a symlink to it is read, which can also happen when just listing a directory; it also only works with locked annexed files.