# Case: `cleanup-returns-no-matching-work-when-filters-miss`

## 用例意义

验证 `cleanup` 在筛选条件没有命中任何可清理 worktree 时，返回稳定的“无匹配工作”契约，而不是成功空列表。

## 前置条件

- 已创建运行 `run_blog_cleanup_003`
- 已创建任务 `T1`
- 当前 run 中不存在 `workspace_status` 为 `completed` 或 `abandoned` 的 worktree 尝试

## 输入

```bash
orch --db TMPDIR/coord.db --json run init --run run_blog_cleanup_003 --goal "Validate cleanup empty result"
orch --db TMPDIR/coord.db --json task add --run run_blog_cleanup_003 --task T1 --title "Prepare cleanup target"
orch --db TMPDIR/coord.db --json cleanup --run run_blog_cleanup_003 --task T1
```

## 预期输出

- `cleanup` 退出码为 `10`
- JSON 错误码为 `no_matching_work`

## 断言结论

- `cleanup` 对空筛选结果使用显式 no-matching-work 信号，而不是返回成功空数组
- leader 或脚本可以据此区分“没有候选 worktree”与“清理已成功完成”

## 补充约束

- 该契约同样适用于使用 `--all-completed` 或 `--attempt` 时筛选不到候选的场景
