What the documents look like
Chain-store site selection and store opening work happens before a store begins trading. The work centres on lease commitments and engineering handover rather than on supervising stores that are already operating. The documents behind this page are the site evaluation form, the letter of intent for lease, the renovation budget and the opening schedule. Supporting material includes trade-area footfall, map points of interest, point-of-sale records of historical store types, and landlord documents. These records are updated irregularly, on a per-store basis.
The primary task here is drafting product and marketing copy. The copy that matters at this stage describes rent-to-sales ratio calculations, handover milestones and store-type descriptions. Each of those statements has to correspond to the subject, object, status and validity scope already recorded in the four documents above. A field that the documents do not state stays unknown. More complete material from another category does not make this category's material complete.
Constraints at the interactive forms step
In FastGPT v4.17.2, the form input node is a user-interaction node. When it triggers, the conversation enters an interactive state, the workflow state is recorded, and execution waits until the user completes the interaction. The node then collects the values the user submitted and passes them to downstream nodes. It does not include a business database function of its own. The user selection node also enters an interactive state and executes a branch according to the user's choice. It performs branch judgement inside the flow. It does not act as a personnel directory or a business-data selector. Field validation, business approval, write-back and batch operations require an external system or subsequent nodes.
Hypothetical paper exercise. The source material reads: the site evaluation form records that the object is a community ground-floor unit and that the status is a letter of intent for lease received, with the rent-to-sales ratio calculation range left blank; the renovation budget records the store type as a Class A standard store; the opening schedule records the handover milestone as one week before renovation mobilisation. The draft sentence to be assessed is: "The store already meets opening conditions and the rent-to-sales ratio sits in a healthy range." Checking the source, it supports only that the letter of intent has been received and that a schedule milestone exists. It states no conclusion about opening conditions and no rent-to-sales ratio figure. The draft sentence goes beyond the material.
Configuration and implementation checks
| Configuration item | Type | Purpose and checking method on this page |
|---|---|---|
| Form input node | Documented node | Enters the interactive state on trigger, collects the fields the draft needs and passes them downstream |
| User selection node | Documented node | Executes a branch from the user's choice, used to route whether a draft sentence goes to review |
| Required-information list | Implementation check | Lists subject, object, status and validity scope; a missing item stays unknown |
| Hypothetical starting value | Assumed trial starting point | Three draft-sentence check items, chosen so each sentence can be compared one by one against the sentences actually stated in the material |
| Downstream division of work | Implementation check | Validation, approval and write-back are carried by an external system or later nodes |
| Retrieval observation record | Implementation check | Records returned results and empty results; a first-item hit is not guaranteed |
Three common errors
- Writing "letter of intent for lease received" as "lease contract in effect". A letter of intent and an effective contract are different facts. The input is the letter-of-intent status, the comparison field is contract effectiveness, and the observable result is whether the draft sentence contains an effectiveness statement.
- Treating the branch outcome of the user selection node as business approval. The node only executes a branch; approval needs external implementation. The input is the branch direction, the comparison is whether an approval record exists, and the observable result is whether the draft sentence claims approval.
- Treating retrieval relevance as a permission or entity filter. The input is a similarity-ranked result, the comparison is whether it contains unauthorised records, and the observable result is whether downstream adopts that result directly. Relevance carries no isolation duty.
How to verify the setup
- Input the hypothetical source text above together with the draft sentence "The store already meets opening conditions and the rent-to-sales ratio sits in a healthy range". Compare whether the draft sentence uses only the subject, object and status stated in the source. The result is met when the draft sentence is marked as unsupported.
- Input the same source text with the draft sentence "The store has received the letter of intent for lease, and the handover milestone is one week before renovation mobilisation". Compare whether both sides share the same subject and the same period. The result is met when they correspond.
- Input the paper empty result []. Compare whether the downstream branch handles it as having no reference. The result is met when the flow produces no determinate conclusion and the gap record is retained.
Retrieval and similarity ranking do not carry permission or entity isolation. Libraries that use different vector models cannot be associated together; the identifier is checked first and non-matching libraries are excluded, with actual observations recorded. The documented workflow diagram lists optional paths that do not all execute on every request. Image retrieval requires a corresponding image input and model capability, and reranking requires a model enabled according to its settings. A pending review does not show that operating permission is missing, and signature, cooperation reached and contract effectiveness are three distinct facts. Where the material does not state a field, the gap is recorded rather than filled with an assumed authorisation or effectiveness clause.