What the documents look like
Copy drafting for a brand concession inside a shopping mall draws on four document types: the joint-operation concession contract, the mall activity letter, sales receipts, and the monthly reconciliation statement. A concession accepts the mall's unified cashiering and concession-fee settlement, so the discount bearer named in an activity letter, the concession-fee base, the activity window, and the contract clauses can sit in different files. Sales receipts and monthly statements update daily and monthly, and they are the direct basis for checking price, gift, and activity-period wording in draft copy. These materials define the context a connected model must reference and determine which fields require character-by-character comparison during drafting.
Constraints at the model connections step
Model access runs through AI Proxy. From V4.17.0, the App and any Admin service reusing App/Service configuration must set AIPROXY_API_ENDPOINT and a non-empty AIPROXY_API_TOKEN; missing either causes startup validation to fail. AIPROXY_API_ENDPOINT holds the service root address without /v1. The system needs at least one language model and one index model to operate. The language model fields maxContext, maxResponse, and quoteMaxToken belong to model configuration, while application-side parameters are set in the application or node configuration; same-named fields on a compatible chat interface cannot be assumed to override orchestration.
Hypothetical paper exercise (not a real record): source text reads "During the activity period, this concession applies an 80% price to designated down jackets; the brand bears the discount difference, and the concession fee is calculated on the discounted actual receipt amount," "Style A1023 listed in the activity letter participates; other styles do not participate," and "The activity period runs from March 1 to March 15." The draft sentence to assess is "This concession offers 20% off all down jackets for the whole of March, with the mall bearing the difference." Comparison points: participation scope, bearing party, period, and concession-fee base.
Configuration and implementation checks
| Configuration item | Assumed starting value for this exercise | Basis and comparison method |
|---|---|---|
AIPROXY_API_ENDPOINT | Root address as deployed | Documented requirement to omit /v1; compare character by character against the deployment address |
AIPROXY_API_TOKEN | Non-empty, matching the server | Documented requirement that it cannot be empty; compare against AI Proxy server configuration |
Language model maxContext | Set per selected model | Compare against combined length of activity letter and contract excerpt; truncation occurs on overflow |
Index model defaultToken | Set per selected model | Compare against chunk length of sales receipts and reconciliation statements |
Model capabilities (vision, toolChoice) | Checked per required application input | vision needed only when images are submitted; compare against actually uploaded material |
Three common errors
- Expanding "designated styles participate" from the activity letter into all products participating. Input is the activity letter text and the draft sentence; compare the participation-scope field, and any added style identifier fails the check.
- Changing the discount bearer from the brand to the mall. Input is the contract and activity letter text; compare the bearing-party field, and a mismatched party fails the check.
- Rewriting "March 1 to March 15" as "the whole of March." Input is the activity-letter period and the draft sentence; compare start and end dates, and an expanded range fails the check.
How to verify the setup
- Input the three source sentences and the draft sentence from the exercise, then compare participation scope, bearing party, period, and concession-fee base. All four matching the source satisfies the check; any missing item is recorded as pending verification.
- Input an activity-letter fragment listing only style A1023 and compare whether the draft sentence covers only that style; any other style identifier fails. If retrieval returns an empty result, use the paper input
[]to check downstream design rather than inferring that the rule necessarily returns empty. - Input a sales receipt containing an image and compare the language model's
visioncapability against the actual input type; submitting an image whilevisionis unchecked fails. A rerank model must exist and be enabled per settings, and image retrieval requires corresponding image input and model capability; optional paths do not mean every request executes all of them.