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

2.2 KiB
Raw Blame History

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整体不因本补审关闭。