I believe they can do this due to having millions of public pull requests and github issues in their training data.
* business objectives,
* the result of experimentation,
* the result of an offline conversation
etc.
This cannot be captured in code alone. This is why we write commit messages.