Stage one
Your catalogue is pulled, and counted twice
Products, variants, options, prices, stock and collections come in over Shopify’s Admin API, page by page. Three counters guard the pull: the product count Shopify reports against the products received, each product’s variant count against the variants received, and the collection count against the collections received.
A mismatch stops the pull with a named error. A page limit that drops rows quietly is the one way a catalogue read can go wrong and still look healthy, so all three are hard stops.
Stage two
A knowledge base is built from it
The raw pull becomes the file Refik answers from: what each product is for, which products complete each other, which ones form a routine, and which options a shopper can buy today.
The interpreting pass is batched and runs on the hourly job rather than inside your click, so a long catalogue finishes as a handful of scheduled passes and your request closes in a second.
Stage three
It stays current on its own
Two Shopify webhooks keep the file in step with your store: one fires when a product changes, one when a product is removed. Both arrive at the same endpoint, and the decision comes from what the Admin API answers rather than from the header on the webhook.
So a price edit, a stock change, a product switched to draft and a product deleted all reach the knowledge base by the same route, on the next hourly pass.
While that pipeline is running the wizard keeps its own record of each pass, and the console shows you the time of the last one — so a store that is waiting reads differently from a store that is stuck.