What the documents look like
Presale group-buy rounds collect orders first and organize procurement and fulfillment afterward. This differs from leader relationship maintenance, which is a separate line of work. The daily materials are the presale product table, the order-collection result, the procurement plan, and the cut-off notice. These update daily or per round. During an operations handover, each material carries a different authorization state. The product table and order-collection result record the scope of orders already received. The procurement plan records the downstream purchase arrangement. The cut-off notice records the cut-off action. Whether a handover request can be executed depends on whether the object named in the request sits inside the corresponding authorization boundary. Retrieval and forms present data; neither performs authorization.
Constraints at the upgrades step
Deployment and upgrade work begins by checking the current version, the target version, and the matching upgrade notes. Behavior is not inferred from an old configuration name. The App and Admin share server-side configuration, so an upgrade checks both the fastgpt-app and fastgpt-pro image tags. AI Proxy is a required dependency: if AIPROXYAPIENDPOINT or AIPROXYAPITOKEN is missing, startup validation fails. The upgrade scripts are manually triggered and do not block service startup. Before running them, confirm that all old-version instances have fully stopped and that old task leases have expired. From version 4.15.0 onward, the open-source edition no longer reads config.json; an upgrade from an older version deletes that file's volume mount and moves the former fields to environment variables.
Hypothetical drill sample. A platform plans to upgrade its presale order-collection system from an older version to v4.17.2. The operations handover material consists of three sentences. Sentence one: this round's presale product table lists the products and the cut-off time, and the cut-off time has passed. Sentence two: the order-collection result records the number of orders received this round, with status set to cut-off. Sentence three: the procurement plan records the downstream purchase arrangement, with status set to awaiting purchase. Proposed draft sentence for review: this round's order-collection result is confirmed and the procurement plan may proceed to downstream purchase. The review compares the subject, object, and status of the draft sentence against the three source sentences. The source does not state that the procurement plan has been authorized to proceed to downstream purchase, so the draft sentence exceeds the source scope.
Configuration and implementation checks
| Configuration item | Hypothetical starting value for this trial | Comparison method |
|---|---|---|
| Image tag | fastgpt-app and fastgpt-pro both at v4.17.2 | Compare against the version numbers listed in the upgrade notes |
| AIPROXYAPIENDPOINT | Hypothetically set to http://aiproxy:3000 | Check that it is a root address with no /v1 appended |
| AIPROXYAPITOKEN | Hypothetically set to a non-empty value | Check that it matches the server-side configuration and is non-empty |
| Upgrade script execution condition | Hypothetically old instances stopped and leases expired | Compare against actual instance state and lease records |
| Post-upgrade verification sample | Hypothetically reuse the same presale product table sample | Re-check import and invocation with the same sample |
The AIPROXYAPIENDPOINT starting value is a root address because the documentation states that /v1 is not appended; the comparison object is the documented example format. The AIPROXYAPITOKEN starting value is non-empty because the documentation states it cannot be empty; the comparison object is the server-side configuration. The upgrade script execution condition starts from stopped instances because the documentation requires confirming old instances are stopped; the comparison object is the actual instance state. These are hypothetical starting points for this trial, not official defaults.
Three common errors
- Treating retrieval results as authorization to execute. Input is a retrieval request; the comparison object is the authorization boundary record; the observable result is that retrieval returns data while no authorization record exists. In that state the procurement plan cannot proceed to downstream purchase.
- Treating form submission as completed approval. Input is a procurement plan form; the comparison object is the approval status field; the observable result is that the form is submitted while status remains pending review. In that state authorization is not established.
- Treating an old configuration name as current behavior. Input is an old config.json field; the comparison object is the current environment variable documentation; the observable result is that the field names do not match. In that state behavior is not inferred from the old name.
How to verify the setup
- Input the three source sentences and the draft sentence from the hypothetical sample. Compare whether the draft sentence exceeds the source scope. The observable result is that the draft sentence contains an authorization the source does not state, so the draft is judged unsupported.
- Input the hypothetical AIPROXYAPIENDPOINT value. Compare whether
/v1is appended. The observable result is that it is not appended and matches the documented example format, so the value is judged compliant. - Input the hypothetical upgrade script execution condition. Compare the old instance state and the lease records. The observable result is that instances are stopped and leases have expired, so the script is judged executable. If instances are not stopped or leases have not expired, record the state as pending verification and do not run the script.
The retrieval check observes whether returned results and authorization records remain separate. The failure branch is retrieval returning data with no authorization record, in which case no downstream action is taken. An empty result can be handled by using the explicit paper input [] to check the downstream design; this does not claim that a fictional-rule retrieval necessarily returns []. Cross-model association is not available; check identifiers first and exclude those that do not match. Missing evidence stays missing: a pending request is not approval, an offered option is not execution, and an unsigned termination is not a completed termination.