What the documents look like
Third-party overseas warehouses can serve several sales channels at once, and the seller allocates stock across them. The working documents for replenishment planning, inbound booking, inventory ageing and last-mile dispatch therefore arrive from separate systems: the overseas warehouse WMS, ERP sales forecasts, freight forwarder systems and carrier statements. Each document also carries its own authorization state. A replenishment plan that has been submitted is not a replenishment plan that has been approved. An inbound booking that has been created is not a booking the warehouse has confirmed. An inventory ageing table that has been generated is not a fee reconciliation that has been checked. A last-mile dispatch note that has been created is not a shipment the carrier has collected. During deployment and upgrade, operations handover work has to treat these as distinct facts, because retrieval and forms present records and do not constitute authorization to act.
Constraints at the upgrades step
Before and after an upgrade, handover material sits in different authorization states. The following hypothetical drill sample is used only to explain a checking method. It is not a real record, and no test, approval or handover is claimed to have happened.
Hypothetical drill sample: on 10 March 2026 an operator, Operator A, at a cross-border seller submits a replenishment plan. The object is SKU-001 at a third-party overseas warehouse on the United States West Coast. The quantity is 500 units. The planned inbound date is 25 March 2026. The status is "awaiting operations supervisor approval". On the same day Operator A raises a handover request, transferring follow-up permission for the replenishment plan to Operator B, with a handover effective date of 15 March 2026.
Draft sentence to be assessed: "From 15 March 2026, Operator B may confirm the inbound booking on behalf of the team and change the replenishment quantity."
Assessment points: the draft sentence covers two distinct authorization objects, confirmation of the inbound booking and modification of the replenishment quantity. The sample text states only that follow-up permission is transferred; it does not state whether either of those two permissions moves with the handover. The handover effective date is 15 March, and the replenishment plan approval status is still awaiting approval, so the plan does not constitute an approved replenishment before approval is complete. The draft sentence lacks an authorization basis and is unsupported.
The upgrade also involves two manually triggered scripts, 20261008_migrate_chunk_training and 20261009_migrate_dataset_rebuild_status, visible and executable under the administrator version upgrade area. Both are manually triggered and do not block service startup. The first should be run only after all old-version FastGPT App and Pro instances in the cluster have fully stopped and old task leases have expired. The second depends on the first having completed. Completion of a script is not a zero-downtime commitment.
Configuration and implementation checks
The table lists settings or implementation checks that the official documentation describes and that relate to this page's main task. The values in the middle column are hypothetical starting points for this drill only, chosen to make the comparison method concrete. They are not official defaults.
| Configuration item | Hypothetical drill starting point | Comparison method |
|---|---|---|
| AIPROXYAPIENDPOINT | Assumed filled as http://aiproxy:3000 | Compare with the AI Proxy service root address; no /v1 appended and no single-model address |
| AIPROXYAPITOKEN | Assumed filled with a non-empty administrator token | Compare with the AI Proxy server-side configuration; confirm non-empty and consistent |
| FILETOKENKEY | Assumed filled with a random strong key of at least 6 characters | Compare with the runtime required-field requirement; no example value used |
| AES256SECRETKEY | Assumed filled with a random strong key of at least 6 characters | Compare with the runtime required-field requirement; no example value used |
| INVOKETOKENSECRET | Assumed filled with a random strong key of at least 32 characters | Compare with the runtime required-field requirement; no example value used |
| DEFAULTTEAMBASICPERMISSIONSENABLED | Assumed filled as false | Keep the FastGPT and Pro Admin service configurations consistent |
From V4.17.0, AI Proxy is a required dependency. App and Admin services that reuse App/Service configuration must both set AIPROXY_API_ENDPOINT and a non-empty AIPROXY_API_TOKEN; if either is missing, startup validation fails. Older OpenAI environment variables and single-model custom request addresses do not substitute for these two settings.
Three common errors
- Treating an "awaiting approval" replenishment plan as approved. The input is the sample text stating the status is "awaiting operations supervisor approval". The comparison object is the draft sentence claiming the operator may confirm the inbound booking and change the replenishment quantity. The observable result is that the approval status field remains awaiting approval, so the draft sentence lacks an approval basis.
- Treating the handover effective date as the permission scope. The input is the sample text stating the handover effective date is 15 March 2026. The comparison object is the two operational permissions named in the draft sentence. The observable result is that the sample text records only a transfer of follow-up permission and does not record inbound booking confirmation or quantity modification permission, so the claim is unsupported.
- Treating a retrieval result as an authorization credential. The input is that Operator B retrieves the replenishment plan record in the system. The comparison object is the subject, object, status and validity scope required for authorized execution. The observable result is that retrieval only presents a record and does not constitute authorization; approval and handover documents must be checked separately.
How to verify the setup
- Check
AIPROXY_API_ENDPOINTandAIPROXY_API_TOKEN. The input is the hypothetically filled root address and administrator token. The comparison object is the AI Proxy server-side configuration. The observable result is that the root address contains no/v1and the token is non-empty and consistent; if either item is missing, startup validation fails. - Check the authorization scope of the handover request. The input is the sample text stating follow-up permission is transferred with an effective date of 15 March 2026. The comparison object is the two operational permissions named in the draft sentence. The observable result is that the sample text does not record those two permissions, so the claim is unsupported and an authorization document must be added before any further assessment.
- Check the execution conditions for the upgrade scripts. The input is the two manually triggered script identifiers. The comparison object is the condition that all old-version instances are fully stopped and old task leases have expired. The observable result is that the second script may be run only when the condition is met, and completion of a script does not constitute a zero-downtime commitment. For an empty-result handover, a paper input of
[]can be used to check the downstream design; this does not claim that retrieval necessarily returns[].