UNICUS · 团队测试
一期测试说明
# 方仔团队一期测试说明
这是部署后给方仔团队成员使用的隔离测试流程。入口、组织 ID、测试邮箱和 API 地址必须由部署负责人填入受控交付单;仓库不包含真实凭据或客户数据。
## 登录和控制台
1. 打开部署后的 Web 地址 `/login`,输入已加入测试组织的邮箱。
2. 在隔离收件器或受控邮件中取得一次性验证码,或使用 Magic Link;密码和 OAuth 未启用。
3. 进入 `/console`,填入管理员提供的组织 ID,先读取余额。默认 Credits、法币和最低余额均为 0。
4. 在“团队成员”中读取成员、邀请邮箱并调整角色;Better Auth 会在服务端检查 owner/admin 权限,移除或降权会立即影响后续业务请求。
5. 使用“任务”创建 `simulate:figure` 测试任务。重复提交同一幂等键和相同 JSON 应返回同一任务;修改 payload 应得到 `409`。
如需接收任务事件,可在创建请求中提供隔离测试用的 `callbackUrl`。每个事件只产生一个持久 outbox 事件,Worker 以 `X-UNICUS-Event-ID` 和版本化 JSON 投递;配置 `UNICUS_CALLBACK_SECRET` 时还会带时间戳 HMAC。该 envelope 是 UNICUS 临时协议,方仔最终 callback schema/签名确认前不要用于真实客户接入。
任务执行后可调用 `/v1/tasks/{id}/attempts?organizationId=...` 查看每次 Worker 尝试、失败原因和完成时间;恢复扫描会把超时运行任务标记为 `reconciling`,供查询补偿,不会创建第二个任务。
回调投递状态可通过 `/v1/tasks/{id}/callbacks?organizationId=...` 只读回读;其中的 attempts、lastError、nextAttemptAt 和 deliveredAt 用于区分已投递、退避和待人工处理。
6. 使用“报价”分别创建参考估价和可生产报价。参考估价不能下单;可生产报价还要求该测试组织已由运营显式开通生产能力,且必须有有效期并受余额最低值约束。未开通时应返回 `production_not_enabled`。
7. 只有在隔离测试余额已由负责人准备后,才使用“订单”验证预占;不要把订单创建当作真实生产履约。
订单状态回调使用 `/v1/orders/{id}/events`,必须带组织范围的 `eventId`/`fingerprint`;重复事件只返回原订单,状态按 repairing → in-production → shipped → delivered 单调推进,受理不明时先查询,不要盲目重下。
创建订单时可提供隔离测试用的 `callbackUrl`;订单状态事件会进入同一持久 callback outbox,状态可通过 `/v1/orders/{id}/callbacks?organizationId=...` 只读回读。该 envelope 与签名仍是临时协议,方仔最终 callback 规则确认前不要用于真实客户接入。
8. 使用“文件资产”登记公开 HTTP(S) 测试文件。复制成功前状态为 `pending`,Worker 负责受控复制和七天清理;不要提交带凭据、内网或客户真实文件的 URL。
9. 固定说明书+生产组合通过 `/v1/combinations` 创建,生产路径设置 `reserve=true`;随后按 `instruction` 成功、`production` 成功/失败调用 `/events`。前置修复和最终模型确认仍由上游材料决定,模拟事件不得当作真实生产订单。
10. 组织 owner/admin 可在“API Key”创建、读取和撤销测试 Key。密钥只显示一次,应保存到本地受控密码管理器,不要发群或写入 Issue。
运营回调故障可通过受控 operator token 调用 `POST /v1/internal/organizations/{organizationId}/callbacks/{id}/redeliver` 重置单条未成功投递;这只影响通知,不会重跑任务或再次结算。
## 反馈和证据
请反馈:时间、组织 ID(可脱敏)、请求路径、幂等键、返回的业务 ID、HTTP 状态和脱敏错误码。不要发送验证码、Bearer Key、Cookie、上游密钥、客户原始图片或生产地址。
当前模拟闭环明确标记 `simulated: true`,不代表方仔上游真实联调。固定说明书+生产的业务顺序是 `ModelRepair → instruction → production via PlaceOrder`;真实联调还需要最终字段/路径、受控测试地址、鉴权方式、回调签名/查询/幂等规则和脱敏请求响应样例。这些材料到位后由集成负责人逐项回读。公网 HTTPS、邮件投递、对象存储和回滚证据未完成前,不把临时入口称为一期上线。