In our start-ups documentation, we got this:
Difference between a pull request and an issue page
In a nutshell, an issue page should only include information and discussion about the issue itself (ie clarifying requirements, suggesting edits to the requirements etc) It should never include any information or data about the actual solution.
The PR page, on the other hand, should only include data/discussion about the solution. It should never include any information about the nature of the requirements, that should only be in the issue page.
b/c the issue and its solution are two different things. Issue requirements should be fixed and clear, whereas the same requirement may have many different solutions and solution paths. So a proposed solution should be hosted separately from the issue page, as we don’t want a proposed solution to influence the requirements of an issue. For example we can assign a task to an engineer, and they can spend a week and present a solution that’s absolutely not acceptable. With that solution being hosted on a separate PR page, we can cleanly reject that solution and simply assign the same task to another engineer etc.
Given the above, does it make sense to be able to create a PR without having branches at all? While none of the major git based online project management tool players allow it (I checked github/gitlab and bitbucket), in theory it can be done if I fiddle with the code of gitlab.
Update (adding to answer below)
I really liked Karl Bielefeldt's answer.. I just wanted to add this: Since the project we're working on has a very aggressive release and deploy cycle, there is little tolerance for stubbed code being added to the main branch. To address that, I think it makes sense to create R&D PRs against a topic branch, where the output wouuld be a discussion, google docs etc, plus some stubbed code, and eventually when the implementation happens (which should then remove the stubbed code and replace it with actual code).. the PR for that can be done against master branch.. and everyone wins :)