4.8 KiB
给独立评审AI:4B3A实施复核
请在C:\projects\ft独立复核4B3A固定句柄存档入口实施。设计已独立通过且主会话逐条裁决;本次审代码与证据,不重复开发4B2,不替主会话修改共享状态。请直接落盘《CodexOutput/upserver/阶段4B3A独立实施复核-2026-09-24.md》,并保留你的新复核日志。
必读与hash
- 接手入口、开发状态、TODO的顶部当前状态。
- 《阶段4B3分期与4B3A固定存档入口方案-待评审-2026-09-24.md》《阶段4B3调用事实与分期附件-2026-09-24.md》。文件名保留历史“待评审”,以独立报告及裁决为批准依据。
- 《阶段4B3分期与4B3A方案独立审查-2026-09-24.md》《阶段4B3分期与4B3A方案审查裁决与实施批准-2026-09-24.md》。核查四条P3落实。
- 《阶段4B3A交付与验收矩阵-2026-09-24.md》《阶段4B3A限定代码自审-2026-09-24.md》以及KVSaveRouteTests/checkpoint4-implementation-record.md冻结记录。
- 先重算KVSaveRouteTests/checkpoint4-delivery-hashes.json内全部files项,报告该清单自身SHA256、数量、逐项差异及审查时当前生产文件hash。核对checkpoint4-boundary-audit.json与旧2101项源码基线;PlayFabMgr剥离新增块后须与PlayFabMgr.before.txt字节一致。旧B2交付仅PF变化属于本次授权,不把历史hash过时说成未授权漂移。
必须裁决
逐条给出B3A-01~19结论及证据,特别核对:
- 三态读取/单次Snapshot/精确输入与guard优先;四入口无Instance、PF/Prefs旁路、隐式当前账号、重试或新全局机制。
- Write/Flush/Wait是否原结果和Task透传;localOnly不清旧pending;StorageError字段不失真;Superseded/Unknown不当Confirmed;取消只取消观察;Close排水及同账号新epoch隔离。
- guard是入口观察,不是跨异步租约;没有生产调用者,不冒称C生命周期切换或B业务隔离已完成。异常不能默认为空档/成功/可安全重试。
- 白名单之外旧源码/旧测试/SDK/场景/资产不变;固定Editor反射边界、非Editor排除、资源清理与失败恢复报告可信。
- P3-1故障tmp清理;P3-2不夸大Player证据;P3-3XML三态;P3-4后续Blocked合同保留。
- 新13组544断言是否真正观察合同,有限竞争和示例内存断言不可推成全业务安全。AfterReplace及部分NotReady状态使用旧回归+源码审计的限制必须明确。
- 原回归首败KVSync 85/86与复跑86/86必须一起审,不能覆盖日志或认定负载根因;3C L7仍待定位。NetworkTransport原build失败与复用旧依赖targets后通过均应如实报告。
复跑方式与边界
工作目录C:\projects\ft,新日志写KVSaveRouteTests/review/唯一运行目录,禁止覆盖作者checkpoint日志。
dotnet run --project CodexOutput/upserver/KVSaveRouteTests/KVSaveRouteTests.csproj -- --all
dotnet run --project CodexOutput/upserver/KVSaveRouteTests/KVSaveRouteTests.csproj -p:AndroidProbe=true -- --all
dotnet run --project CodexOutput/upserver/KVSaveRouteTests/KVSaveRouteTests.csproj -p:PlayerProbe=true -- --all
dotnet build CodexOutput/upserver/NetworkTransportTests/NetworkTransportTests.csproj -p:CustomAfterMicrosoftCommonTargets=C:/projects/ft/CodexOutput/upserver/KVGameLoadTests/RegressionSupport/Dependencies.targets
每次都核对进程退出码和内层结果,不依赖日志中的PASS字样。测试使用真实本地File.Replace;若沙箱权限拒绝,保留首败并按环境审批方式运行同一合成测试,不删除旧缓存、不修改生产底层来放行。旧4B1/4B2及核心回归方法沿用既有实施材料;3C仅--offline,KVLive/Network仅build,不启动转发代理。
Unity仅CLI Loop:先确认Client项目与非PlayMode,compile后execute-dynamic-code先--compile-only true再执行已有unity-route.txt(fixed-route)、unity-b220.txt(B2-20)。核对外层Success及内层success/restored。固定合成handler,无正式HTTP;不得调用UnitySkills、启动游戏容器、进入PlayMode或打包。正式地址固定http://s101.local:18080/,不要把合成测试地址写入产品配置。
报告格式及责任
给出接受/拒绝4B3A交付的明确结论,P1/P2/P3列表(含文件/行号/影响/建议)、19项矩阵、hash证据、复跑首次失败与最终结果、已知事项和不能证明的范围。若存在必须改生产的方案差异,明确要求补审,不能代写实现或扩大白名单。
只新增你的独立报告与review证据;不改入口/TODO/开发日志/作者封板/原审查材料,不关闭A。主会话之后核对本报告受审hash、逐条裁决、必要修复并落盘关闭;无需复审后才自动进入B完整设计。4B3B/C当前未批准编码,P2-α真实档专项独立审查及用户产品确认仍为正式启用硬门。