I think there’s still some fragility in the project-buffers function, since any
callers need to be careful not to bind default-directory. It might be useful to
call this out in the doc string or in the manual.
I suppose it could use improvement, but I'm not sure what phrasing would stop
someone from making such a mistake. After all, I knew its implementation and
made it anyway.
Perhaps the docstring should simply say that the buffers are matched on the
basis of their default-directory value. In the default implementation, that is
(custom backends could choose their own strategy). Would that help?