What the documents look like
Store counts and loss control revolve around book-to-physical differences and shrinkage. The work does not touch supplier payables. The main data sources are POS inventory, WMS, monitoring systems and the SB/T count standard. The daily documents are count sheets, variance analyses, shrinkage write-off approvals and monitoring review records. The typical roles are the loss prevention department, store inventory keeper and finance auditor. Errors show up as distorted inventory, inflated gross margin and employee fraud. At the deployment and upgrade step, the binding point is that count sheets and variance analyses carry store and period identifiers, shrinkage write-off approvals carry an authorization state, and monitoring review records carry a review scope. After an upgrade, each of these must be checked item by item to confirm that permissions and handover states still match the documents.
Constraints at the upgrades step
Before upgrading, confirm 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 shared settings AIPROXYAPIENDPOINT and AIPROXYAPITOKEN are required; missing either one causes the startup check to fail. Old OpenAI environment variables or a single-model custom request address cannot replace them. V4.17.2 contains two manually triggered upgrade scripts: the historical chunk training task migration and the knowledge base rebuild status migration. The second depends on the first being complete. Neither blocks service startup, and both should be run only after confirming that all old-version App and Pro instances have fully stopped and old task leases have expired. Within the data index three-state flow, data awaiting indexing is isolated at the retrieval layer and is not recalled, and the backend provides safety interception for editing, deleting and index modification. Retrieval and relevance scores do not carry permission or entity isolation duties, and retrieval is not authorization.
Hypothetical drill sample: a chain supermarket loss prevention department submits a handover request on 9 October 2026. The source material reads: "Store A closed for count on 30 September 2026; count sheet PD-20260930-A is signed by the inventory keeper; variance analysis DA-20260930-A lists three variance SKUs; shrinkage write-off approval BS-20261001-A has status pending review; monitoring review record MC-20260928-A covers 28 September 22:00 to 23:00." The draft sentence to be judged is: "Shrinkage write-off approval BS-20261001-A is approved, so the write-off can be executed and synced to WMS."
Configuration and implementation checks
| Configuration or check item | Hypothetical starting value for this exercise | Reason for the choice and comparison method |
|---|---|---|
| AIPROXYAPIENDPOINT | Hypothetical starting value http://aiproxy:3000 | Documented required root address, with no /v1 appended; compare against the old single-model address to confirm it was not carried over |
| AIPROXYAPITOKEN | Hypothetical starting value is a non-empty admin token | Documented requirement that it match the server side and be non-empty; compare character by character with the server configuration |
| AGENTSANDBOXPROVIDER | Hypothetical starting value is empty | Documented that an empty value means the sandbox is not enabled; compare against whether the material shows any sandbox invocation need |
| DEFAULTTEAMBASICPERMISSIONSENABLED | Hypothetical starting value false | Documented that it does not affect existing teams; compare the value on the App side and the Pro Admin side |
| Manual upgrade script precondition | Hypothetical starting value is that old instances have fully stopped | Documented requirement to confirm old task leases have expired; compare against the cluster instance list |
| Post-upgrade recheck on the same sample | Hypothetical starting value is PD-20260930-A | Use the same count sheet sample to recheck import and retrieval; compare against the observation made before the upgrade |
Three common errors
- Treating pending review as approved. In the sample, shrinkage write-off approval BS-20261001-A has status pending review, while the draft sentence writes that it is approved and that the write-off can be executed. The input is the approval status field, the comparison is between the two mutually exclusive values "pending review" and "approved", and the observable result is that the two do not match, so the draft sentence is not supported.
- Treating a retrieval hit as a grant of permission. In the sample, monitoring review record MC-20260928-A covers 28 September 22:00 to 23:00. If this is taken to mean the inventory keeper holds review permission for the 30 September count variance, the input is the record's time range, the comparison is between the 28 September period and the 30 September period, and the observable result is that the periods are not the same, so the permission judgment remains to be verified.
- Inferring current behavior from an old configuration name. After upgrading to V4.17.2, the knowledge base state is still read using the old rebuilding marker. The input is the indexStatus system described in the upgrade notes, the comparison is between the old marker and the new three-state flow, and the observable result is that the field names do not match, so the state must be rechecked against the current documentation.
How to verify the setup
- Input the source material and the draft sentence, then compare the status field of shrinkage write-off approval BS-20261001-A against the wording of the draft sentence. If the two values do not match, the draft sentence does not hold. If the material does not state an approval time or approver, record that as an evidence gap.
- Input the coverage period of monitoring review record MC-20260928-A and the count date of count sheet PD-20260930-A, then compare whether the two periods are the same. If they are not the same, the review scope does not cover this count, and the permission judgment stays pending verification.
- Input the import and retrieval observation for the same count sheet sample after the upgrade, then compare whether the returned results match those before the upgrade. If an empty result appears, use the explicit paper input [] to check the downstream design, and do not claim that a retrieval rule necessarily returns empty.