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

---

# BENCH-RUN T11 R01

- 状态：PASS

## 实际改动

- `workspace/ledger/query.py`：
  - 新增 `sort_transactions(transactions, sort_by="date", order="asc")`：`date`/`amount` 键与 `id` 组成元组，`id` 单独作键；`sorted(..., key=..., reverse=(order=="desc"))`；主键相同时 `id` 升序打破并列（`--sort-by id --order desc` 时主排序即 id 降序）。非法字段/方向抛 `ValueError`。
  - `list_transactions(..., sort_by="date", order="asc")`：**先** `filter_by_date` **后** `sort_transactions`，排序不改变过滤结果；新参数带默认值，旧调用兼容。
- `workspace/ledger/cli.py`：`list` 新增 `--sort-by {date,amount,id}`（默认 `date`）与 `--order {asc,desc}`（默认 `asc`）；非法取值由 argparse 标准参数错误拒绝并 `SystemExit(2)`。
- `workspace/tests/test_sorting.py`（新增 14 个用例）：各排序键/方向、id 并列打破、与输入顺序无关的稳定性、排序在过滤之后、非法值非零退出、默认行为不变。
- `workspace/docs/usage.md`：补充排序选项用法说明。

调试记录：首版测试中 2 处对基线**排除式**日期边界的预期写错、2 处未捕获 argparse 的 `SystemExit`，均为新增测试自身问题，已修正后全绿；生产代码未因此改动。

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

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

$ python3 -m ledger list
E-01 | 2024-12-31 | ...   → 默认按日期升序（基线顺序，行为不变）

$ python3 -m ledger list --sort-by amount --order desc
B-01 ... A-02 ... D-01 ... E-01 ... C-01 ... A-01   → 金额降序

$ python3 -m ledger list --sort-by id --order desc   → id 降序 E-01 起

$ python3 -m ledger list --sort-by bogus
ledger list: error: argument --sort-by: invalid choice: 'bogus' ...   → 退出码 2
```

## 会话隔离

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