Recursively list every file under prefix (a project-relative POSIX
directory; "" lists the whole project), as project-relative POSIX
paths, sorted lexicographically (stable). An absent prefix yields an
empty list, not an error.
The on-disk project root, when backed by a real directory. Native
conveniences (the save-file default location, hot-reload watching)
use this; in-memory projects return None.