Files
airz-uniapp/docs/候选版本与验收用例-20261009.md
T
hujun b418969e92 refactor(login): move match-route logic to dedicated service and fix import
- 提取登录回跳、产品对比的路由匹配逻辑至独立的 match-route.uts 服务
- 修复登录页面导入对比服务的错误,改为导入新的 match-route 模块
- 保持原有的路由参数校验和跳转逻辑不变,仅重构代码结构
2026-10-12 09:28:09 +08:00

170 lines
35 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 候选版本与验收用例:2026-10-09
候选ID:`rc-20261009-r3-mp1`;进度2.00/1.10、开发文档v1.68/0.81。63任务、27页面,RELEASE-001开发中/整体未验收,RELEASE-003阻塞。本文和目录内JSON为固定基线,后续变更应建立新候选,不覆盖历史摘要。
## 版本与固定范围
| 对象 | 固定结果 | 验证边界 |
| --- | --- | --- |
| 前端 | HEAD `25cb06b71c54a1bea595f01c4987dd8902174dff`+当前工作树,149文件 | 包含登录页/compare迁移与新match-route;HEAD本身不包含全部修复 |
| 后端本地 | HEAD `1a2fab9dcee910a80964a338288984d065e4a19b`,4197源码/资产/依赖/检查文件 | 不把本地整站等同完整线上整站 |
| 后端已部署记录 | `20261008-security-r3`;9运行文件+76保护依赖 | 本轮离线核84同本地、1个AssessmentRecords线上变体;没有重新访问生产 |
| 用户发行小程序 | `1.0.6`,北京时间`2026-10-09 09:35` | 用户报告已发行修复版;尚无上传源码/发行包摘要绑定,不用开发包替代 |
| 前端环境 | `APP_ENVIRONMENT=test`;`https://airz.hqling.cloud/api/v1`;模拟关闭 | 连接已发布后端,非独立测试库;production地址为空,正式配置变更需新候选 |
| 编译 | 1.09微信27页与Android class通过;本轮31项产物检查通过 | 仅开发编译/本机桩,不是实际微信模拟器/真机或H5发行验证 |
源码树摘要:`aa5170fe434db364da97cbe31ae58cfb7b67692fff39fb598301c148dbb34526`。
- [逐文件源码清单](候选版本/rc-20261009-r3-mp1/source-manifest.json):相对路径、字节数、SHA-256、目录选择规则、未提交/依赖状态、部署变体和开发包摘要。
- [63项验收用例](候选版本/rc-20261009-r3-mp1/acceptance-cases.json):与63任务一一对应,保存步骤、预期、前置条件、阻塞和所需证据。
- [本轮31项产物检查](候选版本/rc-20261009-r3-mp1/frontend-checks.json):真实生成JS及隔离微信桩;不累计旧检查数。
- [交付核对与文件摘要](候选版本/rc-20261009-r3-mp1/closure-receipt.json):固定本文和三个JSON摘要及核对结果。
清单选择运行源码/打包资产、后端依赖和已有验证入口;排除私密环境/site/数据库配置、上传文件、数据dump、会话/运行缓存、截图/旧终端日志及未使用原始图片。只固定这些环境项的非秘密描述,不复制配置内容。完整排除规则见source-manifest.selectionPolicy。源码清单不是部署包;本轮不重跑数据库回归或历史演练。
平台发行版本1.0.6与manifest中的versionName=1.0.0/versionCode=100分别记录,不擅自更改项目配置。发行包摘要仍需由发布记录核对;当前只确认用户提供的发行事实。
## 已有证据的适用范围
| ID | 证据 | 当前适用边界 |
| --- | --- | --- |
| E01 | 1.02 主流程,1666项 | 合成数据/假模型与当时源码的局部开发证据;测试入口一致也不证明全部业务依赖或真实渠道一致。 |
| E02 | 1.03 会话组合,1369项 | 合成数据/假模型与当时源码的局部开发证据;测试入口一致也不证明全部业务依赖或真实渠道一致。 |
| E03 | 1.04 后台组合,1249项 | 合成数据/假模型与当时源码的局部开发证据;测试入口一致也不证明全部业务依赖或真实渠道一致。 |
| E04 | 1.05 反馈消息组合,1018项 | 合成数据/假模型与当时源码的局部开发证据;测试入口一致也不证明全部业务依赖或真实渠道一致。 |
| E05 | 1.06 内容发布组合,1163项 | 合成数据/假模型与当时源码的局部开发证据;测试入口一致也不证明全部业务依赖或真实渠道一致。 content_publication_flow.php在后续CSRF改造后已变化,旧1163结果保留为历史;当前入口匹配E06。 |
| E06 | 1.07 内容CSRF,1794项 | 合成数据/假模型与当时源码的局部开发证据;测试入口一致也不证明全部业务依赖或真实渠道一致。 |
| E07 | 1.08 security-r3发布 | 历史服务器/公网核验与恢复干跑;本轮未连接生产,不代表当前服务状态或完整业务/守护验收。 |
| E08 | 1.09 微信分包修复,31项 | 实际生成JavaScript及隔离的微信生命周期/窗口信息桩;不等同实际微信模拟器或真机。 |
| E09 | 积分关闭与合成检查 | 仅保留既有记录对应的样例与平台边界,不扩展为当前候选全面验收。 |
| E10 | PDF冻结导出与平台边界 | 仅保留既有记录对应的样例与平台边界,不扩展为当前候选全面验收。 |
| E11 | 既有真实模型小样例 | 仅保留既有记录对应的样例与平台边界,不扩展为当前候选全面验收。 |
| E12 | 合成恢复/密钥/队列/导入证据目录 | 指向既有合成演练证据;Linux/systemd、真实告警投递、真实密钥托管及规模RTO/RPO尚缺。 |
六批回执和tests.json的SHA-256链已核对;测试入口匹配仅表示入口字节一致,不表示所有依赖都未变化。当前部署85文件和本地完整清单分别记录;AssessmentRecords线上变体不进入本地源码一致声明。历史1666/1369/1249/1018/1163/1794以及本轮31各自独立,不求和、不重写旧回执。
## 验收执行入口
每行对应一个正式用例,全部当前为未执行。JSON保存原台账验收标准与所需证据。正式执行前先核候选摘要与实际版本,指定执行人/验收人、非敏感A/B账号别名、设备/基础库/浏览器及受控数据;尚未实现或渠道未就绪的项按前置条件保留阻塞。以下操作定义不构成本轮生产写入、模型费用或运维演练的执行授权。
| 用例 / 台账状态 | 前置条件 | 操作顺序 | 通过标准 | 前置编号 |
| --- | --- | --- | --- | --- | --- |
| AC-BASE-001;开发中 | 接口字典与A/B受控账号 | 1. 逐项核路由/错误码/分页ID/时间字典<br>2. 以个人和企业样例对照前后端字段<br>3. 送出非法ID/金额精度/未知字段 | 协议样例与实际响应一致;非法输入明确拒绝且无业务写入 | B-ENV |
| AC-BASE-002;开发中 | 有效/过期/禁用受控会话 | 1. 密码登录后读取本人资料<br>2. 模拟超时/业务错误/401再恢复<br>3. 换B账号后释放A迟到响应 | Bearer和requestId一致;401撤当前会话且旧响应不回填B,错误可手动恢复 | B-DEVICE |
| AC-BASE-003;开发中 | 候选配置、A/B账号与可观察缓存 | 1. 核test API及关闭模拟配置<br>2. A填写未提交表单后退出再登录B<br>3. 重新进入/刷新并检查缓存<br>4. 在隔离构建核空地址/非HTTPS生产配置 | 没有跨账户缓存或草稿;未配置请求明确失败,无模拟成功;正式配置变化必须重建候选 | B-ENV、B-DEVICE |
| AC-BASE-004;待验收 | 可用首页聚合数据与A/B账号 | 1. 打开首页/搜索/消息/融资与登录入口<br>2. 分别注入空态/失败/迟到响应<br>3. 登录返回原业务页 | 聚合数据与接口一致;重试可恢复且无旧响应串页,账号包独立加载无缺失模块 | B-DEVICE |
| AC-AUTH-001;阻塞 | 已开通短信渠道、测试号码与批准模板 | 1. 按不同用途发送并核回执<br>2. 验证频控/过期/错误/重复核销<br>3. 用登录码尝试其他用途 | 按配置发送且用途隔离;过期或重用明确失败,无模拟短信成功 | EXT-SMS |
| AC-AUTH-002;开发中 | A/B账号、禁用与旧散列受控账户、短信渠道 | 1. 验证密码/短信登录与首次注册<br>2. 验证旧散列升级和禁用账号<br>3. 登出A一个会话后重试A其他会话及B | 真实会话只归本人;禁用拒绝、旧散列安全升级;退出仅撤当前会话 | EXT-SMS、B-DEVICE |
| AC-AUTH-003;开发中 | A/B账号与合法/非法头像文件 | 1. A修改昵称和头像后刷新/重进<br>2. 上传超限/伪MIME/错误内容<br>3. B读取A附件后切回A | 以服务端资料为准;非法文件无持久化,跨用户读取拒绝,迟到资料不回填 | B-DEVICE |
| AC-AUTH-004;开发中 | A至少两个会话、B账号、原新手机号真实双挑战 | 1. A改密后分别用旧/新密码与旧会话访问<br>2. B持续访问<br>3. 验证换绑双挑战、号码冲突、挑战重用与事务失败 | A旧会话全撤而B不受影响;换绑同时验证原/新手机号且失败完整回滚 | EXT-SMS、B-DEVICE |
| AC-LOGIN-001;阻塞 | 微信/一键登录真实能力资料 | 1. 列普通移动/桌面/微信内H5及小程序支持方式<br>2. 核服务端身份/手机号绑定设计<br>3. 验证不支持方式的可见降级 | 渠道支持边界与资质一致;不支持时明确提示且不模拟成功 | EXT-WX、EXT-ONE |
| AC-LOGIN-002;阻塞 | 微信真实账号权限与回调测试能力 | 1. 完成授权和首次手机号绑定<br>2. 测试错误state/重复code/取消授权<br>3. 测试已有账号冲突及退出重登 | code只在服务端交换;state与绑定归属有效;冲突/取消不产生伪登录 | EXT-WX、EXT-SMS、B-DEVICE |
| AC-LOGIN-003;阻塞 | 一键登录测试环境与批准绑定方案 | 1. 在支持网络完成号码认证和服务端校验<br>2. 在不支持浏览器/运营商/网络验证降级<br>3. 测试过期/重复凭据和账号冲突 | 真实服务端验证后才登录;失败回退可用且不能通过客户端自报号码绑定 | EXT-ONE、EXT-SMS、B-DEVICE |
| AC-LOGIN-004;未开始 | 已实现微信/一键渠道及目标端矩阵 | 1. 逐端走两渠道登录/取消/失败/重新进入<br>2. 验证绑定冲突和可用解绑流程<br>3. 切换A/B并恢复业务回跳 | 各端只展示支持能力;身份不串账户,失败可恢复,回跳保留合法上下文 | EXT-WX、EXT-ONE、EXT-SMS、B-DEVICE、B-H5 |
| AC-FILE-001;阻塞 | 批准私有存储与隐私方案 | 1. 区分公开头像与私有证件目录/桶<br>2. 核类型/大小/元数据/密钥读取/生命周期<br>3. 审核保留/删除/访问策略 | 私有资料无公开URL且有归属和期限;密钥仅服务端,方案签收后才实施 | EXT-STORAGE、DEC-PRIVACY |
| AC-FILE-002;未开始 | 私有上传/读取已实施、A/B与受控文件 | 1. A上传合法证件并用附件ID读取<br>2. 提交超限/伪MIME/错误内容与B读取<br>3. 验证取消/断网重试/删除后读取 | 仅本人可读取;非法或取消不留可用附件;删除与失败按批准生命周期执行 | EXT-STORAGE、DEC-PRIVACY、B-DEVICE |
| AC-FILE-003;阻塞 | 正式协议全文/版本与授权事件已实施 | 1. 查看实际全文并同意指定版本/范围<br>2. 提交后更新协议并读取旧快照<br>3. 撤销授权并尝试后续读取/查询 | 同意与撤销可追溯且绑定版本;历史不被新协议覆盖,撤销按批准规则限制后续使用 | DEC-PRIVACY、EXT-STORAGE |
| AC-FILE-004;未开始 | 私有附件与授权功能已实施、目标端 | 1. 逐端上传/授权并提交<br>2. 验证拒绝/取消/离页/断网后重进<br>3. 退出A登录B并释放迟到上传结果 | 页面展示真实持久状态;不以选图预览或占位协议表示成功;无跨账户附件 | EXT-STORAGE、DEC-PRIVACY、B-DEVICE |
| AC-ASSESS-001;开发中 | 现行个人/企业字段字典和版本样例 | 1. 核用途/other与金额元万换算<br>2. 提交零值/none/null/未知字段反例<br>3. 读取旧v1/v2与当前输入的需求字段 | 字段与冻结字典一致;旧未采集不同于0,非法输入不落库,需求版本可追溯 | DEC-READINESS |
| AC-ASSESS-002;待验收 | A含多页/多版本历史、B受控账号 | 1. 翻页/筛选本人评估并读各版本详情<br>2. B尝试A记录及游标<br>3. 刷新/重新登录并启动独立空白评估 | 只读本人正式历史;无草稿续填;旧未采集明确展示,新评估独立记录 | B-DEVICE |
| AC-ASSESS-003;开发中 | 受控评估数据、幂等键、真实附件授权就绪 | 1. 个人/企业各提交一次并同键重发<br>2. 同键修改字段/并发提交<br>3. 测试无效授权、旧请求重放、失败后人工/用户重试 | 201/202生命周期和请求回执一致;同键不重复创建,冲突/授权失败无部分落库 | EXT-STORAGE、DEC-PRIVACY |
| AC-ASSESS-004;开发中 | 可用报告/匹配、A/B与目标端 | 1. 贯穿填写/确认/分析/报告/档案<br>2. 修改最新资料生成新版本并读历史<br>3. 失败重评保留旧发布版<br>4. 离页/换账户/弱网后恢复 | assessmentId/revisionId不混用;金额精度一致,无重复提交或草稿,迟到响应不回填 | B-DEVICE、B-FRONT |
| AC-DATA-001;阻塞 | 真实渠道产品与批准查询范围 | 1. 核个人/企业可开通产品及授权映射<br>2. 审核样例/字典/留存/计费<br>3. 明确拒绝/失败后的自填路径和重查费用 | 能力/费用/授权逐项可追溯;未可用产品不承诺查询成功 | EXT-DATA、DEC-QUERY、DEC-PRIVACY |
| AC-DATA-002;未开始 | 查询适配已实施、合法授权与测试渠道 | 1. 按评估发起查询并同键重发<br>2. A/B互换附件/授权/评估编号<br>3. 撤销授权后重新发起 | 请求唯一且绑定本人评估;凭证不下发,越权或撤销拒绝且不预留收费请求 | EXT-DATA、DEC-QUERY、DEC-PRIVACY、EXT-STORAGE |
| AC-DATA-003;未开始 | 渠道真实验签样例及回调/对账测试能力 | 1. 送入有效/错误签名/重放回调<br>2. 重复回调和主动查询并发<br>3. 核字段/来源/时间和受限留存 | 验签和防重放有效;结果仅持久一次且标准化一致,重复事件不重复计费 | EXT-DATA、DEC-QUERY |
| AC-DATA-004;未开始 | 渠道成功/拒绝/超时/余额不足样例 | 1. 依次验证超时/拒绝/撤销/余额不足<br>2. 重复回调/重查并核供应商账单<br>3. 逐端H5往返和断网恢复 | 状态与费用可对账;不以未知或失败表示成功,恢复不重复查询/扣费 | EXT-DATA、DEC-QUERY、B-DEVICE、B-H5 |
| AC-PRODUCT-001;开发中 | 真实产品与人工金标准 | 1. 复核来源门槛/用途/单产品需求覆盖<br>2. 用pass/fail/unknown与缺失反例人工复算<br>3. 核冻结规则版本和排序口径 | 三态依据可追溯且fail优先;缺依据不推断满足,未发布评分时score/rank为null | DEC-PRODUCT、DEC-MATCH |
| AC-PRODUCT-002;开发中 | 合法上架目录与边界金标准 | 1. 测试上下架/生效失效/对象/地区及金额期限<br>2. 用至少一条fail和unknown反例复算<br>3. 冻结后更新产品/策略再重试历史 | 执行器与人工金标准一致;productId排序稳定,快照不被现价/新策略改写 | DEC-PRODUCT、DEC-MATCH、DEC-READINESS |
| AC-PRODUCT-003;开发中 | 真实银行材料、运营发布责任人与批准权限 | 1. 录入草稿、来源/条件/用途和日期<br>2. 对缺项/过期/来源不足尝试发布<br>3. 补齐材料后发布/下架并查公开详情<br>4. 测试跨类型/撤权/旧版本冲突 | 不足依据不能发布;草稿不可公开,合法发布可追溯且历史版本不被修改 | DEC-PRODUCT、DEC-MATCH、B-OPS |
| AC-PRODUCT-004;开发中 | 同评估冻结匹配三态与已发布报告 | 1. 打开分组/分页/详情及解释<br>2. 更新现产品和发布新报告后读取旧列表/详情<br>3. 测试B越权、单项失败、unavailable/零候选/failed | 不混结果/快照版本;新报告后旧版不能解释重试,失败与零候选分开,理由不补造 | DEC-PRODUCT、DEC-MATCH、B-DEVICE |
| AC-PRODUCT-005;待验收 | 同评估2至3个冻结产品与目标端 | 1. 从列表/产品补选并进入对比<br>2. 移除/刷新/登录返回<br>3. 测试超3项/重复/跨评估/单列失败重试与账户变化 | 仅同评估冻结产品对比;缺值不同于0,顺序可恢复且手机可读;无重复模型调用 | DEC-PRODUCT、B-DEVICE |
| AC-REPORT-001;待验收 | 真实指定模型、批准额度与测试预算 | 1. 核密钥仅服务端和模型标识<br>2. 用人工事实样例调用并核JSON/数值/用量<br>3. 测试额度不足/超时/格式错与对账 | 失败不成功;输入最小化且数值事实不被改写;预留/消耗可定位费用 | EXT-AI、DEC-AI |
| AC-REPORT-002;开发中 | 可恢复隔离队列、冻结评估与可控故障 | 1. 模拟漏投/进程中断/租约过期<br>2. 以原键重试并核输入/策略/产品快照<br>3. 释放旧任务迟到结果与并发补投 | 一次有效发布且旧任务不可回写;冻结快照不隐式更新,故障可恢复或明确失败 | EXT-DEPLOY、EXT-AI、DEC-AI |
| AC-REPORT-003;阻塞 | 真实产品/渠道/金标准与报告链路 | 1. 个人/企业各完成自填与授权查询的正式报告<br>2. 人工复算完整度/等级和规则依据<br>3. 测试格式错/发布事务失败/后续产品更新 | 报告原子持久化;三态/版本与冻结输入一致,非授信且历史不重算 | EXT-DATA、DEC-QUERY、DEC-PRODUCT、DEC-MATCH、DEC-READINESS、EXT-AI、DEC-AI |
| AC-REPORT-004;开发中 | A多版本报告、B与目标端 | 1. 展示概况/匹配/改善并分别失败重试<br>2. 修改重评处理中/失败/成功时读旧历史<br>3. B读取A报告和换账号释放迟到响应 | 未发布无评分;旧报告不改写,栏目版本一致且100%不表示获批;无越权回填 | DEC-PRODUCT、B-DEVICE |
| AC-REPORT-005;待验收 | 成功中文报告、微信downloadFile合法域名与目标端 | 1. 导出历史版PDF并逐项核金额/理由/分页<br>2. 测试401/404/JSON伪PDF/截断/过大/取消/断网<br>3. 换账户并重试下载 | 错误文件不保存/预览;临时文件清理且只导出本人冻结版,无新模型调用;各目标端实际可读 | B-ENV、B-DEVICE、B-H5 |
| AC-REPORT-006;待验收 | 当前/历史报告和产品可用性、目标端 | 1. 验证材料/报告/优化资料/新评估/咨询入口<br>2. 使当前记录重评中/失败或产品不可用<br>3. 登录返回原栏目和版本 | 按可用性正确降级;新评估独立且无草稿,不存在银行申请提交或审批承诺 | DEC-PRODUCT、B-DEVICE |
| AC-CHAT-001;待验收 | A/B账号与普通/评估/产品上下文 | 1. 创建不同上下文会话并分页历史<br>2. 重进按chatId恢复<br>3. B请求A会话/游标和错误上下文 | 只读本人会话且上下文分离;创建/读取不自动调用模型 | B-DEVICE |
| AC-CHAT-002;待验收 | 批准AI预算与冻结上下文 | 1. 明确发送后同requestId重复/并发<br>2. 审查发送给模型的最小事实<br>3. 验证格式错/额度不足/失败后原键重试 | 一次预留和有效回复;敏感证件不外发,错误不标成功;费用可追溯 | EXT-AI、DEC-AI |
| AC-CHAT-003;待验收 | 多会话与报告/产品/对比入口、目标端 | 1. 从各入口查看摘要并发送<br>2. 分页/切换会话/刷新/超时重进<br>3. 过期登录后恢复同chatId/版本 | 不串上下文或旧响应;消息可恢复重试,快捷入口不自动扣费 | B-DEVICE、B-FRONT |
| AC-CHAT-004;开发中 | 可控供应商异常/额度及并发测试环境 | 1. 并发提交多个逻辑问题与重复点击<br>2. 超时/回执丢失后原键重试<br>3. 撤销会话/换账户并核费用与旧消息 | 不超扣或重复回复;只有有效成功才显示完成,费用不明可对账 | EXT-AI、DEC-AI、B-DEVICE、B-FRONT |
| AC-CONTENT-001;开发中 | 真实内容、批准运营账号与版本 | 1. 新建资讯/课程/FAQ/协议草稿并发布/下架<br>2. 重排段落/修改正文核版本<br>3. 对缺失/错/跨会话CSRF和撤权/跨类型/批量越界提交<br>4. 失败刷新Token后手动重试 | 草稿不可公开且段落ID稳定;仅合法status批量生效;Token门禁不自动重放,错误无部分保存 | B-OPS |
| AC-CONTENT-002;待验收 | 已发布/下架内容及目标端 | 1. 从首页/列表/分类分页打开详情<br>2. 改变发布状态并刷新<br>3. 注入无内容/断网/迟到旧详情 | 各入口ID/版本一致;下架明确不可用,无模拟兜底或迟到内容回填 | B-OPS、B-DEVICE、B-FRONT |
| AC-CONTENT-003;待验收 | 已读课程、A/B账号与两实际设备 | 1. 整篇连续阅读并一次标已读<br>2. A另一设备恢复<br>3. 重排/改简介/改正文/下架再发布<br>4. B读取与重复提交 | 不引入章节任务;整篇一次已读按版本兼容且不重复记账,A/B进度隔离 | B-OPS、B-DEVICE、B-FRONT |
| AC-CONTENT-004;开发中 | 全文字段/FAQ数据与受控响应延迟 | 1. 快速换关键词/分类使旧响应后到<br>2. 分页时换查询/换账户<br>3. 测试无结果/断网/刷新和FAQ退回 | 仅当前查询响应更新;正文全文命中、无重复页/横溢,失败可重试且旧响应不污染 | B-OPS、B-DEVICE、B-FRONT |
| AC-MSG-001;待验收 | 可控评估/反馈事件与A/B账号 | 1. 重复发布同逻辑事件与失败重试<br>2. 核原版本绑定<br>3. 事务失败后重新处理 | 每事件仅一条本人通知;失败不留半条通知,历史绑定不改新评估 | B-OPS |
| AC-MSG-002;待验收 | 多页/多类型通知和并发新消息 | 1. A分页/分类/单条已读<br>2. 全部已读时插入新通知<br>3. B读A消息/游标并核read_at/is_read | 归属与分类严格;已读水位不吞新消息,未读计数与存储一致 | B-DEVICE |
| AC-MSG-003;待验收 | 真实报告/反馈通知与目标端 | 1. 首页红点进入消息后刷新/批量已读<br>2. 打开原版本报告/单条反馈<br>3. 目标下架/过期登录/换账户后重进 | 红点来自服务端;跳转到原目标或明确不可用,登录恢复正确且不串用户 | B-DEVICE、B-FRONT |
| AC-MSG-004;待验收 | 两端/两会话、分页与并发事件 | 1. 同时分页/全部已读并新增消息<br>2. 重复事件/失败恢复<br>3. 多设备刷新与改密撤销 | 一次通知、正确水位和计数;旧会话拒绝,多设备最终一致 | B-DEVICE、B-FRONT |
| AC-POINT-001;阻塞 | 业务规则负责人及正式规则方案 | 1. 逐项确认签到/资料/邀请数额次数条件<br>2. 明确业务时区/有效期/权益和反例<br>3. 签收版本化规则 | 批准前始终关闭;不自行设奖励、迁移旧表或发放真实积分 | DEC-POINT |
| AC-POINT-002;开发中 | 批准规则后在隔离环境实施;未批准只检查关闭态 | 1. 核默认关闭及旧写接口保护<br>2. 仅批准后模拟跨日/重复/并发签到和流水故障<br>3. 核服务端日期/余额/幂等 | 关闭时零积分写入;启用后余额/流水同事务,重复事件不多发 | DEC-POINT |
| AC-POINT-003;未开始 | 批准规则及可信邀请事件已实施 | 1. 生成邀请码并首次有效绑定<br>2. 测试重复绑定/自邀/换账户/伪客户端事件<br>3. 并发奖励和事务失败重试 | 邀请码唯一且绑定只一次;不相信客户端达成,自邀/重复无奖励,发放幂等 | DEC-POINT |
| AC-POINT-004;开发中 | 积分规则和邀请功能就绪、目标端 | 1. 当前候选检查关闭提示/余额接口<br>2. 批准后验证真实任务/签到/邀请/规则页<br>3. 断网回执丢失与换账户恢复 | 关闭时不承诺奖励;启用后仅显示服务端数据,无重复签到或账户残留 | DEC-POINT、B-DEVICE、B-FRONT |
| AC-SUPPORT-001;阻塞 | 真实客服能力及运营责任人 | 1. 核普通/微信内H5支持、身份签名和坐席<br>2. 明确工作时间/离线与反馈状态<br>3. 审批运营接待方案 | 真实责任人与渠道能力明确;没有坐席时不展示虚假在线接待 | EXT-CS、B-OPS |
| AC-SUPPORT-002;开发完成,待验收 | A/B、真实反馈处理角色及附件功能就绪 | 1. A提交后丢弃回执并退出/改密再登录按原键补确认<br>2. 跨角色处理回复并重复保存<br>3. B/撤权账号读取与故障回滚 | 一条反馈和首次有效回复通知;不串账户/角色或重复处理,持久恢复可追溯 | EXT-STORAGE、DEC-PRIVACY、B-OPS、B-DEVICE、B-FRONT |
| AC-SUPPORT-003;阻塞 | 真人坐席、SDK和服务端身份签名已接入 | 1. 以A身份打开客服在线/排队/离线<br>2. 验证签名过期/SDK失败/不支持端<br>3. 换B后关闭重开 | 身份由服务端签发且不串账户;失败有明确反馈回退,无虚假成功 | EXT-CS、B-DEVICE、B-H5 |
| AC-SUPPORT-004;未开始 | 客服与反馈闭环和两目标端 | 1. 逐端客服/反馈往返<br>2. 验证账户变化/关闭重开/无坐席/SDK失败<br>3. 消息定位本人最新回复和历史反馈 | 客服/反馈/通知闭环正确;私有附件归属有效,失败可恢复且运营签收可追溯 | EXT-CS、EXT-STORAGE、DEC-PRIVACY、B-OPS、B-DEVICE、B-FRONT、B-H5 |
| AC-ADMIN-001;开发中 | 正式运营/客服/技术/超管账号及批准绑定方案 | 1. 核菜单和直接访问权限并集<br>2. 校验身份/金额/密钥/日志脱敏<br>3. 撤销角色再访问原入口 | 后端动作授权有效且撤权即时生效;敏感字段独立授权,密钥不回显 | B-OPS |
| AC-ADMIN-002;开发中 | 受控失败/当前发布/历史任务与批准重试账号 | 1. 按assessmentId/taskId/requestId查诊断<br>2. 测试客服/旧技术/撤权拒绝和当前失败版合法重试<br>3. 同键/并发/审计故障/模型暂停与查询force反例 | 仅授权技术/超管在允许状态重试;任务和审计同事务,历史回执稳定,无跨用户查询或隐式强制 | EXT-DATA、B-OPS、EXT-DEPLOY |
| AC-ADMIN-003;开发中 | 批准运维账号、配置与供应商状态核对入口 | 1. 读取模型密钥状态/额度/调用用量和队列<br>2. 核启停权限/策略版本冲突<br>3. 分别检查短信/存储未配置与可用状态 | 只展示安全状态不泄露密钥;未配置不报正常,启停/额度有审计且费用可定位 | EXT-SMS、EXT-STORAGE、EXT-AI、DEC-AI、EXT-DEPLOY、B-OPS |
| AC-ADMIN-004;未开始 | 真实业务资料/渠道和运营负责人就绪 | 1. 按批准角色演练产品/内容/课程/消息/反馈/客服<br>2. 批准积分后演练规则任务,否则记录阻塞<br>3. 复核操作说明/错误恢复/审计与责任人签收 | 真实运营闭环且权限正确;每项有实际操作/恢复证据,未就绪项不代签 | DEC-PRODUCT、DEC-MATCH、DEC-POINT、EXT-CS、EXT-STORAGE、DEC-PRIVACY、B-OPS |
| AC-RELEASE-001;开发中 | 候选摘要相符、全部模块具备验收条件 | 1. 按本文件63用例和个人/企业全链路执行<br>2. 复测跨账户/金额/幂等/产品变更/并发<br>3. 登记阻断缺陷并验证修复后新候选 | 核心与权限有对应真实证据;无阻断/高危未解决项,不能以开发断言数替代63任务签收 | B-VERSION、B-ENV、B-DEVICE、B-FRONT、B-OPS |
| AC-RELEASE-002;未开始 | 真实渠道就绪、H5与小程序发行信息明确 | 1. 逐实际端核键盘/上传/回跳/断网/弱网/PDF<br>2. 各真实渠道走成功/取消/失败/恢复<br>3. 两设备/账户核缓存和状态 | 目标浏览器/设备矩阵和真实渠道通过;编译或桩不代替实际平台运行 | B-VERSION、B-ENV、B-DEVICE、B-H5、EXT-WX、EXT-ONE、EXT-SMS、EXT-DATA、EXT-CS |
| AC-RELEASE-003;阻塞 | 用户另行授权可恢复演练窗口/目标和备份方案;不要求已取消的独立机 | 1. 核配置/HTTPS/增量迁移预检与恢复守卫<br>2. 受控验证systemd信号/重启/开机、告警实际投递与密钥恢复<br>3. 测规模备份/恢复RTO/RPO并保护后续数据 | 服务/数据可恢复且费用无重复;真实故障/告警/托管/耗时有证据;既有r3恢复与干跑仅为历史局部证据 | EXT-DEPLOY、B-OPS |
| AC-RELEASE-004;未开始 | RELEASE-001/002/003完成且63必做项真实签收 | 1. 核所有范围/外部条件/缺陷结论与候选SHA<br>2. 保存实际小程序/H5/后端版本和时间<br>3. 经授权正式发布后冒烟并核回退触发/数据保护 | 正式负责人签收且版本可追溯;无demo数据/占位协议/模拟Token,完整首发记录与回退条件齐备 | B-VERSION、B-ENV、B-DEVICE、B-H5、B-OPS |
## 剩余阻塞与解除依据
8项EXT和7项仍需签收/确认的DEC条件单列;DEC-DEMAND已确认发布,不重新列为阻塞。既有部署资源和真实模型权限已具备的部分已说明,保留完整业务、预算与运维未验收范围。6个B编号只是本候选记录的前置条件,不新增开发任务。
| 编号 | 当前缺口 | 责任分工 | 解除证据 |
| --- | --- | --- | --- |
| EXT-SMS | 服务商/签名模板/测试号码与回执能力未就绪 | 业务选型与开通;开发验证,具体人尚未指定 | 成功发送、用途隔离、频控、过期及核销证据 |
| EXT-WX | 微信服务类型/主体权限/授权回调能力未定 | 业务账号负责人;开发接入,具体人尚未指定 | 普通/微信内H5与目标小程序能力矩阵、真实授权和账号绑定证据 |
| EXT-ONE | 一键登录服务商及浏览器/运营商能力未定 | 业务与开发联合选型,具体人尚未指定 | SDK/服务端校验、网络限制、失败回退与真实绑定证据 |
| EXT-STORAGE | 私有证件存储/读取/生命周期方案未确认 | 开发提案;业务确认,具体人尚未指定 | 私有存储、鉴权读取、元数据、删除与保留规则及越权反例 |
| EXT-DATA | 真实查询产品/资质/样例/计费对账未就绪 | 业务渠道负责人;开发验证,具体人尚未指定 | 字段字典、授权凭证、验签/回调/计费与成功失败样例 |
| EXT-AI | TokenHub指定模型真实权限已有证据;商业预算/异常和生产容量未签收 | 业务预算负责人;开发验证,具体人尚未指定 | 模型标识、预算与费用核对入口、真实异常和容量证据 |
| EXT-CS | 客服供应商、真人坐席、工作时间/离线责任人未定 | 业务客服负责人;开发接入,具体人尚未指定 | 身份签名、真实坐席、排队/离线/失败回退与渠道支持矩阵 |
| EXT-DEPLOY | 既有生产域名/HTTPS/数据库/Redis/worker已发布可用;完整守护/恢复/告警/规模未验收 | 运维与业务负责人,具体人尚未指定 | 可恢复演练窗口、systemd信号/重启/开机、真实告警投递、密钥托管和实际RTO/RPO;独立机路线已取消 |
| DEC-PRIVACY | 正式协议全文/版本、资料范围、留存与撤销处理未定 | 业务/隐私规则负责人,具体人尚未指定 | 版本化全文、逐项用途/保留/撤销清单和私有资料签收 |
| DEC-QUERY | 查询项目、适用对象、重查/失败路径和费用归属未定 | 业务查询负责人,具体人尚未指定 | 数据产品到页面授权映射、重查条件和费用决策 |
| DEC-READINESS | 等权字段/条件分母开发版已发布;人工业务样例未签收 | 业务规则负责人,具体人尚未指定 | 个人/企业含零值/none/other/缺失反例的人工复算及非授信说明签收 |
| DEC-MATCH | 三态/来源门槛/单产品覆盖/无评分口径已采用;真实金标准未签收 | 业务产品负责人,具体人尚未指定 | 真实产品规则、边界/来源冲突金标准与人工签收 |
| DEC-PRODUCT | 首发真实产品及发布责任人未确认;历史四草稿不具发布条件 | 业务产品负责人,具体人尚未指定 | 银行当前受理材料、地区/对象/额度/期限/利率/有效期及完整准入依据 |
| DEC-AI | 模型已确认;业务额度/重试/超时/月预算/超额处理未定 | 业务预算负责人,具体人尚未指定 | 版本化额度/重试/超时/数据最小化与预算策略及费用对账责任人 |
| DEC-POINT | 积分数额/次数/条件/时区/有效期/权益未批准 | 业务规则负责人,具体人尚未指定 | 正式版本化积分规则和可信事件;批准前保持关闭、不迁移旧表、不发真实奖励 |
| B-VERSION | 小程序1.0.6于2026-10-09 09:35由用户报告已发行;尚无发行包/上传源码摘要绑定 | 用户发行负责人;开发核对,具体人尚未指定 | 保存开发者工具发行记录与候选摘要/构建来源,区别平台1.0.6和manifest的1.0.0 |
| B-ENV | 当前APP_ENVIRONMENT=test,连接已发布后端;PRODUCTION_API_URL为空 | 开发配置负责人;用户发行负责人,具体人尚未指定 | 明确体验/正式发行配置、HTTPS及request/upload/download域名,关闭模拟且无失败兜底;改配置需新候选 |
| B-DEVICE | 本轮微信/Android编译及本机桩通过;真实设备/微信内H5/Safari/多设备未验收 | 用户验收负责人;开发,具体人尚未指定 | 指定实际设备/基础库/浏览器,记录键盘/弱网/回跳/下载与账户隔离证据 |
| B-FRONT | 搜索旧响应竞态、反馈真实回执丢失持久恢复及多设备恢复未形成完整目标端证据 | 开发,具体人尚未指定 | 受控延迟/断网/换账户/重进场景与目标端复核;本机后端回归不能替代 |
| B-OPS | 正式运营账号/权限并集、真实内容责任人、操作与签收负责人未指定 | 业务/运营负责人,具体人尚未指定 | 明确账号与绑定授权,真实内容/产品/反馈/策略操作记录和留存;本轮不绑定或写入 |
| B-H5 | H5未发布,完整目标浏览器和真实渠道未验收 | 用户发布负责人;开发,具体人尚未指定 | 明确H5发行范围/地址/候选摘要及浏览器矩阵,发行后保存验收与回退记录 |
## 复核与接续
在项目根目录,以source-manifest、acceptance-cases、frontend-checks和本文的实际字节SHA-256核closure-receipt.artifacts;再按source-manifest.files逐项定位对应仓库并核大小/摘要。下列PowerShell只读文件,不加载PHP框架、不连接服务,也不重新生成或改写候选。它核固定清单内的文件;新增文件还需按selectionPolicy重新盘点,并建立新候选。
```powershell
$candidateFront = (Get-Location).Path
$candidateBack = 'D:/AAdesk/202609/airz'
$candidateFolder = Join-Path $candidateFront 'docs/候选版本/rc-20261009-r3-mp1'
$candidateReceipt = Get-Content -LiteralPath (Join-Path $candidateFolder 'closure-receipt.json') -Raw | ConvertFrom-Json
foreach ($candidateItem in $candidateReceipt.artifacts) {
$candidateTarget = Join-Path $candidateFront $candidateItem.path
if ((Get-FileHash -LiteralPath $candidateTarget -Algorithm SHA256).Hash.ToLowerInvariant() -ne $candidateItem.sha256) { throw ('候选产物变化: ' + $candidateItem.path) }
}
$candidateManifest = Get-Content -LiteralPath (Join-Path $candidateFolder 'source-manifest.json') -Raw | ConvertFrom-Json
foreach ($candidateItem in $candidateManifest.files) {
$candidateRepo = if ($candidateItem.repository -eq 'frontend') { $candidateFront } else { $candidateBack }
$candidateTarget = Join-Path $candidateRepo $candidateItem.path
if ((Get-Item -LiteralPath $candidateTarget).Length -ne $candidateItem.bytes -or (Get-FileHash -LiteralPath $candidateTarget -Algorithm SHA256).Hash.ToLowerInvariant() -ne $candidateItem.sha256) { throw ('源码变化: ' + $candidateItem.repository + '/' + $candidateItem.path) }
}
```
正式用例结果应另建执行记录,写入用例ID、候选摘要、平台/版本、执行人/时间、脱敏证据、失败缺陷与复验结论,不覆写固定用例定义;未执行的用例不可填通过,只有全部一期必做项具备证据并由正式负责人签收后才收口RELEASE-004。
下一项内部开发:优先补CONTENT-004搜索旧响应竞态与SUPPORT-002反馈回执丢失/持久恢复的前端组合验证,先用已有受控响应和账户隔离方法,不触碰生产数据、不调用真实模型;之后按实际设备复验。同时补小程序1.0.6发行包/源码摘要绑定,真实产品/渠道/正式协议/积分/运营/守护等条件按本表各自推进。
用户已取消独立Linux测试机,不再以此作为等待事项;既有worker恢复不替代systemd完整故障/守护验收。课程整篇一次已读、无草稿、身份证明文输入/后台脱敏、积分默认关闭和原供应商约定保持。