diff --git a/docs/development/OpenNexus生产化实施进度-2026-09-08.md b/docs/development/OpenNexus生产化实施进度-2026-09-08.md index af412e5..58923a0 100644 --- a/docs/development/OpenNexus生产化实施进度-2026-09-08.md +++ b/docs/development/OpenNexus生产化实施进度-2026-09-08.md @@ -914,3 +914,12 @@ Core 的独立数据目录目前不等于已授权 Vault。Python 旧笔记写 - 精确 Rust oracle 逐字段改变上述声明并核对错误码;销毁 Host Authority 后新实例使用新随机密钥,旧许可不能复活。真实启动前路径同时重新核验固定目录树、入口文件身份、Vault/策略上下文和包域 Stronghold 引用;保险库锁定时即使包不声明秘密也不能创建进程。 - 旧 Python MCP stdio 启动入口在生产配置下保持禁用。测试先完成配置摘要信任,再尝试启用,仍固定返回 `MCP_SANDBOX_REQUIRED`;renderer 或旧调用方不能用已经批准的配置绕过 Rust Host 原生启动路径。 - 提交 `4e50dfb94beaa8460a0ff08963b07ef10c42eb66` 后在只保留用户 Vault 修改的工作树运行统一 runner,summary/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 尚未登记,整体生产化目标保持未完成。 + + +## 增量:D-03 扩展事务断电、容量与配置故障生产验收 + +- 将原先只在同一进程返回注入错误的事务测试升级为真实进程终止:对 `journal_recorded`、`pointer_recorded`、`switch_committed` 三个持久化边界各启动 20 个辅助进程,辅助进程刷写边界标记后由父进程强制终止,共 60 次。每次重开 SQLite 并执行恢复,两个包槽都只能处于完整旧版或完整新版,包摘要、配置版本和 pending 状态没有混合。 +- 对同三个边界分别注入磁盘满和配置迁移失败,各 20 轮,共 120 次;错误返回后关闭连接、重开和重复恢复,结果仍为单一完整代次。真实 SQLite `SQLITE_FULL` 现在映射为公共错误 `QUOTA_EXCEEDED`,不会向调用方退化为无法区分的 `DATABASE_ERROR`。 +- 独立 oracle 核对依赖环、缺包和版本冲突在不可变计划阶段返回稳定错误;无效配置在创建安装事务前拒绝。失败后的既有执行许可仍只绑定原 `notes.read`,尝试增加 `notes.write` 返回 `PERMISSION_CHANGED`,事务恢复不签发或扩大权限。 +- 提交 `af67a2250e091ddc0a4b3a93487707447af57b20` 后在只保留用户 Vault 修改的工作树运行统一 runner,summary/case 均为 `PASSED`,5 项断言通过,耗时 35726 ms。证据目录 `H:\OpenNexus-acceptance\d03-af67a22-c314a1d271bb4add81f62ce24ca7c14c-report\`,报告标记 `contains_credentials=false`;隔离数据根已在报告生成后删除。 +- desktop Rust 全目标通过:库 141 项、Host 11 项、其余集成 9 项,合计 161 项,16 项 ignored 中包含由父用例实际调用的辅助入口及需单独运行的长时验收;D-03 driver 已显式运行新增硬终止用例。全目标 Clippy `-D warnings`、runner 7 项测试、Python 编译、Rust 格式和差异检查均通过。D-03 可记为通过;其余 14 个生产验收 ID 尚未登记,整体生产化目标保持未完成。 diff --git a/docs/development/OpenNexus生产验收Runner.md b/docs/development/OpenNexus生产验收Runner.md index 5ce344c..2f45dff 100644 --- a/docs/development/OpenNexus生产验收Runner.md +++ b/docs/development/OpenNexus生产验收Runner.md @@ -24,4 +24,4 @@ python scripts/phase3-production-acceptance.py ` 报告目录包含 `summary.json`、`case-manifest.json`、`junit.xml`、`cases/.json` 和脱敏的 `logs/.log`。摘要记录 commit、各锁文件 SHA-256、配置摘要与已提供安装产物摘要。日志将仓库、数据根、报告根、用户主目录和配置声明的秘密值替换为占位符,并限制为 10 MiB。报告目录必须为空,避免单例复跑覆盖原始证据。 -当前 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。这用于阻止误报,不是这些用例的验收通过。 +当前 runner 与失败闭合行为已实现,A-02/A-03 Sidecar、B-01/B-02 凭据、C-03 沙箱许可、D-01/D-03 扩展包与事务、S-01/S-02/S-03/S-08 Sync 客户端以及 S-04/S-05/S-06/S-07/S-09 Sync 服务 driver 已登记;其余 14 个生产验收 ID 尚未登记,运行时会生成 `NOT_IMPLEMENTED` 证据并退出 1。这用于阻止误报,不是这些用例的验收通过。