归档本轮 P0/P1 bug 修复、设计审查迁移、AI selection scope 收口与 stream contract 调整,并保留当前 05 主线迁移起点。
2.1 KiB
2.1 KiB
4-47 [done][bug] stream_support 回归样例仍保留退役 tree.resource.delete 命名
发现时间:2026-05-18
状态:
[done]关联主线:
04-tree-domain
1. 问题定义
当前资源生命周期正式命令面使用 tree.resource.archive / restore / purge / rename,删除到垃圾箱语义应表达为 tree.resource.archive。但 stream_support 的 remove asset delta 回归样例仍保留 tree.resource.delete。
该残留不在 runtime command dispatcher 中,但会让 stream 合同样例继续暗示退役命名合法,增加后续实现和测试口径漂移风险。
2. 证据
- stream_support.rs 测试样例仍写
"command_name": "tree.resource.delete"。 - tree.rs 当前 tree shell dispatcher 已公开
tree.resource.archive。 - mapping.rs storage bridge 已映射
tree.resource.archive,没有tree.resource.delete。
3. 影响
- 回归样例与当前资源命令面不一致。
- 后续维护者可能继续按
delete扩写 stream / resource lifecycle 合同。 - 与
design/04-tree-domain/process/4-27-resource-lifecycle-command-cutover-v1.md中“delete 改为 archive”的口径冲突。
4. 修复结果
- stream_support.rs 的 remove asset delta 回归样例已把
tree.resource.delete改为tree.resource.archive。 rg已确认 Rust route / storage bridge 中不再残留tree.resource.delete。- 对应
stream_change_preserves_remove_asset_delta_fields回归测试已通过。
5. 验证证据
rg -n "tree\\.resource\\.delete" rust/crates/mnote-web/src/routes
cargo test --manifest-path rust/Cargo.toml -p mnote-web stream_change_preserves_remove_asset_delta_fields -- --nocapture
验证结果:
rg无输出。stream_change_preserves_remove_asset_delta_fields通过:1 passed。