I ran into a similar problem today with a specific use case. Our chef repo is managing a growing number of applications and each can have several roles. To help organization we've been using subdirectories for namespacing. Our role names also take into account the namespace (dogs-application is in dog/application.rb). This setup works fine with chef server since we're uploading the files but with chef-solo it cannot find dogs-application even if roles/dogs is the role_path.
roles/dogs/application.rb # => dogs-applications
roles/dogs/database.rb # => dogs-database
roles/ferrets/application.rb # => ferrets-application
It would be nice if role_path could be recursively search the tree under role_path and use the name field instead of the filename.