What the documents look like
Brand concession operations at a shopping mall receive data from four sources at once: the mall POS, the brand ERP, mall member campaigns, and the finance system. The daily document set is made up of the joint-operation concession contract, mall campaign letters, sales receipts, and monthly reconciliation statements. These materials belong to three different parties: mall operations, brand retail, and the concession store manager. The permission boundary is therefore spread across parties from the start.
At the deployment and upgrade step, this matters because reconciliation, campaign participation, and concession fee handling each depend on evidence from a different source. A version change can alter how materials are read and where operations are entered. If a handover transfers only account credentials and does not carry the material state with it, later checks lose the original basis for comparison.
Constraints at the upgrades step
Upgrades involve image updates and manually triggered scripts. In the official description, the historical chunk training task migration and the knowledge base rebuild status migration are manual tasks that do not block service startup. They are to be run after confirming that all old-version instances have fully stopped and old task leases have expired. The deployer cannot read the existence of a script as automatic execution, and cannot read a click on execute as a completed migration.
For permissions and handover, retrieval or form collection does not constitute authorization. A material in a pending-review, submitted, or signed state has different available actions. The following is a hypothetical drill sample used to demonstrate the checking method on this page. It points to no real party.
Hypothetical drill sample: a concession operations team is organizing handover materials before an upgrade. Source text one: "The joint-operation concession contract (No. H-001) sets the concession settlement cycle as the calendar month; signing status is both parties have affixed their seals." Source text two: "The mall campaign letter (No. H-002) states the campaign period as 1 March 2026 to 31 March 2026; status is the mall has issued it and the concession has not yet returned a receipt." Source text three: "The monthly reconciliation statement (No. H-003) shows the February 2026 mall sales amount; status is pending concession confirmation." Draft sentence to be assessed: "Campaign letter H-002 is in effect, and the concession may run the campaign in March and apply for resources."
Configuration and implementation checks
The table below lists only official documented settings or implementation check items relevant to this page's primary task. Where a value appears, it is a hypothetical starting point for this exercise; the reason for choosing it and the comparison object are given in the description.
| Configuration item | Hypothetical starting point for this exercise | Description and comparison method |
|---|---|---|
| AIPROXYAPIENDPOINT | Hypothetically set to http://aiproxy:3000 | Documented as the AI Proxy root address, with no /v1 appended. Compare against the address the service actually listens on. |
| AIPROXYAPITOKEN | Hypothetically set to a non-empty string | Documented as needing to match the server side and be non-empty. Compare against the admin token in the AI Proxy configuration. |
| PRO_TOKEN | Hypothetically set to a string of at least 32 characters | Required when the App sets PRO_URL, and must match pro/admin. Compare the two configured values. |
| PRO_URL | Hypothetically set to the commercial edition service address | Documented that once set, the App can call the Pro API. Compare against the actually reachable address. |
| AGENTSANDBOXOPENSANDBOXVOLUMENAME_PREFIX | Hypothetically carried over from the old VM_VOLUME_NAME_PREFIX value | Documented that the old value must be carried over during upgrade. Compare against the prefix recorded before the upgrade. |
| DEFAULTTEAMBASICPERMISSIONSENABLED | Hypothetically set to the same value on both sides | Documented that FastGPT and Pro Admin should keep this consistent. Compare the two configurations. |
Three common errors
- Treating an issued campaign letter as an effective one. The input is the H-002 source text; the comparison object is the condition required for "in effect." The source text states only that the mall has issued the letter and the concession has not yet returned a receipt; it states no effectiveness clause. The observable result is that the phrase "in effect" in the draft sentence has no corresponding field in the source text.
- Treating a retrieval result as a permission credential. The input is a retrieval request; the comparison object is the material required for authorization. Returned content does not change any party's operating permissions. The observable result is that whether a retrieval hits has no corresponding relationship to whether authorization was granted.
- Treating the existence of an upgrade script as execution. The input is a script name from the upgrade description; the comparison object is an execution record. The official description states manual triggering that does not block startup. The observable result is that with no execution record, the migration status remains unknown.
How to verify the setup
- For the H-002 draft sentence: the input is the three source sentences above and the draft sentence. Compare the phrase "in effect" in the draft sentence against the status field stated in the H-002 source text. If the source text shows only "the mall has issued it and the concession has not yet returned a receipt," the phrase "in effect" is unsupported and should be recorded as pending verification, not judged as a conflict.
- For the H-003 reconciliation statement: the input is the H-003 source text and the "pending concession confirmation" status. Compare whether a concession confirmation record exists. If no accessible confirmation record exists, the reconciliation status remains pending verification, and is not inferred as confirmed or rejected.
- For the upgrade scripts: the input is the two manually triggered script names in the upgrade description. Compare whether an execution record and an old-instance stop record exist. If both are missing, the migration completion status remains unknown and is not written as migrated or as failed.
All three verifications use the hypothetical sample on this page; the expectation is a state judgment after checking, and no test is claimed to have been run. Retrieval and relevance carry no permission or entity-isolation duty; the same-vector-model association requirement does not extend to external systems. For the empty-result handoff, a paper input of [] can be used to check the downstream design, without claiming that a fictional-rule retrieval necessarily returns empty.