Hey @David_Arbias, you’re reading the current behaviour correctly. Scope requirements are calculated from the Function’s full input query, rather than whether a field was used by a particular feature or invocation. That means including product fields causes read_products to be required for viewing every run from that Function on the shop.
The Function still should execute normally, but I agree this creates a poor debugging tradeoff and can encourage apps to request broader permissions than they otherwise need, I’ll pass along this feedback on my end.
If you see the same message where read_products is already granted or where the input query doesn’t select product data, just send me a fresh invocation and we’ll treat that separately as a possible issue for sure.