Files
ft/CodexOutput/upserver/B3BatchMigration/M2/M2-CP3A-Editor直开入口独立补审.md
Liubing\LB 6813da149a feat(upserver): 保存M2客户端KV迁移至本人统计写检查点
保存独立KV用户服务、固定会话存档与原业务接线,以及C3d资料缓存和C3e本人统计写。
保留原PF/AGG路线、业务公式和时序;榜单读取、好友资料、公告、匹配及首场景闸仍待完成。

验证:ServiceHost两条件各33组646断言;Unity CLI Loop编译0错误269警告。
包含相关方案、评审裁决、测试及状态文档。未操作服务器、正式账号或打包。
2026-09-30 19:19:05 +08:00

47 lines
2.2 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.
# M2 CP3A Editor直开入口独立补审
日期:2026-09-29。审查者:ZCode会话。本轮只读+hash重算+源码核对。
## 受审hash核对
`M2-CP3A-Editor直开入口补审基线.json`:**5/5全部一致**。
## 总裁决
**PASS。** 批准在`SubBoostrap.cs`已批准白名单上扩展`InternalEditorBoost.Init()`方法——最小改动、不影响正式路径。
## 逐项审查
### 1. Editor直开PF是否因缺冻结选择真实回归:**确认**
源码核实:
- `LoginStageCtx.cs:17`和`FishingStageCtx.cs:17`都调用`InternalEditorBoost.Boost()`
- `SubBoostrap.cs:282` `InternalEditorBoost.Init()`直接注册服务,**不经RegisterServices**——因此不注册`PlayerKVRuntimeSelection`
- CP3A已批准的`ClubService()`现在要求容器有冻结选择——该直开路径构造Club时**必然失败**
这是CP3A实施引入的真实回归(ClubService增加了冻结选择要求),不是假想问题。
### 2. 建议的Init注册精确PF冻结选择是否足够:**足够**
补审方案的正确性分析:
- **只在容器尚无冻结选择时**注册——不覆盖已有的(防热切换)
- **精确`playfab`才注册**——`kv`/`kv-loop`/未知值明确失败——Editor直开仅限PF
- Setting和Club随后用该冻结选择——与正常RegisterServices路径一致
- **不让正式KV退回PF**——正式KV缺选仍失败关闭
### 3. 是否可在SubBoostrap.cs已批准白名单上扩展该方法:**可以**
`SubBoostrap.cs`已在CP3A白名单中(§4表第5行"创建Setting时传递冻结的正式KV选择")。在`InternalEditorBoost.Init()`内增加冻结选择注册逻辑是该白名单的自然扩展——同一文件、同一启动分流主题、不改其他文件。
## P3
- **P3-1**:建议实现时在`Init()`的冻结选择注册处加XML注释"Editor直开入口专用;kv/kv-loop须走正常RegisterServices路径"——防后续维护者在直开入口试图支持KV。
## 验收要求
补审方案已列(PF注册一次/重复不覆盖/kv不退PF/旧B01+CP3A+M14回归通过/正式101/102请求0)——**充分**。
## 结论
**PASS——批准`SubBoostrap.cs`单文件`InternalEditorBoost.Init()`扩展。** 主会话裁决后编码。CP3A整体不因本补审关闭。