# 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-α剩余迁移条件、未覆盖业务与最小后续验证范围。见[剩余事项与下一步清单](../P2-alpha剩余迁移条件与下一步清单-2026-09-28.md)。已经通过的R1/4C1/4C2/A/B不重复开发或消费补样;新代码仍须完整方案审查。 固定http://s101.local:18080/;Unity CLI Loop,不用UnitySkills、不打包。