What the documents look like
MCN management covers long-term account compliance for many creators, so the working materials differ from a single brand campaign. The daily and weekly records include creator signing contracts, training records, violation handling forms, and account schedules. During a handover, the same contract can sit in different states: signed, awaiting a supplementary signature, or terminated. The deployment and upgrade step needs to check how these materials are visible in the system and whether each operations user can read or modify them after a version change.
Retrieval results do not grant authorization. A form collects values; business verification, approval, database writes, and external synchronization need their stated downstream implementation. A pending request is not approval, and an offered option is not execution.
Constraints at the upgrades step
Before an upgrade, compare the current version and the target version against the corresponding upgrade notes. Do not infer current behavior from an old configuration name. AI Proxy is a required dependency, and both AIPROXY_API_ENDPOINT and AIPROXY_API_TOKEN must be set; a missing item causes startup validation to fail. FILE_TOKEN_KEY, AES256_SECRET_KEY, and INVOKE_TOKEN_SECRET are required at runtime. The open-source edition no longer reads config.json from version 4.15.0, so an upgrade from an older version needs the volume mount removed and any optional settings moved to environment variables.
Hypothetical drill sample: an MCN operations handover record states, "Creator A's signing contract took effect on March 1, 2026, with status signed; the account schedule shows Creator A joining three livestreams in April 2026; violation handling form V-2026-018 records that Creator A received a warning on March 15, 2026 for a content violation, with handling status closed." The request to judge is: "Transfer edit permission for Creator A's contract to the new operations user, and confirm that violation handling form V-2026-018 is closed." The contract edit permission transfer is a permission change operation, and the violation form status must be compared against the source text. Neither can be treated as completed based on a retrieval result.
Configuration and implementation checks
| Check item | Hypothetical starting value for this drill | Explanation and comparison method |
|---|---|---|
AIPROXY_API_ENDPOINT | Hypothetically set to http://aiproxy:3000 | Compare with the deployment document format and confirm no /v1 suffix is attached |
AIPROXY_API_TOKEN | Hypothetically set to a non-empty string | Compare with the server-side configuration and confirm it matches and is non-empty |
FILE_TOKEN_KEY | Hypothetically set to a random strong key | Compare with the required condition and confirm a length of at least 6 |
AES256_SECRET_KEY | Hypothetically set to a random strong key | Compare with the required condition and confirm a length of at least 6 |
INVOKE_TOKEN_SECRET | Hypothetically set to a random strong key | Compare with the required condition and confirm a length of at least 32 |
DEFAULT_TEAM_BASIC_PERMISSIONS_ENABLED | Hypothetically set to false | Compare the FastGPT and Pro Admin configurations and confirm they match |
The starting values above are drill inputs chosen to exercise the comparison, not official defaults.
Three common errors
- Treating a retrieval hit as a permission basis. The input is a retrieval hit for Creator A's contract, the comparison object is the authorization record for contract edit permission, and the observable result is a retrieval hit present while the authorization record is unchanged. Retrieval does not perform permission isolation, and a hit does not mean edit rights exist.
- Treating "closed" in a draft sentence as a verified status. The input is the draft description of violation handling form V-2026-018, the comparison object is the handling status field in the source record, and the observable result is agreement or a difference between the draft sentence and the source. A draft sentence is not status confirmation.
- Treating form submission as a completed handover. The input is a submitted permission transfer form, the comparison object is the actual permission change record in the system, and the observable result is a submission record present while the permission record is not updated. A form collects values, and business verification and writes need downstream implementation.
How to verify the setup
- Check
AIPROXY_API_ENDPOINTandAIPROXY_API_TOKEN. The input is the hypothetically entered endpoint and token, the comparison object is the format requirement and required condition in the deployment document, and the observable result is that both items exist, the endpoint has no/v1suffix, and the token is non-empty. When either item is missing, startup validation fails. - Check the authorization state of edit permission for Creator A's contract. The input is the contract source text in the hypothetical sample and the proposed transfer request, the comparison object is the permission record for that contract in the system, and the observable result is that the holder of edit permission in the permission record matches the request or differs from it. A retrieval hit does not change this comparison result.
- Check the status of violation handling form V-2026-018. The input is the handling form source text in the hypothetical sample and the draft sentence, the comparison object is the handling status field in the source record, and the observable result is agreement or a difference between the draft description and the source. When the source does not provide a status, that field remains unknown.