Files
ft/CodexOutput/upserver/阶段4B2独立实施复核-2026-09-24.md

5.6 KiB
Raw Blame History

阶段4B2独立实施复核

日期:2026-09-24(受审交付落盘2026-09-23)。审查者:ZCode会话。

独立性声明:本审查者未参与4B2任何生产/测试代码的编写与实施;此前参与仅为设计层差异补审(D1–D5审查报告,受审对象均为主会话编制的方案文档)。本轮全部复核命令由本会话亲自执行,结论以实际结果为准。

本轮只读+仅新增本文件与复跑日志(review-*前缀,新文件名,未覆盖任何交付证据);未改生产代码/共享文档;无子Agent、无正式服、无PlayMode、不打包。

受审hash核对

KVGameLoadTests/checkpoint4-delivery-hashes.json共221项,逐项重算SHA256全部一致。边界证据JSON:123项基线=85原样+38获批变更+0项白名单外(outside=[]);ClubService仅新增KV块(P2-β兑现);65个KV入口方法直审0违规标记。

复核结论

接受4B2实施。无P1/P2。 建议:主会话核对hash与逐条裁决后关闭4B2;4B3(读写路由)另立方案评审,P2-α(真实存量档迁移+用户产品确认)仍为正式启用硬门。

独立复跑结果(全部本会话执行,真实退出码)

命令 结果 退出码 复跑日志
KVGameLoadTests(离线) 75组/0失败/1715断言 0 review-offline.log(新run 20260924021937_2c8e39d5…)
--cleanup-failure prepare/schema/apply 5+8+8=21断言全过 0×3 review-cleanup-*.log
ServiceHost(非Android) 8组/73断言/formalRequests=0 0 review-service-false.log
ServiceHost(AndroidProbe) 8组/73断言/formalRequests=0 0 review-service-android.log
ServiceHost(PlayerProbe非编辑器工厂) 两类能力工厂缺失确认 0 review-service-player.log
KVContractTests 42/42 0 —
KVSyncTests 86/86 0 —
KVSyncCoordinatorTests 29/29 0 —
KVSyncCoordinatorReviewTests 通过 0 —
KVStage3CTests --offline 首跑7/8(L7失败)→ 单独复跑8/8 1→0 review-3c-firstfail-20260924.log(首败证据已按P3-1规程保存)+review-3c-rerun
KVLoginContextTests(4B1) 23组/278断言 0 —
KVLiveTests仅build 0错误 0 —
Unity CLI Loop compile Success=true/0错误 0 review-unity-compile.log
Unity B2-20完整事务 success=true,31真实模块,双epoch,83断言,auth=2/gets=2/borrowed=1(401)/forbidden=0/eventPublishes=0/eventSubscriptions=0/sameObjects=true/restored=true/fullB220=true 0 review-unity-b220.json

(Unity Editor隔夜未运行,本审查按操作入口文档以2022.3.62f2c1启动后复跑,get-version确认DataPath正确。)

B2-01~B2-22逐条裁决

依据交付矩阵§3–§5、边界证据JSON与本复跑:B2-01~B2-20全部通过(关键项:B2-07同对象A→B整组空态由19局部用例+B2-20同对象断言证实;B2-11拒写门经guard代码抽查——PlayFabMgr全部入口前置Reject(Compare/Update/Lifecycle×4/PrefsSave)且PrefsSave在PlayerPrefs.Save()之前;B2-15/16/17经B2-20的forbidden=0与QuitAct代码抽查——:37同步撤销先于任何await、:54Hub后有界观察;B2-18经cleanup-failure三进程+OriginalError保留;B2-19经4B1 23组复跑)。B2-21通过(回归最终全过;两个偶发失败事实与处理见下)。B2-22由本报告完成独立实施复核部分,关闭裁决归主会话。

已知事项裁决(提示词要求逐项)

  1. KVSync偶发85/86(StorageError)+本次新增:3C L7偶发7/8(InvalidOperationException)。两项均为:连跑链中首跑失败、单独复跑全过、失败套件的Program与各自验收版本字节一致(本审查重算:KVSyncTests 217FCDC2…、KVStage3CTests 66C41B8B…=3C修复终版)——非4B2引入,属并发重组用例在本机的时序敏感(负载相关)。裁决:不阻塞4B2验收;偶发调查项从一项扩为两项(3A StorageError+3C L7:965附近),建议单独立项在连跑负载下复现并定位;本审查已按规程保存首败完整日志与堆栈,不以复跑成功覆盖。
  2. 旧NetworkTransport仅构建不运行:接受。其依赖转发正式服的代理,评审启动代理即越权;交付如实标注"未覆盖",不冒充。
  3. ServiceHost的PF公共路径在真实API前故意失败:接受——受控范围定义如此,不称真实渠道端到端通过;诚实边界。
  4. 非Android DTO兼容为未触达旧分支的测试构建:接受,已在证据中如实限定。

其他观察(P3)

  • P3-1:离线断言计数1715(本复跑)vs 1713(交付)——交付hash 221/221一致排除代码漂移,属并发组合断言计数波动(4B1先例273+5=278 vs 279同类);记录不改结论。
  • P3-2:Unity验证依赖Editor运行态——运维注意项(隔夜关闭后需先启动2022.3.62f2c1;本审查已验证启动流程可靠)。
  • P3-3:UserService.KVLoad.cs的RejectSaveBackend把非法后端值同时归入BackendUnsupported分支逻辑清晰,但建议实施记录注明"kv→BackendNotEnabled、其他→BackendUnsupported"的映射表已固化,供4B3接线方查阅。

边界重申

4B2通过=受控加载链具备与验证完成;LoadedForValidation不授玩法/Done/IsLogin;正式启用硬门=P2-α(真实存量档兼容/迁移专项+独立评审+用户产品确认)+4B3读写路由+4C消费+tickets有界历史+4D场景验收。本报告不授权4B3、不宣布4B2关闭(主会话核对hash、逐条裁决后关闭)、不构成对28→31模块以外任何未验内容的追认。