Speech Route's first rejection was an empty paywall. I had logs that said the request worked. Review had a screen with nothing on it. Guideline 2.1, App Completeness is the screen, not the log.
What they actually do
They open the app. They open the paywall. They try to buy. If the list is empty, the app is unfinished. I wrote that in Why StoreKit Returned No Products. The cause might be the agreement, metadata, sandbox, or a product ID.
Why I was in the wrong file
[] looks like a failed request. It is often a finished request with nothing to sell. Review will never tell you which of the five Connect problems it was.
The order I use
Connect first, device second, Xcode last. The pre-submit list is that order written down. The whole Speech Route run is in the eight-rejections post.