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

34 lines
3.7 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 合批修订复核裁决与正式前审边界
日期:2026-09-29。接收原 ZCode《M2-合批工作稿修订版独立复核-2026-09-29.md》。本次继续完成开发侧方案准备,不另送第三轮工作稿预审。下一份输入是带文件清单和 SHA256 的整批正式前审包。
## 对象核证
- 报告:6584 字节,SHA256 `97FC767CF71A25A1731F08B9193D7A20EBF5227ED007D25D8952C44130EE59FE`。
- 报告所指工作稿:21140 字节,SHA256 `8542D71E2F87D213DBACBD85A824F57BF87F2232C72DB9871D4ABD9B56B27F63`,长度与报告描述一致。此为主会话当前核证,不冒充审核者当时未提供的受审 hash。
- 旧 DP1 基线重新核算 18/18 长度和 SHA256 一致;不恢复 DP1 单独实施。
- 报告明确“不是 hash 门控正式前审,不触发编码许可”。依项目 AGENTS.md,当前不修改生产和测试源码;继续完成一次性正式方案、白名单和审查提示词。
## 逐项裁决
| 条目 | 裁决 | 具体落点 |
|---|---|---|
| 七项承接及新增事实抽验 | 接受,沿用已定身份、时序、模块31、两模式与原句柄合同 | 正式方案第2–4节;不重开新ID/存储位置决策 |
| P3a:接口已有 CustomId setter | **不采纳事实判断** | 当前 `Client/Assets/Scripts/Services/UserService.cs:70` 是 `string CustomId { get; }`,`:131` 才是具体类 get/set。该文件37912字节,SHA256 `7FFCB60EC89A8DC770E789059D864C14293749B5D89CF5BF041EE96F24EBADD0`,与仍一致的DP1基线关联源码可交叉核验。保留方案:共用接口增加setter,PFLoginAct直接赋值。不能按报告删除必要接口修改。 |
| P3b:三个关闭名 | 接受问题,采用明确映射,不加第三个并行关闭 API | 生命周期窄契约复用 `CloseKVForValidationAsync` / `ObserveKVQuitAsync` 的既有签名。名字暂留符合用户延期改名决定。新旧服务各自映射到本实例 Coordinator;kv-loop 的 Stop 是专属流程编排,不是新的底层关闭器。 |
| P3c:跨账号资料未入问题单 | 接受 | 集中问题单补公开资料读取的具体字段和消费者;不以本人KV冒充他人数据,不把该问题扩成逐接口合同确认。 |
## 开发侧补全结果
已形成[合批正式方案](M2-合批正式实施方案-待完整审查-2026-09-29.md),将独立KV服务、首场景、条件活动读写、奖励保存结果和存档调用清单一起送审。工作稿保留原字节,不回写历史受审对象。
本地客户端配置 `cfgData/tbfishingevent.json` 共1466行配置、70组Type/SubType,ConditionList直接含LoginDays(19)为0;TriggerPack配置直接含该条件也为0。因此“有订阅”不等于“当前配置在LoginDays命中”,但首场景Init/跨时刷新仍可激活动态分支。完整方案按全部代码可达分支迁存档,运行验收再记录实际加载配置和账号命中;不修改配置让验证变容易。
额外纠正两项遗漏:Friend.GetInvitedListCount成功后可调用SetLinkAwardData读取InviteLinkRewardCount;邮件批量TakeReward原实现请求HasRead后却筛选HasReward,属于真实旧缺陷,纳入同批明确修复和对照回归。
## 边界
这份裁决接受技术反馈并完成送审输入,**不是自授编码许可**。正式报告到达后,核本次整批基线、逐项裁决一次,再在获批清单内连续开发、测试和记检查点日志;无需每个文件/测试失败再次送审。仅架构合同变化或真实越界才需停相关部分,其他获批工作继续。
服务器代码不读不改;未发任何正式101/102请求,未进入Play,未打包。原工作树保留。固定地址 `http://s101.local:18080/`;Unity只用CLI Loop。