# 交给外部AI:4B2游戏加载与内存隔离方案独立评审 你在 `C:/projects/ft` 工作。请独立只读审查方案与相关源码,**不是实施4B2**。仅新增评审报告,不改生产代码、测试、csproj、共享入口文档或原方案;不使用子Agent;不访问正式服、不操作正式业务KV、不打包。设计评审通常无需运行Unity或测试。 ## 先读 1. `CodexOutput/upserver/阶段4B2游戏加载与内存隔离方案-待评审-2026-09-23.md`(受审主体)。 2. 前置链:`阶段4B1实施复核裁决与关闭-2026-09-23.md`、`阶段4B分期与4B1登录存档准备方案-待评审-2026-09-23.md`、`阶段4存档接线分期与4A方案-2026-09-23.md`。 3. 4B1/4A生产实现:`PlayerKVLoginContext.cs`、`PlayerKVLoginPrepareResult.cs`、`PlayerKVGameSessionBridge.cs`、`PlayerKVSessionOwner.cs`(ReadLocalSnapshot)。 4. 方案§1所列源码的**实际现状**:`UserService.cs`(Login/LoginCore/LoginPlayFab/InitData/SetMMTestValue/LoginApiServerCore/401订阅/Logout)、`AggUserService.cs`(Login/InitData)、`DataCenter/DataCenter.PlayerData.cs`(LoadPlayerData及模块分发)、`Core/PlayFabMgr.cs`(CompareDatas/GetLocalData/UpdateUserDataValue)、`Stages/QuitAct.cs`、`阶段4存档调用盘点-2026-09-23.txt`。 5. 记录受审方案SHA256于报告开头;若与主会话分发的基线不符,写明差异及是否阻塞。 ## 重点评审 0. **设计完整性门**:受审文件是初稿,不预设可实施。主档完整键集、模块缺键重置规则被留至实施检查点;判断是否违反“完整评审后编码”,缺失必要定义应退回补全。另核对LoginApiServer已有session与4B1内部再次认证的双会话归属、401关联范围、IsLogin提前Done路径、加载期间间接保存、暂存意图生命周期、Quit超时后同进程再次登录的关闭屏障,以及受控Unity验收如何在白名单内实现。禁止以“编码时再确定”代替设计裁决。 1. **后端开关**:默认`playfab`等价性是否可证(PlayFabMgr零改动+hash门+PF模式路径不变);`kv`分支是否有绕过开关直连的路径;开关读取时点与热更配置的一致性。 2. **登录链插入点**:KV准备门位置(LoginApiServer成功后、Done前、base.Login窗口内)与Agg订阅窗口、代际检查、时间校准顺序是否正确;`InitData(playfabUserData)`在KV模式下的移除是否完整(含SetMMTestValue、InitTapJoy)。 3. **业务档校验**:主档特征键分组判定(任一组非空命中)vs逐键必备,是否满足"完整业务校验、不能验一项JSON就当完整档";五Verdict分类是否闭合(空档/缺档/坏档/新号各归其位);字段级TryParse默认与"不捕获成空档"的边界是否自洽。 4. **副作用暂存**:MMTest/Agg渠道标记加载期零写+意图暂存——暂存语义在4B3落地前是否完整定义(不丢失、可诊断、不误当已落盘);InitTapJoy改读副本的等价性。 5. **内存隔离**:靠"完整重载+头部默认值"是否足够;逐模块缺键行为验证的检查点设计;换号关闭屏障与4B1 Close语义衔接。 6. **401/退出**:关闭任务"并入下次登录await"与QuitAct有界等待是否与既有裁决一致;是否存在主线程阻塞或身份失效被延迟的路径。 7. **文件白名单**:四个既有文件的最小改动是否可审(UserService改动面最大——评估是否应再拆新文件缩小);PlayFabMgr零改动可否成立(TapJoy/MMTest/CompareDatas全绕开的可行性)。 8. **矩阵与启用门**:B2-01~B2-22是否充分且无绕过;§9不做清单是否与4B3/4C/4D边界一致;Unity受控加载(B2-20)的定义是否明确(替身传输、不进玩法)。 ## 输出 只新增 `CodexOutput/upserver/阶段4B2方案独立审查-2026-09-23.md`:受审hash、实际读取范围、按严重度(P1/P2/P3)逐条列发现(方案章节+源码依据+触发场景+影响+最小修改建议);对方案§10的五个待审问题逐条给出结论;最终给出"通过/有条件通过/退回"。不把计划用例写成已运行,不代写实现。主会话逐条裁决后才批准实施;方案报告本身不等于编码授权。 正式地址唯一 `http://s101.local:18080/`;101/102历史授权仅覆盖fixture,不授权游戏初始化写业务存档。