保存独立KV用户服务、固定会话存档与原业务接线,以及C3d资料缓存和C3e本人统计写。 保留原PF/AGG路线、业务公式和时序;榜单读取、好友资料、公告、匹配及首场景闸仍待完成。 验证:ServiceHost两条件各33组646断言;Unity CLI Loop编译0错误269警告。 包含相关方案、评审裁决、测试及状态文档。未操作服务器、正式账号或打包。
44 lines
5.0 KiB
Markdown
44 lines
5.0 KiB
Markdown
# 给原 ZCode:M2 合批一次性正式前审
|
||
|
||
请对本包做**完整、hash门控的正式方案前审**,直接给出是否允许在精确边界内连续编码的裁决。此前两次工作稿复核已结束;本次不要再只出“事实抽验/方向正确、不构成前审”的预审报告。开发侧未修改本批生产/测试代码,等待本次正式裁决。
|
||
|
||
## 先核基线
|
||
|
||
- 工作区 `C:\projects\ft`,只审客户端,不读不改任何本机/远程服务器代码。
|
||
- 基线:`CodexOutput/upserver/B3BatchMigration/M2/M2-合批正式受审基线.json`。
|
||
- manifest SHA256:`DBC965EDBF48FADA4C1508F2662562F4FD72C01711D8E2FE2022AC4956896EF3`。
|
||
- 2165项长度/SHA256;另12个expectedAbsent(拟新增源码/测试及Unity.meta),必须仍不存在。
|
||
- 候选白名单仅110个现存文件和12个拟新增文件。其它Scripts均为只读回归快照,**不因列入基线就授权修改**。2165项不是2165项运行覆盖。
|
||
- manifest不含自身、此提示词及滚动入口/日志,避免自引用。发现漂移先写出路径和范围,不把无关日志更新当源码漂移。
|
||
|
||
## 阅读顺序
|
||
|
||
1. 项目根`AGENTS.md`、用户固定要求:完整评审后编码;一个编码端;批内持续实施、减少审核次数;KV替代PF玩家存储,新ID来自认证PlayerId;保留PF/AGG;正式地址固定;Unity仅CLI Loop,不打包。
|
||
2. `M2-合批修订复核裁决与正式前审边界-2026-09-29.md`。特别检查P3a:当前IUserService.CustomId确为getter-only,先前报告称已有setter与源码不符;接口setter修订仍有必要。关闭API复用原名,P3c已入集中问题单。
|
||
3. `M2-合批正式实施方案-待完整审查-2026-09-29.md`,逐节完整审,不只检查旧预审意见是否复制。
|
||
4. `M2-合批正式候选白名单.json`、`M2-合批存档调用实施台账.json`、`M2-合批动态配置投影.json`。
|
||
5. `M2-客户端致服务端线上合同集中问题单-2026-09-29.md`,以及旧双提供方约束和最终门控清理清单。旧DP1独立实施已暂停,不能把本包缩回DP1另开小轮。
|
||
|
||
## 必须一次审完的风险
|
||
|
||
- 独立KVUserService是否真正摆脱旧PF类和SDK类型;IUserService/CustomId/第31接收器/生命周期/SmallGameData DI/PFLoginAct/QuitAct完整性;成功Descriptor和身份事件发布时序;关闭失效/旧epoch/双登单发。
|
||
- 共用存档契约是否必要且足够简单,是否保留KV票据与PF原路线;固定store一次绑定、40秒调度、异步前后有效性、失败与缺键区分、remoteStore=false和即时消费的确认语义。禁止新的Core→Services依赖;现存KVMgr物理位置仍是明确待办。
|
||
- 224项台账的规则是否适用,PF内部/AGG/受控验证不能批量误改;台账并非运行证明。检查首场景Init、直接和条件订阅、泛型活动仓库、ItemAddedEvent、真实奖励/消耗回调;110文件上限能否覆盖实际调用者而不漏接。
|
||
- 本地配置直接LoginDays匹配0的准确含义:不能因此删除活动或省掉Init;不能把本地投影说成线上配置/101、102实际运行。
|
||
- Survey/邀请奖励的主档及连带存档、邮件批量HasRead/HasReward缺陷、个人邮件膨胀差异、提前ShowData、重复点击、Unknown/部分提交/崩溃。方案明确不承诺跨系统事务:请直接裁决原协议迁移可以实施到什么范围,若某动作不能安全放开,列具体原因和必要设计,**一次汇总**;不要重新问玩家数据应存哪。
|
||
- KV等级榜聚合/他人资料/原PF好友列表/匹配是真实跨账号或服务能力依赖;现有普通游戏服API按旧逻辑/新ID继续。客户端可编码范围、完整运行放行、最终通关三者必须区分,不能因外部能力缺少把全部客户端工作无限挂起,也不能伪造路由和空成功。
|
||
- formal ServiceHost必须改Program/Stubs/csproj用真实新服务;PF/AGG/kv-loop签名回归;真实Player/SignalR/正式账号未验如实标未验,不要求违规绕过CLI Loop的Restricted限制。
|
||
- 开发期临时冻结/跳过最终全部销账;保存原PF功能;命名延后;不读/改服务器,不打包。
|
||
|
||
## 输出
|
||
|
||
将报告写至同目录 `M2-合批正式独立方案审查-2026-09-29.md`,包括:
|
||
|
||
1. manifest核验总数、缺失/漂移及expectedAbsent;受审manifest hash。
|
||
2. PASS/有条件PASS/BLOCK及理由。区分阻止本批编码的问题、仅阻止相关动作/运行放行的依赖、最终通关未验项。
|
||
3. 一次汇总P1/P2/P3;每项具体文件/调用/故障、必要修正。不要拆成逐模块审核请求。
|
||
4. 明确批准/不批准的文件与行为范围,若收窄说明其仍形成的完整可实施链;不要笼统只说“方向正确”。
|
||
5. 获批后批内开发、修常规测试/编译失败不再送审;最终一次实施复核。只有真正架构/协议/文件边界变化才补充处理。
|
||
|
||
审核侧只读源码,可写此报告;不代替开发侧改代码,不请求正式101/102,不进入Play或打包。不需要给用户再次发ID/存储位置的问题。
|