3.5 KiB
3.5 KiB
阶段3C最终验收与阶段3(G3)关闭
日期:2026-09-23。审查人:终验AI(ZCode会话,用户指令"阶段3完成,审查一下结果")。范围:对阶段3C交付证据做独立复验并裁决阶段3整体验收门(G3)。本轮未修改任何生产代码、测试或配置;未访问正式服——正式服证据以已落盘的manifest/result为准,审查不制造新fixture。
裁决
阶段3C最终验收通过;阶段3(缓存与可靠同步,验收门G3)整体关闭。可进入阶段4(涂游登录与玩法存档切换)的方案评审步骤。
独立复验证据(全部为本会话亲自执行)
| 项 | 结果 |
|---|---|
最终正式run 20260923064047_9bdd12b8… |
mode=live-s101、passed=3/failed=0、hadUnknownWrite=false、completed=true |
| manifest核验 | CollisionPreflight=true、CleanupAllowed=true、CleanedAccounts含101与102(双账号)、API=http://s101.local:18080/、前缀与3个登记key合规 |
| 脱敏扫描(审查者自扫) | result/diagnostic中禁止字段(Cookie/Token/用户目录/fixture-)命中0、完整fixture key命中0 |
| 离线复跑 | --offline 7/7通过,退出码0 |
| 阶段2回归 | KVContractTests 42/42,退出码0 |
| 3A回归 | KVSyncTests 86/86,退出码0 |
| 3B回归 | KVSyncCoordinatorTests 29/29,退出码0 |
| 生产hash | 7个KV生产文件+S101AccountSession与final-source-hashes.json逐项一致;与阶段2/3A/3B基线相同——生产源码未被3C修改 |
| Unity | unity-compile-final.json success=true、errorCount=0 |
| 失败run核对 | 正式联调前3次login-preflight阶段Network失败的run均CollisionPreflight=false、无KV写入、未清理,与实施记录声明一致 |
G3验收门核对(映射阶段3主方案验收门)
- 发送v1期间产生v2不丢、51+key无静默丢失:3B多版本/水位/批51用例 ✓
- 断网重启、超时未知按规则恢复,冲突不自动覆盖:3A/3B Unknown冻结+3C O6(服务端观察等于基线/目标均不自动解除)✓
- remoteStore=false不上传;空值/缺失/删除可区分:3A ✓
- 旧账号迟到回调不修改新账号、不同服务器缓存隔离:3B换号/代际+3C O3/O4 ✓
- 缓存损坏/写失败明确报错或恢复,不当新存档:3A RecoveryRequired/StorageError+3C O7/O8 ✓
- 跨设备并发与延迟提交的保证边界:已在方案声明(无CAS下三方比较+保守冻结;服务端4xx写入可能性核查佐证)✓
遗留与边界(不随阶段3关闭而消失)
- 真机文件系统/断电耐久与最终打包:留最终包阶段,桌面证据不替代。
- 人工解锁/强制恢复:独立恢复专项(用户2026-09-22裁决第4条),尚未启动。
- 4xx降级为"确定未提交":已有服务端核查证据,客户端未采纳(仍保守MayHaveCommitted);如需采纳另立差异裁决。
tickets有界历史:3B遗留,游戏接线前评估。- 游戏接线、PlayFab读写替换、SDK删除:属阶段4及以后,须先完成阶段4方案评审。
下一步:阶段4入口
阶段4=涂游登录与玩法存档切换(验收门G4)。按既有分工推进:主会话编制阶段4方案(覆盖UserService/Owner生产桥接、await业务登录→Get→初始化→Done、失败不进入游戏不写空档、退出/换号/授权过期时序、PlayFabMgr入口替换与非AGG/编辑器路径、邀请码/问卷/随机种子hex假设盘点、立即同步true兼容适配)→ 其他AI独立方案审查 → 用户裁决 → 实施。G4门沿用既有阶段4验收门定义。