What is the detailed logic for when a "standard" report type is created/updated for custom objects or custom relationships?
When custom objects and custom master detail relationships are created Salesforce will often automatically create "standard" report types. For example, I create a new object "Project" I get a new report type "Projects". If I created a master detail from Project to Account I get a new report type "Accounts w/Projects".
These "standard" report types are preferable to custom report types as they don't require maintaining the set of fields that can be returned in the report. In contrast custom report types require updates whenever a new field gets added to the account or projects object before the new field can be used in reports.
However, this automatic creation doesn't seem to occur in all cases. For example, if I create the master detail from projects to account in a sandbox and then deploy to production the "standard" "Accounts w/Projects" report type doesn't seem to get created.