Files
ft/CodexOutput/upserver/阶段4B2检查点2字段差异审查裁决-2026-09-23.md

35 lines
4.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.
# 阶段4B2检查点2字段差异审查裁决
日期:2026-09-23。用户要求“逐条裁决,确认结果”。本轮完成版本核对、设计差异裁决、正式附件合并及共享状态更新。
## 1. 版本与结论确认
主会话在更新任何受审文件前重算[差异基线](阶段4B2检查点2差异受审基线-2026-09-23.json)14项SHA256,**14/14一致、无漂移**;逐项证据见[核查记录](KVGameLoadTests/checkpoint2-delta-ruling-hash-check.json)。[外部报告](阶段4B2检查点2字段差异独立审查-2026-09-23.md)SHA256:`763C8FD1F74080DD6DFA1683904A8273ED41A7EF5613254835D8DDA351391F07`。
报告披露未参与本补审方案编写,也承认前次修订2审查漏查这两处。保留该披露,接受本次源码依据及D1/D2通过结论,不将前次抽查等同完整实施验证。主会话复核了两个成就加载方法的JSON值类型、三槽声明类型及EFootPrint的Int32基础类型。**本次无P1/P2;三条P3全部裁决如下。**
## 2. D1/D2逐条裁决
| 项目 | 裁决 | 生效合同与验证边界 |
|---|---|---|
| D1 旧AD格式 | 通过,采纳补审方案全部定义 | 顶层AchievementData为对象值;旧AD为`ConditionType→Id\|Target\|day`字符串值;ad为已审紧凑格式。三槽分别Int32/UInt64/Int32,全部现存表示先独立严格解码,再按`ad > AD > 顶层`及共有字段冲突规则选择,整体替换;不以合法新表示掩盖坏旧表示。正/反/缺失、重复枚举别名、溢出、共存冲突与同对象清空均须验证。 |
| D2 FootPrint位宽 | 通过,采纳完整位集+旧视图方案 | KV状态用新增私有ulong完整保存并提供internal只读验证访问;`_footPrint`仅保留低32位视图,Reset两者归零。公开enum/interface及PF原方法不改,不缩窄UInt64输入域,不拒未声明高位。受控范围仍禁止UploadData保存,4B3完整位集消费另审;真实对象验证不能由离线算术测试替代。 |
两项修订仍在既有M08/M23文件白名单内,不扩展网络、持久化或玩法启用授权。
## 3. 三条P3逐条裁决
| 编号 | 裁决 | 落地要求 |
|---|---|---|
| P3-1 历史宽松条目与P2-α联动 | 采纳 | 将旧AD中因槽数不等于3而被PF静默跳过的条目,列为真实存量档兼容盘点的显式输入;KV受控合同仍整体Malformed,不能自动跳过/清档/造默认值。未来迁移方案应说明这些条目的识别、备份、修复或人工退出规则,并经独立评审及用户产品确认。本轮不读取真实档、不执行迁移。已加入TODO及正式附件迁移注记。 |
| P3-2 显式unchecked与视图注释 | 采纳 | 实现必须显式表达低32位,例如`unchecked((EFootPrint)(int)(uint)completeBits)`,并注释“视图仅为低32位,完整值在ulong字段”;不能依赖编译器默认unchecked。保留2^31、2^32、UInt64.MaxValue及高位→缺失两字段同时清零测试。当前仅确认实施约束,不虚报代码已完成。 |
| P3-3 正式附件合并修订 | 采纳目的,采用独立正式版本落地 | 新增[字段与模块加载合同正式版](阶段4B2字段与模块加载合同-正式版-2026-09-23.md),把D1/D2直接并入正文、补齐验证与P2-α注记。原受审附件、补审方案、报告及基线原样保留,不在原文件上回写导致受审hash失效。正式版为后续实施首读附件,原附件只供历史核对;这属于已审修订合并,不引入新语义。 |
## 4. 版本保存与后续批准
补审基线包含会持续追加的实施记录。更新前已逐字节保存[受审时实施记录快照](阶段4B2实施记录-检查点2差异受审快照-2026-09-23.md),SHA256仍为`6108E90C894FAD2F5FA518F380E1740650B5F87C4571F3992B301D39F9960DFC`。原14项基线不重写;今后实施记录的正常追加不能误判为审查前漂移。正式版/裁决交付hash另存[确认清单](KVGameLoadTests/checkpoint2-delta-ruling-delivery-hashes.json)。
**D1/D2差异设计门已闭合,批准按正式附件继续检查点2全部31组codec、空态与测试,再按主方案§9推进检查点3/4。** 不再等待这两项差异评审,不重做检查点1,不将此次设计通过当作检查点2实现通过或4B2正式关闭。检查点1仍需纳入最终完整回归,4B2完成后仍交外部独立实施复核。
本轮按用户当前请求确认裁决,没有修改生产/测试代码,没有运行测试或Unity;检查点1既有19组/23组结果属于前轮证据。4B1保持关闭、4B2实施中、4B3未启动、G4未通过。P2-α正式启用门保持;固定地址`http://s101.local:18080/`,Unity CLI Loop,不使用UnitySkills,暂不打包。