# case: watch-respects-status-filter

### 用例意义

验证 `watch --status` 只会对匹配状态的后续事件唤醒。

### 前置条件

- 存在一个会被推进到 `blocked` 的线程 `THREAD_ID`
- `watch` 以 `--status blocked` 先启动

### 输入

```bash
inbox --db TMPDIR/coord.db --json watch --agent worker-c --status blocked --timeout-seconds 2
inbox --db TMPDIR/coord.db --json update --agent worker-c --thread THREAD_ID --status blocked --summary "Need policy decision"
```

### 预期输出

- `watch` 只在线程进入 `blocked` 后返回
- 返回的 `thread.status == "blocked"`

### 断言结论

- `watch` 的状态过滤作用在“事件发生后的线程状态”上
- `--status` 默认值为 `pending,blocked,done,failed`；未显式传入时，`watch` 不是只观察 `pending`
- 显式传入 `--after-event` 时，`watch` 会从该事件游标之后恢复，允许调用方断点续看

