QA - Is the prompt processed in the retriever module or in the QARetriever module?

I am a little confused on the retriever interface and its functionality. Hence, that also leads to a confusion on where the prompt is processed in the QA example.
Q1. Specifically, does the retriever interface select the most relevant chunks of embeddings (based on the query similarity) that are fed to the model or are all the documents fed to the model (Assuming “stuff” chain type)?
Q2. If it is doing the selection, does that mean that if we use a map_reduce chain, it only uses the selected chunks from the retriever to feed to the model?
Q3. Hence, if it is doing a selection, the user query should be an input to both the retriever (to select the relevant text) and to the QAChain (to get the final response from the model). Is this understanding correct?