Files
ft/CodexOutput/upserver/B3BatchMigration/M2/M2-合批预审主会话裁决-2026-09-29.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

4.8 KiB
Raw Blame History

M2 合批预审主会话裁决

日期:2026-09-29。当前动作是吸收预审并补全同一合批方案,不恢复 DP1 单独实施轮。用户裁定的 KV 替代 PF 玩家数据读写、新 PlayerId、原游戏服流程、客户端不碰服务器、单编码端及减少审核次数均保持。

证据与权限

  • 最新输入:合批工作稿独立预审意见,SHA256 8C8F1BD7F703260BB764568DB13F4FB3F94C86D8B62A3A3099816FFFA752F879。原文明确“这不是 hash 门控的正式前审”;没有绑定工作稿及代码的受审清单,不能事后生成 hash 冒充已审基线。
  • 补充输入:DP1 独立方案审查,SHA256 8C577A6D81ADAEC4E175F186EA2E4D1674588F2C47269C8B38A6EBAFD16E1ACF。主会话复算旧 DP1 清单 18/18 长度与 SHA256 一致,清单 SHA256 858C43EF26361EB348D4CE36C7F3AFC8AF4DAF85E754A45F3D960A2D078145FA。这证明旧方案基线未漂移,不代表最新合批方案已完整评审。
  • 项目 AGENTS.md 要求“修改代码前完成相关方案的完整评审,记录裁决和开发边界”。本裁决不批准生产或测试代码修改;开发侧继续完善可执行方案和白名单,不让用户重复决定既定迁移目的。

逐项裁决

输入 裁决 同批落地要求
预审 §1 事实核验 接受 新 ID、KV 存储与普通游戏服请求沿用原流程已定;不再追索所有旧接口的完整文档。
P2-A 地区码缺失导致地区榜与全局榜同名 接受缺陷事实 地区来源为 KV 资料中的 ContinentCode;缺失与非法值不能拼成全局榜名。保留地区榜目标;来源未补齐时明确缺少地区资料,不伪造地区或悄悄查询全局榜。跨玩家聚合读取交由服务器开发侧,本 Agent 只记录字段需求。
P2-B / DP1-R1 宽 IUserService 与模块构造 接受 DI 事实,覆盖旧恒空身份建议 新 KV 类实现共用用户契约;就绪后公开新 ID 和真实授权状态。现有 EntityKey 类型泄漏须明确处理,不能一边实现该属性一边声称没有 SDK 类型依赖。
P2-B / DP1-R2 测试迁移 接受 ServiceHost Program/Stubs/csproj 一起纳入候选白名单;formal 用例转向新 KV 类。保留 PF、AGG、kv-loop 和受控加载回归,明确三个签名耦合文件的核验责任。
P2-B / DP1-R3 登录退出中立入口 选择窄生命周期契约 IUserService.CustomId 增加 setter;登录不再下转旧类赋值。31 模块 Reset/Replace/Discard 与登录退出状态分别采用有实际消费者的窄契约,具体成员见工作稿。
P2-C 身份发布必须早于场景切换 接受 在原 handle、当前 epoch、资料和普通请求租约就绪后同步发布身份;登录完成和场景切换入口都检查同一服务的有效状态。FishingStage 5 秒软等待不能作为 KV 成功凭据。401/退出先失效身份再等待关闭。
P3-D 短 ID 默认名与 Survey 抽样 接受并定算法 默认名只截取至 min(5, id.Length);KV Survey 按规范十进制新 ID 的末位 %10,对应现有 TailNumberList;PF 保持旧十六进制规则。不得误写为 %16 或随机/进程 hash。
P3-E 重读 SaveBackend 选择正式 KV 仅使用冻结选择 新 KV 类不再读取配置重新选择后端。已冻结选择、准入名单、固定地址仍由现有 RuntimeSelection 决定;保留 PF/kv-loop 既有兼容入口,不额外引入开关。
DP1-P3-1 时间/地区/语言默认值 旧建议不用于首场景 AccountDescriptor 已有 CreateTimeUtc/ServerTimeUtc;用户资料从 KV 读。未知历史登录时间与地区不能伪装为已知值,消费者需显式处理缺失。
DP1-P3-2 Duel EntityKey 接受并登记实际调用 Duel 仍有三个直接 EntityKey 成员访问(两段业务)。纳入共用契约去 PF 类型与 Duel PF 能力调用的完整设计;KV 不制造 EntityKey。
DP1-P3-3 编辑器认证探针 接受,无修改 S101LoginWindow 不受本批用户服务注册替换影响。

本次补全与剩余开发责任

已把 7 项预审输入写入合批工作稿的实现决定、身份来源、时序、候选文件与验收矩阵。仍须完成同一方案中的奖励写入边界、首场景动态存档链及跨账号资料消费者处理,才可称完整可编码方案;不把预审的“方向通过”扩张成这些未审实现的许可。

没有新增用户产品问题。服务器依赖只集中记录在同一沟通文档,不发送消息、不访问服务器源码、不操作正式账号。后续仍是一份完整合批方案、一份受审基线、一次正式前审,批准范围内连续实施。