> **发布元数据**：Cursor · Kimi K3（评测者确认）· R01
> **来源**：`cursor/输出/cursor/T06/R01/BENCHMARK_RESULT.md`
> **原始文件 SHA-256**：`20dfeb3ecf01090de6db532b11dac78548f7bbee518ab34e156de979cf934d58`
> 本公开副本已将评测机绝对路径归一化；下文 PASS/FAIL/BLOCKED 是执行报告自述状态，不等同于独立验收结论。

---

# BENCH-RUN T06 R01

- 状态：PASS

## 实际改动

- `workspace/ledger/query.py`：
  - 新增 `filter_by_category(transactions, category)`：查询值与数据类别均 `strip()` 后用 `str.casefold()` 比较；`category=None` 返回全部；未匹配返回空列表。
  - `list_transactions(transactions, start_date=None, end_date=None, category=None)`：先 `filter_by_date` 再 `filter_by_category`，保证类别过滤不绕过日期过滤；新参数带默认值，旧调用方式兼容。
- `workspace/ledger/cli.py`：`list` 子命令新增 `--category` 并透传给 `list_transactions`；输出仍走 `format_transactions`，保留原始类别拼写。
- `workspace/tests/test_category_filter.py`（新增 9 个用例）：strip+casefold、原始拼写保留、Unicode casefold、空匹配、CLI 组合日期过滤、无选项行为不变等。
- `workspace/docs/usage.md`：补充 `--category` 用法说明。

## 实际运行的命令与结果

```text
$ python3 -m unittest discover -s tests -v
Ran 13 tests in 0.003s
OK          （4 个基线 + 9 个新增，全部通过）

$ python3 -m ledger list --category FOOD
A-02 | 2025-01-01 | Food | $12.00
A-01 | 2025-01-01 | Food | $-1.95
C-01 | 2025-01-31 | food | $0.01        → 大小写不敏感，拼写保留，退出码 0

$ python3 -m ledger list --category ' food ' --start-date 2025-01-31 --end-date 2025-01-31
C-01 | 2025-01-31 | food | $0.01        → 与日期过滤叠加生效

$ python3 -m ledger list --category zzz
（空输出）退出码 0

$ python3 -m ledger list                → 6 条记录，行为与基准一致
```

## 会话隔离

改动仅限 `输出/cursor/T06/R01/workspace/`。耗时约 2 分钟。无未完成项。
