JJianFeeeeerefactor(proc)!: 版本身份只由版本号本身承载,删除全部自定版本号
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
refactor(proc)!: 版本身份只由版本号本身承载,删除全部自定版本号 内核侧配合 SDK 仓 b2872f3:兼容性不再依赖任何自造版本号。 删除三处自造号: - ProtocolVersion(协议号)→ 改为比对主版本段(MajorVersion) - shmVersion(共享段 header)→ 改为校验描述符个数(field_count) - unifiedVersion(SuperBlock)→ 结构自描述,不再校验 握手契约随之调整: HandshakeParams: protocol(int) → core_version(string) HandshakeResult: protocol(int) → sdk_version 承担判据 内核比对 MajorVersion(meta.Version) == MajorVersion(res.SDKVersion), 跨主版本即拒并提示重编(主版本跃迁 = 破坏性变更的定义)。 为什么废除:额外的号需要人去记得升,而它没有任何结构性约束兜底, 必然腐烂。实证:ProtocolVersion 常量在多次布局变更里只升过一次, 对应的守卫测试长期失败无人察觉(期望 18/1,实际 19/2)。 新增判据: - TestProcess_MajorVersionMismatchRejected:跨主版本被拒(testdata/badproto) - TestProcess_SameMajorDifferentMinorAccepted:同主版本放行(新增 testdata/oldminor) 后者是 §七「1.x 内纯追加、不调新面不用重编」规约的落地 —— 若误用全等 比较,未重编的存量插件会被无谓地全部拒绝。 两条均经变异验证:改成全等比较 → 前者过/后者挂;删掉校验 → 前者挂。 | 4 天前 |