保存独立KV用户服务、固定会话存档与原业务接线,以及C3d资料缓存和C3e本人统计写。 保留原PF/AGG路线、业务公式和时序;榜单读取、好友资料、公告、匹配及首场景闸仍待完成。 验证:ServiceHost两条件各33组646断言;Unity CLI Loop编译0错误269警告。 包含相关方案、评审裁决、测试及状态文档。未操作服务器、正式账号或打包。
47 lines
2.2 KiB
Markdown
47 lines
2.2 KiB
Markdown
# 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整体不因本补审关闭。
|