Capture fail-closed gates without claiming live Unit A or 6173 e2e PASS. Co-authored-by: Cursor <cursoragent@cursor.com>
1.6 KiB
1.6 KiB
FAV 演练:scratch 恢复(独立报告)
一、 测试背景 (Background)
方案要求恢复目标必须是 scratch identity,默认 recover-as-collection,union-deny 删除,禁止写回 dev/test/main。
二、 测试目标 (Test Objectives)
ValidateRecoverTarget拒绝agent_system_dev/test/main。- relink 在冲突/缺授权时失败。
- union-deny tombstone 后
DegradedPayload拒绝。
三、 测试方案与环境 (Test Plan & Environment)
内存 registry + tempfile vault。cmd/artifact-vault recover-plan/apply 仅编译,未对现网 DSN 执行 apply。
四、 预期结果 (Expected Results)
operational DSN 拒绝;scratch 计划通过;denied/relink+conflict 失败;tombstone 后不可读。
五、 实际测试结果与判定 (Actual Results & Evaluation)
- 测试输入:
TestRecoverRejectsOperationalDSN、TestRecoverPlanGates、TestTombstoneUnionDeny - 实际输出:
postgres://x/agent_system_dev→ refusepostgres://x/fav_scratch→ accept- union-deny → degraded read error
- 评价判定: PASS(计划校验);live scratch 库 apply 未执行(避免误连 operational)
- 性能与耗时: <10ms
六、 自动化测试套件汇总 (Test Suite Execution)
见 unit-tests.txt。go test -c ./cmd/artifact-vault 编译通过。
七、 测试结论与后续优化建议 (Conclusion & Next Steps)
恢复工具默认 scratch-only。项目 6173 等价「终态→发布→清 workspace→降级读→scratch 恢复→app rebuild」需 Unit A 后另占槽,不得声称已拦截任意 rm。