Files
ft/CodexOutput/upserver/阶段3C限定范围代码审查-2026-09-23.md

2.4 KiB
Raw Blame History

阶段3C限定范围代码审查

2026-09-23补修复更新:R1–R5已修复并完成本轮技术验证;外部实施复核待完成。最新证据见补修复交付与逐项证据,源码hash见KVStage3CTests/repair-final-source-hashes.json。下方为修复前历史记录(含旧final-source-hashes.json),不能替代新证据,也不代表3C/G3已经重新最终通过。

更正(同日后续核对):本会话下方“无遗留P1/P2/P3、可结束3C”结论撤回。相同版本新增发现见《阶段3C复核更正与补验收-2026-09-23.md》R1–R5;历史执行结果与原分析保留供追溯,当前需要补修复/验收并外部复裁。

日期:2026-09-23。审查范围:KVStage3CTests.csproj、Program.cs、阶段3C运行证据及生产hash;不审查历史外围改动。

结论

PASS。 未发现遗留P1/P2/P3代码问题。阶段3C限定技术验收通过,可以结束3C;不得据此进入游戏接线或PlayFab/SDK删除。

审查发现与处置

  1. 已修复:首轮run根目录定位错误以及普通manifest读取误用cleanup门;修复后离线7/7。
  2. 已修复:正式账号用例失败后通用包装器可能继续下一账号;现遇Unknown或101失败立即停止新增写入。
  3. 已修复:正式Owner异常路径可能晚释放;现使用finally等待CloseAsync()。
  4. 已补齐:O6分别模拟服务端观察基线/目标,重开后都保持Unknown且变更请求计数不增加。
  5. 已补齐:O8验证有效主档优先于损坏bak;票据计数在Owner关闭前收集并写入脱敏诊断。

安全核对

  • 正式目标逐项固定为scheme=http、host=s101.local、port=18080和三个playerdata路径。
  • manifest先行、key集合不可扩大;越界Set/Delete在内部转发计数增加前拒绝。
  • 正式run无Unknown,精确清理完成并由两次新会话确认;无遗留fixture。
  • diagnostic/result/log完整key命中0,禁止字段扫描0。
  • 生产源码未修改;7个KV生产文件hash与既有基线一致。

验证

  • Stage3C:offline 7/7,live 3/3。
  • 回归:42/42、86/86、29/29。
  • Unity CLI Loop:0错误、0警告。
  • 最终正式run:20260923064047_9bdd12b8c3c64a6b855887bd91e2d33d,Completed=true、HadUnknownWrite=false。

后续边界

阶段4开始前必须另行完成游戏接线方案评审。PlayFab读写替换、SDK删除、真机与最终包仍未授权实施。