What the documents look like
Shopify standalone stores let the merchant configure payment, shipping, and fulfillment services directly, and no platform-wide automatic return process applies. That difference shapes product data and selection Q&A around four document families: order details, shipping templates, shipping labels, and refund records. Each family carries a different part of the picture. Order details hold line items and amounts, shipping templates hold billing conditions, shipping labels hold carrier information, and refund records hold after-sales status. Order details and shipping labels move at per-order frequency, while templates and refund records are handled on a daily basis. A question that draws on only one family can turn a product data question into a fulfillment status answer. Sources named in the brief are Shopify Admin, payment gateways, carrier systems, and inventory location data; the model connection and configuration step has to establish which fields from those sources are eligible to enter the retrieval scope.
Constraints at the model connections step
The system requires at least one language model and one index model to operate normally. A model ID is the value of the model field in the request body and is globally unique. AI Proxy is a required dependency: both the App and any Admin service that reuses App/Service configuration must set AIPROXY_API_ENDPOINT and a non-empty AIPROXY_API_TOKEN, and startup validation fails when either is missing. AIPROXY_API_ENDPOINT takes the service root address and does not append /v1. AIPROXY_API_TOKEN must match the server-side configuration and cannot be empty; an application API key does not substitute for it. Model capabilities are checked against the inputs the application needs, with multimodal input, tool calling, and thinking configuration verified separately. Application parameters are set in the application or node configuration; a same-named field on a compatible chat endpoint is not assumed to override orchestration. Retrieval does not carry authorization, and a similarity score is not an entity or permission filter.
Hypothetical paper exercise, labelled as such: on 10 March 2026 a standalone-store operator submits a product data question. The material text reads: "The order detail shows this line item with quantity 2; the shipping template bills by weight; no shipping label has been generated; the refund record is empty." The proposed sentence is "This order has completed its refund." The request to be judged is "Please confirm from the material above whether the refund is complete."
Configuration and implementation checks
| Configuration item | Hypothetical starting value for this exercise | Reason and comparison method |
|---|---|---|
| AIPROXYAPIENDPOINT | Service root address, no /v1 suffix | Compare character by character against the documented root address format and confirm no path suffix |
| AIPROXYAPITOKEN | Non-empty token matching the server side | Compare against the AI Proxy administrator token and confirm non-empty and matching |
| Language model | One model that has passed channel testing | Compare its model ID against the channel model entry and confirm they match |
| Index model | One model that has passed channel testing | Check separately from the language model and confirm both types exist |
| Model capability | Selected against the inputs the application needs | Compare against the text input the sample requires, verifying multimodal and tool calling separately |
| Application parameters | Set in the application or node configuration | Compare against same-named fields on a compatible chat endpoint and confirm no reliance on override |
The probe interval accepts an integer between 5 and 60 minutes. The hypothetical starting value for this exercise is 30 minutes, chosen because comparing against the documented probe cadence makes status changes easier to observe; this is not an official default.
Three common errors
- Writing a full request address with
/v1intoAIPROXY_API_ENDPOINT. The input is the environment variable value, the comparison object is the documented root address format, and the observable result is whether a path suffix is present. - Using an application API key in place of
AIPROXY_API_TOKEN. The input is the token field, the comparison object is the AI Proxy administrator token, and the observable result is whether it is non-empty and matching. - Treating "the refund record is empty" as proof that the refund is complete. The input is the sample material text, the comparison object is the refund record field, and the observable result is whether an explicit completed-refund record appears.
How to verify the setup
- Input the sample material text and the proposed sentence. Compare the sentence "This order has completed its refund" against "the refund record is empty" in the material. Observable result: the material does not state that a refund completed, the sentence is unsupported, and the item is recorded as pending verification.
- Input the request "Please confirm from the material above whether the refund is complete." Compare the fields the request needs against the fields the material states. Observable result: the material lacks a completed-refund record, the request cannot receive an affirmative answer, and the evidence gap is retained.
- Input the environment variables
AIPROXY_API_ENDPOINTandAIPROXY_API_TOKEN. Compare them against the documented format and consistency requirements. Observable result: the condition is met when the root address carries no/v1suffix and the token is non-empty and matching; otherwise startup validation fails.
Retrieval checks record observations and failure branches only; they do not guarantee a first hit or full recall. An empty-result handoff can use an explicit paper input [] to check downstream design, and no claim is made that a fictional rule retrieval returns []. Libraries built on different vector models cannot be associated together; verify the identifier first and exclude non-matching entries rather than running cross-model retrieval to compare missed recall.