# Case: `cleanup-rejects-attempt-without-task`

## 用例意义

验证 `cleanup` 在使用 `--attempt` 精确选择尝试时，要求同时提供 `--task`，避免对 run 级别尝试号产生歧义。

## 前置条件

- 已创建运行 `run_blog_cleanup_002`

## 输入

```bash
orch --db TMPDIR/coord.db --json cleanup --run run_blog_cleanup_002 --attempt 1
```

## 预期输出

- 退出码为 `30`
- JSON 错误码为 `invalid_input`

## 断言结论

- `cleanup` 的选择器组合在查询前就会进行基本输入校验
- `--attempt` 不是独立的 run 级过滤器，必须依附具体 `task`

## 补充约束

- 若既未提供 `--task`，也未提供 `--attempt` 或 `--all-completed`，同样应返回 `invalid_input`
