# 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](/mnt/Data1T/mnote/rust/crates/mnote-web/src/routes/stream_support.rs:1057) 测试样例仍写 `"command_name": "tree.resource.delete"`。 - [tree.rs](/mnt/Data1T/mnote/rust/crates/mnote-web/src/routes/tree.rs:714) 当前 tree shell dispatcher 已公开 `tree.resource.archive`。 - [mapping.rs](/mnt/Data1T/mnote/rust/crates/storage-convex-bridge/src/mapping.rs:47) 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](/mnt/Data1T/mnote/rust/crates/mnote-web/src/routes/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. 验证证据 ```bash 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`。