docs(acceptance): 记录 C-03 许可验收证据

This commit is contained in:
2026-09-09 18:46:31 +08:00
parent 94dcd6a0fe
commit 8adbd51e9d
2 changed files with 9 additions and 1 deletions
@@ -906,3 +906,11 @@ Core 的独立数据目录目前不等于已授权 Vault。Python 旧笔记写
- 十个客户端在客户端侧施加总计 100 Mbps、20 ms RTT 的固定网络 profile,连续 1800.02 秒以每秒总计 20 次提交 4 KiB 内容;第 10、20 分钟分别轮换全部会话。最终 36000/36000 请求成功,实际速率 19.999995 次/秒,API P95 为 61.45 ms,意外 5xx 为 0,数据库逐项验证 36000/36000。每分钟持久化进度检查点,本轮最大调度延迟 14.88 ms;超过 1 秒会以 `S09_SCHEDULE_GAP` 失败,避免暂停恢复后的补发流量被计为有效结果。
- 完整业务运行绑定提交 `abc316a9811aa07bfaa7659bce6528baf1544ffd`driver 原始结果为 `PASSED` 且六项断言全部通过。统一 runner 原先只接受整数指标,误将三个合法浮点指标判为缺失;提交 `2cd45da64e88c377664c0b2fbd0630cb395bfeac` 后改为接受有限非负数值并继续拒绝 NaN、无穷大、负数与布尔值,runner 7 项测试通过。复核记录确认两提交间仅变更 runner 及其单测,S-09 产品代码和 driver 未变,重新校验错误为 0、状态为 `PASSED`。证据目录 `H:\OpenNexus-acceptance\s09-abc316a-69716d7fc6dc462ba9b2ad5c70b35f31-report\`,复核文件为 `revalidation-summary.json`,报告标记 `contains_credentials=false`
- S-09 可记为通过,Sync 客户端与服务端已登记的 S-01~S-09 验收项全部通过。其余 16 个生产验收 ID 尚未登记,整体生产化目标保持未完成。
## 增量:C-03 执行许可内容绑定与旧入口拒绝生产验收
- Host 的 HMAC-SHA256 v2 执行许可绑定 kind、来源、namespace、包 ID/版本、归档/目录/签名者摘要、入口、参数、环境声明、权限、Vault、平台、策略版本与到期时间共 16 个字段。合法格式的任一字段变化现在统一返回规划错误 `PERMISSION_CHANGED`;到期返回 `EXTENSION_PERMIT_EXPIRED`,代次撤销返回 `EXTENSION_PERMIT_REVOKED`
- 精确 Rust oracle 逐字段改变上述声明并核对错误码;销毁 Host Authority 后新实例使用新随机密钥,旧许可不能复活。真实启动前路径同时重新核验固定目录树、入口文件身份、Vault/策略上下文和包域 Stronghold 引用;保险库锁定时即使包不声明秘密也不能创建进程。
- 旧 Python MCP stdio 启动入口在生产配置下保持禁用。测试先完成配置摘要信任,再尝试启用,仍固定返回 `MCP_SANDBOX_REQUIRED`;renderer 或旧调用方不能用已经批准的配置绕过 Rust Host 原生启动路径。
- 提交 `4e50dfb94beaa8460a0ff08963b07ef10c42eb66` 后在只保留用户 Vault 修改的工作树运行统一 runnersummary/case 均为 `PASSED`,5 项断言通过,耗时 18886 ms;指标为 16 个绑定字段、1 次旧入口绕过拒绝和 1 次重启许可拒绝。证据目录 `H:\OpenNexus-acceptance\c03-4e50dfb-f02e084c772247eaad1918148d3db0a9-report\`,报告标记 `contains_credentials=false`。两项 exact Rust oracle、Python/runner 8 项测试、Rust 格式与全目标 Clippy `-D warnings` 均通过。C-03 可记为通过;其余 15 个生产验收 ID 尚未登记,整体生产化目标保持未完成。
@@ -24,4 +24,4 @@ python scripts/phase3-production-acceptance.py `
报告目录包含 `summary.json``case-manifest.json``junit.xml``cases/<ID>.json` 和脱敏的 `logs/<ID>.log`。摘要记录 commit、各锁文件 SHA-256、配置摘要与已提供安装产物摘要。日志将仓库、数据根、报告根、用户主目录和配置声明的秘密值替换为占位符,并限制为 10 MiB。报告目录必须为空,避免单例复跑覆盖原始证据。
当前 runner 与失败闭合行为已实现,A-02/A-03 Sidecar、B-01/B-02 凭据、D-01 扩展包、S-01/S-02/S-03/S-08 Sync 客户端以及 S-04/S-05/S-06/S-07/S-09 Sync 服务 driver 已登记;其余 16 个生产验收 ID 尚未登记,运行时会生成 `NOT_IMPLEMENTED` 证据并退出 1。这用于阻止误报,不是这些用例的验收通过。
当前 runner 与失败闭合行为已实现,A-02/A-03 Sidecar、B-01/B-02 凭据、C-03 沙箱许可、D-01 扩展包、S-01/S-02/S-03/S-08 Sync 客户端以及 S-04/S-05/S-06/S-07/S-09 Sync 服务 driver 已登记;其余 15 个生产验收 ID 尚未登记,运行时会生成 `NOT_IMPLEMENTED` 证据并退出 1。这用于阻止误报,不是这些用例的验收通过。