Files
ft/CodexOutput/upserver/B3BatchMigration/M2/M2-CP2B-T首轮独立报告主会话裁决与补审边界-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

29 lines
3.6 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 CP2B-T 首轮独立报告主会话裁决与补审边界
日期:2026-09-29。此裁决仅处理已落盘首轮报告,**不批准修改生产或测试代码**。
## 受审对象与时序
- [七项受审基线](M2-CP2B-T受审基线.json)重新按字节数及 SHA256 核对:7/7 一致;清单 SHA256 为 `3DF008B9474D730C82CACA65FAE0306CC18B13DF6454C0ED0694A7273A368842`。
- [首轮独立方案审查](M2-CP2B-T独立方案审查.md) SHA256 为 `AABDE906E3B6E1B622CC30264F95D8114A8BEE905CD3462948392DBAFF83AE59`。报告写入时间 16:17:03;[一次性批级提示](M2-CP2B-T原ZCode一次性批级方案审查提示词.md)新增第 6—8 项的时间为 16:17:13。因此首轮报告的“通过”只覆盖原五问,不构成新增疑点已评审的证据。
- 受审七项不包含提示词和本裁决;只在提示词追加集中补审问题,不改受审方案/源码/清单,基线 hash 不漂移。
## 逐项裁决
| 首轮项 | 主会话裁决 | 编码边界 |
|---|---|---|
| 1 同一租约与运输就绪 | 原则接受路线 B 和 Apply 后再启用;现有 `BindKVForGame` 确实在 Apply 前绑定。尚须明确 formal/validation 不可串用、具体发布时点和在途关闭竞态(补审 6—8)。 | 暂不编码。 |
| 2 路径保护 | 接受认证、KV 与验证路由隔离原则;“已知合法调用无误拒”缺逐个调用证据,`?`、`%` 与超时/Content-Type 兼容性待补审。 | 不把客户端路由当线上合同,不开放首场景。 |
| 3 401/退出 | 接受先失效再异步关闭原则;`UserService.cs` 构造中正式 KV 忽略旧 `EvtAPISvrUnauthorized`,可在 `UserService.KVLoad.cs` 接专用事件,但首轮报告没有证明回调线程、旧响应与新 epoch、双重 Close/失败屏障。 | 三文件白名单是否足够待补审。 |
| 4 合成验收 | 接受运输层可单独合成验收的方向;合成通过不证明线上业务路由、公开身份、真实 Player 或 SignalR。 | 继续阻断 `FishingStage` 和正式 101/102 请求。 |
| 5 白名单/闲置实现 | 新方法须有直接消费者并在最终清账清单追踪;首轮报告称 Cookie “将来消费”,而现有 `RTService.Connect` 已读取 `ICustomServerMgr.Cookie`,需核实实际连接时序。 | 扩白名单须先给唯一必要增量及新 hash。 |
| P3-1 Cookie 日志 | 不采纳默认加日志;无业务必要,避免额外运行期噪声。G5 可用合成事件/断言验证,不输出 Cookie。 | 不在本批引入。 |
| P3-2 HashSet 禁用字符 | 作为实现选项接受,不指定数据结构;验收以精确路由行为为准。 | 不扩范围。 |
| P3-3 验证租约拒普通路径 | 接受,列入独立合成断言。 | 待方案补审通过后实施。 |
## 同批补审待答
原五问之外,现有代码显示 `PlayerKVAccountLease.SendAsync` 只准验证两路由、`HttpClient` 未设置原 15 秒超时;`UserService.IsLogin` 在正式 KV 恒为 false、`ApiPlayerId` 依赖空 `apiSession`;`RTService.Connect` 使用 `Cookie`/`SessionVersion`;`PlayerKVAccountLease.SendAsync` 使用 `ConfigureAwait(false)`,`UserService.KVLoad` 的 `LogoutFormalKV` 和 `TrackFormalClose` 有关闭状态交替。这些事实需要审核 AI 按更新后的提示第 6—8 项一次回答,并指出如有阻断的最小方案修订。首轮报告虽标“通过、无 P1/P2”,主会话当前裁决为**待补审,编码许可未成立**。
本轮只读源码并写评审文档/日志;保留现有工作树,不读写本机服务器代码,不调用正式账号,不用 UnitySkills、不打包。固定正式地址 `http://s101.local:18080/`。