fix: ProjectProvider cache can fail if there's no containing project