Files
mnote/bugs/04-tree-domain/done/4-47-stream-support-retired-resource-delete-command-v1.md
lix-2026 a2cb1338c8 chore: 保存当前架构收口与 bug 修复快照
归档本轮 P0/P1 bug 修复、设计审查迁移、AI selection scope 收口与 stream contract 调整,并保留当前 05 主线迁移起点。
2026-05-18 17:01:35 +08:00

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