docs(acceptance): 记录 S-01 生产验收证据

This commit is contained in:
2026-09-09 09:25:03 +08:00
parent 640e45196f
commit 35192619b8
@@ -790,3 +790,12 @@ Core 的独立数据目录目前不等于已授权 Vault。Python 旧笔记写
- B-02 driver 只运行仓库固定的 exact Rust oracle,登记 6 组断言及 Fernet 夹具 SHA-256。首次在未提交源码上运行虽得到测试成功,但 summary 只能指向旧 HEAD,已明确弃用该报告;runner 随即增加非 Vault 源码脏状态拒绝和模板 run ID 拒绝,避免 commit 与被测代码不一致。用户 Vault 修改继续排除在源码洁净判定之外。
- 提交 `fac8cd7` 后在只保留用户 Vault 修改的工作树运行 `python scripts/phase3-production-acceptance.py --suite credentials --case B-02 ...`,退出 0summary 与 case 均为 `PASSED`commit 为 `fac8cd7ad458838ceb25c139b496f5b88d00b3b5`,6 项断言通过,耗时 32275 ms。证据目录 `.build/acceptance/b02-fac8cd7-36b36a78f92b4d04a5120a19eb259287/`,不含凭据。
- 最终 desktop Rust 全目标 148 通过、12 ignored,日志 `.build/b02-rust-full.log`;全目标 Clippy `-D warnings` 通过(`.build/b02-clippy.log`),runner 6 项测试、Python 编译、Markdown 链接检查通过。B-02 可记为通过;迁移每个持久化边界强杀、明确清除旧文件、旧版本写入阻止和 UI 恢复属于 B-04/端到端门禁,仍未完成,整体生产化目标保持未完成。
## 增量:S-01 离线链与响应丢失生产验收
- 扩充实际 Uvicorn + Rust 双客户端用例:客户端 A 在首次连接前连续写同一文件 20 次,客户端 B 拉取后也在不进行网络调用时连续写 20 次;各自 pending 数在联网前均为 20,最终正文、内容摘要和稳定 file_id 在两端一致。
- 测试服务增加只在隔离 marker 存在时启用的 revision 响应闸门。服务完成数据库提交后写入测试标记并暂缓返回;父测试在该点强杀实际 Rust 客户端辅助进程。重新打开同一 Workspace 后 20 个 pending 全部仍在,证明服务端提交没有被误当成本地确认,也没有因进程终止静默丢队列。
- 对丢失响应的同一 operation/payload 直接重放 100 次,全部返回原 sequence 1;本地仍保留 20 个 pending。随后正常 `push_one` 取得同一回执,只确认第一项并留下 19 项,最终逐项提交得到 20 条连续 revision,逐条满足 `base_revision = sequence - 1`,重复 push 返回空。
- S-01 driver 固定调用上述 exact 集成 oracle,登记 5 组断言、两个测试源文件摘要和 20/100 revision 计数。提交 `fb947c6` 后由干净源码运行统一 runner,退出 0summary/case 均为 `PASSED`commit 为 `fb947c6658453ded5ee0a11e0d8538834d0192c8`,5 项断言通过,耗时 52330 ms。证据目录 `.build/acceptance/s01-fb947c6-49bf176d2f2d42699f620e22d7349598/`
- Sync 服务全套 29 项通过、2 项依赖弃用警告(`.build/s01-sync-server.log`);desktop Rust 全目标 148 通过、13 ignored(新增的 ignored 是由父测试实际启动并强杀的 revision 辅助入口),日志 `.build/s01-rust-full.log`;全目标 Clippy 通过(`.build/s01-clippy.log`)。S-01 可记为通过;100 MiB 每边界续传、完整改删/rename/历史恢复矩阵与分类 schema 门分别属于 S-02/S-03/S-08,仍保持未完成。