Files
ft/CodexOutput/upserver/阶段4C1实施复核裁决与关闭-2026-09-24.md

47 lines
5.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.
# 阶段4C1实施复核裁决与关闭
日期:2026-09-24。主会话裁决:**接受独立实施复核,正式关闭限定4C1。无需再次复审本期;下一步由主会话准备下一分期方案,尚未批准下一期编码或真实消费。**
## 检查点5:先核对受审版本
- 完整读取[独立实施复核](阶段4C1普通钓鱼消费确认实施独立复核-2026-09-24.md),采用 receiving-code-review 的先核实再裁决流程。
- 更新任何共享状态前,主会话重算 `KVFishingConsumeTests/implementation-review-hashes.json`:172/172一致,缺失0、差异0。
- 原清单SHA256:`2922A85B2FDCA677EF41ACCE6A9F719B73B30210DB50F38B4D61113F9A45F5F9`。
- 独立报告SHA256:`0778CC6B4F40B4029D788069865746E69F256858EC1B2BD59B811841D749A19F`。
- 四个旧源码与 scope-diff 中的hash匹配;源码与固定测试host均不修改。核对记录另存 `KVFishingConsumeTests/closure-baseline-verification.json`。
- 原受审清单不重写。关闭后入口/状态/TODO/日志等文档的合理变化,以本裁决及关闭增量清单解释;不得把后续状态文档变化误判为受审代码漂移。
## 检查点6:八项必答逐条裁决
| 项目 | 主会话裁决与依据 |
|---|---|
| Q1 白名单和合同 | 接受。四旧文件加固定验证host及meta,与已审范围一致;原25源码快照中21项保持,既有回归证据有效。不扩展到业务全面改造。 |
| Q2 动作身份和防重扣 | 接受。代码保持动作身份、Consuming/Continued一次性标记,Cancel恒置Cancelled;19组81断言与实际三方法27断言分层成立,不宣称全动画资源覆盖。 |
| Q3 顺序和最终原票据 | 接受。最终票据与key/sequence/valueHash对应,localOnly最终态拒绝、外部替代和故障不换票据或自动重扣;真实主档/战令对账支持本期范围。 |
| Q4 订阅副作用 | 接受。真实订阅与原Save被固定host纳入;当前Tables及实跑活动快照支持两键变化。不能推导未来任意活动配置均安全。 |
| Q5 验收分层 | 接受。红绿回归、源码控制流测试、真实UI、服务器对账、新进程恢复各自覆盖范围清楚。Editor/SERVICE_HOST通过;默认非Editor既有CS0103仍不通过,未打包。 |
| Q6 首跑退出修复 | 接受“证据充分”。实际OnDisable红测失败后,同入口绿测明确断言Cancelled、Continued、Ready且Faults=0,同时撤销继续资格且不恢复配额。修后恢复run真实正常退出Error=0。**首跑两条关联错误仍保留,修复后没有第二次真实收费验证**;无需为关闭重复扣费或重复增加同义断言。 |
| Q7 Editor强杀限制 | 接受“影响可接受”。日志确认CLI正常退出超时后自动强杀,但发生在游戏closed、排水、停止Play和消费对账之后;新进程新缓存恢复有效。**不认定Editor优雅退出通过**,后续避用带自动强杀降级的退出命令。 |
| Q8 真实变化及关闭 | 接受限定关闭。102一次体力403→393、累计消耗102→112,主档/战令两键改变;恢复后45键与消费后逐值一致,101空,无重导、鱼获奖励或二次消费。报告“恢复run只读”须按下节收窄,不影响关闭。 |
### 请求口径校正
独立报告Q8的“恢复run只读”不能按“游戏全程无写入”理解。`KVGameplayLoopTests/runs/41828_639258336171434448/events.jsonl` 在08:03:07Z有 `NewPlayerDataDic` 的 remote=true write-attempt及accepted,valueHash与消费后主档一致。准确表述是:**恢复run未再次消费,存在正常登录同值保存受理;最终服务器值未变**。不能仅凭该事件反推HTTP总请求数。显式备份工具6登录+6Get、Set/Delete=0与游戏运行请求分开计数;游戏总HTTP次数仍未计量。保留独立报告原文,以本裁决澄清。
## 四条P3逐条裁决
| 项目 | 裁决及后续处理 |
|---|---|
| P3-1 短按工具适配 | 接受非阻塞建议。下次真实UI方案/固定操作脚本使用已验证的0.15秒LongPress模拟短按,并检查无重复触发;当前不为归档新增脚本或重跑。 |
| P3-2 运行HTTP计数 | 接受口径问题;本次用上节澄清闭合。按请求类型增加计数列入候选改进,需评估必要性及完整方案后实施;不为低优先级观测建议扩展当前业务代码。 |
| P3-3 可选Unity复跑 | 不追加复跑。受审hash锁定19/81证据,独立评审已离线复跑27断言;本次未建立新的隔离前置,不绕过Enabled门。报告允许选择性复跑,并非关闭前置。 |
| P3-4 保留首跑边界 | 接受并落实。Q6和共享状态明确首跑非零错误、修后未第二次真实收费;原错误和红绿证据保留,不改写历史结果。 |
## 检查点7:正式关闭与开发边界
- 关闭范围:Editor专用单账号、每进程一次普通收费抛竿,扣费→原最终存档确认→可拉杆→正常游戏退出→新进程新缓存恢复。仅关闭限定4C1。
- 不等于完整钓鱼闭环,不开放普通用户。拉杆收鱼/奖励、转盘、连续多次消费、热换号、全B/C、P2-α、身份/外围、tickets长期历史、真机/最终包和G4保持未完成。
- 当前无需评审侧再次复审4C1;下一步归主会话,按“最小改动、先跑起来”准备拉杆收鱼与奖励保存的候选最小方案。先完整评审及裁决,再编码;不在本次文档关闭中授权任何新消费。
- 102原45键不得重导,claimed保留,许可保持归档。正式地址 `http://s101.local:18080/`,Unity CLI Loop,不用UnitySkills,暂不打包。
- 本轮仅读取源码/证据、核hash与文档关闭;未重跑Unity/测试、未发送服务器请求、未修改源码、未进行第二次真实消费。