Fresh-food weighing and sorting: upgrades for operations handover

Review upgrades for operations handover in Fresh-food weighing and sorting. Check sources, input boundaries, error handling and repeatable test evidence.

What the documents look like

Fresh-food weighing and sorting happens inside warehouse fulfilment. The working facts are weight and specification, not presale order aggregation. The main data sources are the WMS, electronic scales, the order system and quality-inspection photos. The daily documents are sorting task sheets, weighing labels, short-weight compensation forms and quality-inspection records. Data updates per order and per day. A mistake produces short-shipment compensation, gross-margin loss and poor customer reviews. These characteristics decide which field definitions must be checked when deployment and upgrading touch the four document types: weighing, labelling, compensation and inspection. If the check is skipped, the handover pack can be missing items after the upgrade.

Sorting task sheets carry the picker, date, item and target specification. Weighing labels carry the actual weight and the labelling state. Short-weight compensation forms carry the linked order, the compensation quantity and the review state. Quality-inspection records carry the inspection outcome. Operations handover means these materials, the actions taken on them and the requests raised from them each sit at some authorisation state. That state is read from document fields and confirmed by hand. A retrieval result or a value typed into a form does not by itself authorise execution.

Constraints at the upgrades step

The upgrade updates the fastgpt-app and fastgpt-pro image tags to v4.17.2. It contains two manually triggered scripts, visible and executable under the administrator version-upgrade page. The first is the historical chunk training task migration 20261008_migrate_chunk_training; it converts existing old-format chunk training tasks into the new pattern bound to formal data rows. It is manually triggered and does not block service start. Before running it, confirm that every old-version FastGPT App and Pro instance in the cluster has fully stopped and that old task leases have expired. The second is the knowledge-base rebuild status migration 20261009_migrate_dataset_rebuild_status; it depends on the first migration having completed, is manually triggered and does not block service start, and moves old rebuild markers and transitional states in historical knowledge-base data rows into the new indexStatus rebuild-state system.

From V4.17.0 onward AI Proxy is a required dependency. App and any Admin service reusing App/Service configuration must set AIPROXY_API_ENDPOINT and a non-empty AIPROXY_API_TOKEN. Missing either one fails startup validation. Old OpenAI environment variables or a single-model custom request address do not replace these two settings.

Hypothetical drill sample. A front-warehouse sorting supervisor submits a handover request. The source material is three sentences. First: "Sorting task sheet FP-2026-0417-03, picker A, 17 April 2026, item spinach, target specification 500 g ±10 g." Second: "Weighing label TL-0417-0891, actual weight 478 g, status labelled." Third: "Short-weight compensation form BC-0417-012, linked order ORD-88231, compensation quantity 1 unit, status awaiting quality-inspection supervisor review." The draft sentence to be judged is: "The above compensation form has been approved and the refund can be executed directly after the upgrade." Comparing that draft with the the source material reads the material records only the status awaiting quality-inspection supervisor review. It states no approving party, no approval time and no refund execution record. The draft sentence is therefore unsupported.

Configuration and implementation checks

Configuration itemHypothetical trial starting point for this pageReason for the choice and the value compared against
AIPROXY_API_ENDPOINThttp://aiproxy:3000The document requires the root address without /v1 appended; compared with a single-model address
AIPROXY_API_TOKENHypothetical 32-character random stringThe document requires a non-empty token matching the server; compared with an empty value
AGENT_SANDBOX_PROVIDERLeft emptyThe document states the sandbox is not enabled when empty; compared with sealosdevbox
SYNC_INDEXKept at trueThe document states missing MongoDB indexes are created at startup; compared with switching it off and maintaining indexes manually
DEFAULT_TEAM_BASIC_PERMISSIONS_ENABLEDKept at falseThe document requires App and Pro Admin to stay consistent; compared with true

These values are hypothetical trial starting points for this page, not official defaults. The documented defaults for SYNC_INDEX and DEFAULT_TEAM_BASIC_PERMISSIONS_ENABLED are true and false respectively. The two migration scripts are manual triggers; the document does not describe a scheduled trigger, so none is assumed. The document gives no error code for a failed migration, so the comparison is between the recorded script state and the documented precondition, and the outcome of any run remains unknown until observed.

Three common errors

  1. Treating a pending review state as approval. Input: compensation form BC-0417-012 with status awaiting quality-inspection supervisor review. Comparison object: the value approved. Observable result: the two values are not equal, so the draft claim is unsupported.
  2. Treating a form-collected value as authorisation to execute. Input: the compensation quantity entered in the handover request. Comparison object: a quality-inspection supervisor review record. Observable result: the review field is absent, so authorisation is not complete.
  3. Treating a retrieval hit as permission isolation. Input: the compensation form returned by a keyword search. Comparison object: the sorting supervisor's authorised scope. Observable result: the search return does not demonstrate read permission, so manual confirmation is required.

How to verify the setup

  1. Check AIPROXY_API_ENDPOINT and AIPROXY_API_TOKEN. Input: the hypothetical starting values above. Comparison object: the documented requirement of a root address and a non-empty token. Observable result: both are non-empty and the address contains no /v1, so the condition is met.
  2. Check the migration script order. Input: 20261008_migrate_chunk_training and 20261009_migrate_dataset_rebuild_status. Comparison object: the documented dependency, with the first completing before the second and old instances stopped. Observable result: the first is recorded as executed before the second and the old instances are confirmed stopped. Where either record is absent, the gap stays open.
  3. Check the draft sentence against the source material. Input: "The above compensation form has been approved and the refund can be executed directly after the upgrade." Comparison object: the status field in the source material. Observable result: the material records no approval and no refund execution, so the sentence is unsupported and the gap is retained.