First, projects do not effect policies in the way you think: https://secure.phabricator.com/book/phabricator/article/projects/#understanding-policies
More pointedly, Tasks are not “In” a project, but are “Tagged With” a project.
About creating default values for tasks:
- There’s the Custom Forms option
- There’s Prefilling (template)
- There’s Default Visibility For New Tasks (Applications -> configure Meniphest)
but non of these is actually good for you.
There are several ways this could be achieved:
- Set default view policy to Subscribers, and then use Herald to automatically add the Project to Subscribers if the tasks is tagged with it. You can do this yourself without writing code.
- Add a custom policy of “Members of Projects This Task is Tagged with”, and use that as default policy. This requires code, but it might be considered for the upstream.
- Add a feature for Boards where the Create Task button is using a specified custom form/prefilling, and configure that. This requires code, but it might make sense for the upstream. Also this is harder to implement on your end than option 2.
- Set default visibility to “Author Only”, and train users to fix it. You can do this yourself, but it require training users.
- Use Spaces to block visibility very much. You don’t need to write code for this, but it requires training users and might not be what you want after all.
I can see the merit of option 2 and 3 for the upstream, but there might be some downsides I’m not currently seeing (Making the product more complicated is one downside).