Those and design docs. It can also reason over code somewhat; it may be possible for the model to intuit design constraints from code.