Files
ft/CodexOutput/upserver/其他AI审查提示词-4B2方案-2026-09-23.md

31 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 交给外部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,不授权游戏初始化写业务存档。