What the documents look like
Dealer ordering events serve offline dealer reservations and do not directly manage platform storefronts. The working materials are the ordering handbook, the ordering contract, the sample list, and credit approval forms, refreshed by quarter or by year. These materials carry the quantities, credit amounts, and contract states that operations handover must reconcile at the deployment and upgrade step, and their versions and authorization boundaries require confirmation document by document.
Constraints at the upgrades step
Before upgrading, compare the current version, the target version, and the matching upgrade notes. Do not infer current behavior from an old configuration name. The app and admin services must both set AIPROXYAPIENDPOINT and a non-empty AIPROXYAPITOKEN; a missing value in either one causes startup validation to fail, and an old OpenAI environment variable or a single-model custom request address does not substitute for these two settings. Check dependencies and backups against the official deployment steps, and verify recovery capability in the actual environment. After upgrading, recheck import, retrieval, and application invocation with the same samples. Completion of the steps does not equal zero interruption.
Hypothetical drill sample: page 3 of a brand channel department's ordering handbook states, "The sample list for this ordering event follows Attachment 2, and credit approval is completed by regional finance before the ordering event." A credit approval form states, "Requested amount: 2,000,000 yuan. Status is pending review." The draft sentence to be judged is, "This dealer's credit has been approved and ordering may proceed." When checking that sentence, the approval form's status field reads "pending review," which is a mutually exclusive value against "approved" in the same field, so the draft sentence is not supported.
Configuration and implementation checks
| Configuration item | Hypothetical trial starting value | Check method |
|---|---|---|
| AIPROXYAPIENDPOINT | Hypothetically set to http://aiproxy:3000 | Compare with the official example and confirm no /v1 suffix |
| AIPROXYAPITOKEN | Hypothetically set to an admin token | Confirm non-empty and consistent with the server side |
| FILETOKENKEY | Hypothetically set to a random strong key | Confirm at least 6 characters and no example value |
| INVOKETOKENSECRET | Hypothetically set to a random strong key | Confirm at least 32 characters |
| PROTOKEN and PROURL | Hypothetically configured together | Confirm matching values; PROTOKEN is required when the app sets PROURL |
| DEFAULTTEAMBASICPERMISSIONSENABLED | Hypothetically kept at false | Confirm the app and admin settings agree |
The starting values are chosen to satisfy the documented minimum lengths or paired-configuration requirement, and the comparison object is the corresponding required or consistency condition for each variable in the documentation.
Three common errors
- Treating a "pending review" approval form as approved authorization. The input is the approval form's status field, the comparison object is "approved" in the draft sentence, and the observable result is that the two values are mutually exclusive in the same field, so the draft sentence is not supported.
- Treating a retrieval hit as a permission check. The input is one knowledge-base query, the comparison object is the team member's actual authorization record, and the observable result is a mismatch between returned content and the authorized scope, which requires returning to member permission configuration.
- Treating an old
config.jsonfield name as a current environment variable. The input is the old configuration fieldsystemEnv.hnswEfSearch, the comparison object is the current variableHNSW_EF_SEARCH, and the observable result is that the old field is no longer read and must be replaced by the environment variable.
How to verify the setup
- Input the hypothetical approval form text and the draft sentence, and compare the status field values. The draft sentence is supported only when the approval form status reads "approved" and the draft sentence agrees with it. The current value is "pending review," recorded as not supported.
- Input one retrieval request and compare the returned content with the member authorization record, observing whether material outside the authorized scope appears. If it appears, record it as a permission check gap. Retrieval itself does not constitute authorization.
- Input the old configuration field name and the current variable name, and compare whether variable validation failure appears in the service startup log. Record the configuration as ready only when the current variable is set per the documentation and startup validation passes. Do not claim this was actually tested.