Files
ft/CodexOutput/upserver/P2AlphaNullCompatibility/B5-实施复核裁决与关闭.md

3.7 KiB
Raw Blame History

P2-α-B实施复核裁决与关闭

2026-09-28,主会话。接受独立实施复核,正式关闭两类历史空态的加载表示兼容单元P2-α-B;无需再复审该已关闭单元。 不是整体P2-α/G4关闭,也不是101导入或真实启用批准。

修改共享状态前的基线核验

  • implementation-review-hashes.json:1334/1334项SHA256及长度全部一致。
  • 清单SHA256:9AAAFD7AC85925EA74B57115152BAD6BBFE45C3377C8F4801D3053FB45E2F305。
  • 独立报告SHA256:44895A64319BBB3CFF44AFD9F29AC6277043CA4B9AB307AF98634235E0BDEEAC。
  • 原绿测DLL与当前DLL均为88CC86E394D6CDDFDC634936D2639C203C5FC5E7D32D19B79BCE10E5D70C3ED5、495616字节。
  • 核验落盘B5-closure-baseline-verification.json。原受审清单、报告和B1~B4证据保持原文;之后入口/状态/TODO/日志为关闭增量,不冒充旧受审版本。

八项逐条裁决

项 主会话裁决
Q1 白名单与diff 接受。恰为4生产+3测试已有文件,生产18增/5删,未顺带重构或改玩法
Q2 M15 接受。四字符Trim、原文严格校验、三态内部DTO、非法组合、Raw字节与Replace闭合,共用helper保持
Q3 M22 接受。仅selections显式null可接受,缺属性仍拒绝,14字段/PackType/错误分类/深复制保持
Q4 测试比较器 接受。Bargain专用分支正确,其他字段比较及通用SameList不变;固定私有字段读取只用于验证,无新可调用入口
Q5 验证 接受原作者红77/3→绿77/0、1783断言、Unity63/146/83和双编译0错误;独立复跑作为补充,过程偏差见下节
Q6 原样本 接受。101 55键/102 45键均Valid/0,原值hash及883配置指纹保持;不能推为全玩法/全用户兼容
Q7 运行边界 接受原B3证据。无Play/许可/正式数据接口/导入/打包;本关闭轮仅文件读取/hash,不冒称又运行了一次Unity验证
Q8 关闭 接受。关闭两类空态加载表示兼容;101未真实启用,整体迁移条件继续开放

P3-1裁决:已覆盖,不新增测试

ActivitySchemaTests.cs:66已显式包含\vnull\v、\fnull\f、\u00a0null\u00a0,并含U+0085、U+FEFF及其他非法边界。:68~70对每项要求返回null且M15 Malformed计数为1。原B2-green-result.json中M15-explicit-null-raw-and-strict-boundaries通过43断言;M15严格对象组通过48断言。

因此采纳审查者“裁决时确认即可”的建议,认定配套覆盖已完成;无需再改代码、补重复测试或重跑。

复核过程偏差与证据口径

独立报告写“先构建后dotnet DLL执行”,而B5提示词要求先核锁定DLL、不得重建。该过程文字不符合原约定,不能表述成“完全按禁止重建流程完成”。主会话目前可核事实为1334项一致且当前DLL仍与作者交付SHA256/字节完全一致;并不能从当前相同hash反推审查者操作顺序。

本关闭以作者已封存红绿/Unity证据、当前源码及DLL一致性、独立源码审查接受为依据;报告中的独立复跑是补充证据,不替代作者原始验证。保留偏差,不要求重复构建/测试来消除文字差异。后续复核应先核DLL后直接运行,若确需重建须单独说明并保留前后hash,不能称为原约定只读复跑。

关闭后

下一步在主会话侧:整理整体P2-α剩余迁移条件、未覆盖业务与最小后续验证范围。见剩余事项与下一步清单。已经通过的R1/4C1/4C2/A/B不重复开发或消费补样;新代码仍须完整方案审查。

固定http://s101.local:18080/;Unity CLI Loop,不用UnitySkills、不打包。