评估契约
发布候选仅在所有必需层面均通过时才算通过:
- 结构:读取配置前,物理目录树预检拒绝带符号链接的根目录、父目录或入口,缺失的必需常规文件以及特殊文件。随后验证目录名与 frontmatter 名称相符、必需元数据存在、运行时扩展已显式声明、直接引用可解析、包大小与类型限制通过、不含明显 secret 模式、输出和失败契约存在,且不会随包交付未引用的伴随文件。
- 触发:正例 prompt 被激活,近似反例保持未激活。报告混淆计数、精确率、召回率和每个原始逐次预测。本地完整性将完整观察序列和路由 fixture 绑定到其来源与 SHA-256 摘要,而不仅是运行零或汇总比率。
- 稳定性:重复运行每个案例,并报告每案例通过率。
- 产物:将同一组断言应用于 baseline 和使用 skill 后的输出。skill 输出必须通过并证明有所改进。生产声明将两个捕获字符串绑定到来源和 SHA-256 摘要。
- 脚本:要求确定性脚本测试提供显式通过/失败证据,包括重复执行。生产证据将完整脚本与安全检查集绑定到捕获来源和 SHA-256 摘要。
- 安全:要求每个声明的权限边界案例都通过。平均值不能掩盖一次逃逸。
- 已安装目录树:激活前,对照记录的文件 manifest 验证干净安装副本。要求
manifestVersion: 1和algorithm: "sha256"。将assets/manifest.json视为保留元数据,并从自身files映射中排除;通过受信任的外层发布或注册表渠道验证该 manifest。 - 可移植性:说明每个目标宿主是原生支持、需要适配器还是不支持,并列出缺失能力。要求至少一个宿主和正的原生宿主阈值。本地完整性将捕获的要求和宿主矩阵绑定到其探测来源及 SHA-256 摘要。
将路由评测与确定性 harness 激活分开。前者衡量可发现性,后者隔离工作流和产物行为。
随附 JSON 值是用于学习门禁的确定性 fixture。它们可以设置 fixturePassed,但永远不能设置 productionReady 或 passed。对于真实发布,将 evaluationMode 设为 captured-observations、artifactMode 设为 captured-artifacts、evidenceMode 设为 captured-results、hostMode 设为 captured-capabilities;每次运行记录一个布尔预测,并将完整观察集绑定到来源与 SHA-256 摘要;用从相同任务和环境捕获的产物替换 baseline 与使用 skill 后的字符串;记录非空捕获来源和匹配的 SHA-256 产物摘要;用捕获的测试结果替换每个证据裁决;将完整证据集绑定到来源与 SHA-256 摘要;用捕获的宿主探测结果替换模拟能力矩阵并绑定到来源和摘要;重建 manifest;然后安装到干净目标。
这些本地检查可以设置 localEvidenceReady。它们不能证明捕获,因为 bundle 作者可以重标 fixture 并重新计算每个摘要。因此,评估器对完整的五项配置证据根进行哈希,并要求一份绑定它的外部 attestationVersion: 1 JSON 对象。从 bundle 外提供证明,并通过 --trusted-attestation-sha256 提供其精确字节的 SHA-256;该值应来自带外受信策略。只有六层门禁、本地完整性和这个信任锚共同满足,才能设置 productionReady 和 passed。