Files
go-sip/docs/evidence/20260921-ai-jcs-digest.md
T

1.6 KiB
Raw Blame History

AI 配置摘要:JCS 本地修订

已确认决定

用户明确批准 AI 配置采用 RFC 8785(JCS)规范化后计算 SHA-256,输出小写十六进制。新版本地契约不等于外部 SaaS 已签收。不改变文件校验和、上传事实去重或命令正文哈希。

实现与版本

  • Go/Python 复用 github.com/cyberphone/json-canonicalization,固定 v0.0.0-20241213102144-19d51d7fe467;不自写规范化算法。
  • ai.Validate 保留原始配置字节,但摘要取 JCS 结果;拒绝非法 UTF-8,不接受旧摘要回退。
  • 唯一活动包:contracts/upstream/v1/,MQ 线上的 schema_version 仍为 2.0。
  • 当前 V1 manifest.json SHA-256:d1218691ad8f63d3c7de0b652246ace690191f932a5107dbece34ccbac83bf7e。
  • 不再维护并行契约包;当前 V1 文件经离线正反例和 AI Schema 校验后作为唯一运行输入。
  • Python 生成的数值、UTF-16 属性排序和字符串黄金向量,由 Go 验证规范字节及 SHA-256 一致。

验证事实

  • 新测试先暴露原始字节哈希对空白及 1/1.0 表达敏感;实现后相同语义的示例得到相同摘要。
  • 授权样例使用已有 config_sha256 字段绑定新摘要,没有增设猜测字段。
  • 新包文件哈希、未登记文件检查、离线 Schema 正反例、跨语言黄金向量测试通过。
  • 全仓普通测试通过:/tmp/go-sip-jcs-full.log。

尚未完成

AI 配置/授权 MQ 请求响应的完整持久运行链路、最终 race/vet/覆盖率及部署验收仍未关闭。不能用摘要测试替代完整 AI 交付或外部真实联调。