Files
ft/CodexOutput/upserver/B3BatchMigration/M2/M2-DP1原ZCode一次性完整方案审查提示词.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

20 lines
4.4 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-DP1 原 ZCode 一次性完整方案审查提示词
> **暂停单独送审**:按[合批审核节奏纠偏](M2-合批审核节奏纠偏-2026-09-29.md),本文件只保留为审查问题底稿;下次将 DP1 与 CP2B 首场景及同合同 CP3 调用合成一份完整受审方案和一次正式前审。除非已有审查在途,否则不要单独按本提示启动新报告。
请仅在 `C:\projects\ft` **只读审查**,不改任何生产/测试/服务器代码,不访问本机服务器目录,不调用正式 101/102,不运行打包。设计审查对象为[双提供方独立 KV 用户服务抽离候选方案](M2-双提供方独立KV用户服务抽离方案-待完整评审-2026-09-29.md),用户最新约束见[双提供方文件](M2-双提供方用户服务切换与KV独立实现约束-2026-09-29.md)。固定正式地址 `http://s101.local:18080/`;Unity 若需验证只能用 CLI Loop,不用 UnitySkills。现有工作树改动须完整保留。
请先按字节长度与 SHA256 核[18 项受审基线](M2-DP1受审基线.json),记录清单 hash `858C43EF26361EB348D4CE36C7F3AFC8AF4DAF85E754A45F3D960A2D078145FA`;任一漂移则注明不能把此报告当作原方案批准。可只读扩展源码调用点,但报告中区分基线内与基线外的发现。
请在**同一份报告**完整回答以下问题,并给出每项 `通过/需修订/阻断`、源码行号证据、严重度和最小修订建议:
1. 三种方案比较是否成立?尤其审查建议方案 C 的最小纵切是否真的能从正式 KV 路径移除 `PlayFabUserService` 与 PlayFab SDK 依赖,同时 PF/AGG/Editor `kv-loop` 保持原行为;不要仅以能编译作为双模式证据。
2. 逐一追踪 `LoginStage` 的注册/构造、`PFLoginAct` 账号输入/登录/重试/销毁、`QuitAct` 退出、`PlayerKVGameplayBindings.Bind` 31 模块实例化与注入,尤其核 `SmallGameData` 构造函数要求 `IUserService` 的必经依赖。确定 DP1 是否必须让独立 KV 类实现当前宽泛 `IUserService`。若必须,给出每个成员的真实语义或明确可接受的阶段封锁策略;**不接受静默空实现、假 `EntityKey`、假 PlayFab ID、KV 失败回退 PF**。若可先采用更窄的登录服务,请指出可执行的 DI/Prefab 路径及需修改的构造者。
3. 第 31 模块的最小中立接收契约为何?核 Reset/Replace/Discard、初始化意图、通知、回滚、Guard、主线程、原 handle 发布与旧 epoch;指出哪些当前 `PlayFabUserService` 字段只是受控验证或 `kv-loop` 所用,应留在旧类,哪些正式 KV 职责必须迁出,避免复制旧类。
4. 当前 `IUserService` 的 `EntityKey`、`UserId`、`ApiPlayerId`、`InternalId`、`IsLogin`/`IsAuthorized` 如何分提供方定义?核 Duel 实际 `EntityKey` 读取、社交 ID、短 ID 默认名等影响。DP1 是否应修改共享接口;若需延期,指出明确的临时门控和最终清账条件。
5. 检查唯一启动开关及冻结时点、`SaveBackend` 再读取、编辑器直开、AGG 禁用、正式 URL、101/102 且有现存档、KV 无 PF 活动实例与 PF 路线保留。核 401/403、Logout/退出、重复登录、应用退出、Close 失败、旧响应和新 epoch 是否可在建议方案中安全实现。
6. 检查跨批依赖:现有 `PlayFabMgr.Instance` 直调与 `IUserService` 大量调用是否让 DP1 在 `FishingStage` 闸关闭时仍有隐藏必经路径;列出本批必须迁移的最小调用者和须推迟到可信线上合同后处理的功能。不要将客户端路由字面量或本机服务器代码当线上合同。
7. 方案是否满足 `AGENTS.md` 简洁性:每个新接口/组件/状态有实际调用者且职责不可省;没有双套开关、重复 Coordinator、测试用生产 API 或迁移后闲置路径。给出精确可审白名单、最小必测矩阵、红绿证据/双模式回归要求和不能声称已通过的限制。
报告请写入 `CodexOutput/upserver/B3BatchMigration/M2/M2-DP1独立方案审查.md`,优先在一轮完成全部问题;有阻断请提出一版可执行的修订方案和明确的新增代码边界,不需先与开发侧往返。**报告落盘不等于批准编码**:主会话将先重核 18/18 hash,再逐项裁决并写精确白名单。`PlayerKV*` 改名、`Core/KVMgr` 物理依赖修复、真实首场景/业务合同与最终临时门控清账均在本批之外,但必须留在后续 TODO。