> **发布元数据**：Kimi Code · Kimi K3（评测者确认）· R01
> **来源**：`kimi-code/输出/kimi-code/T05/R01/BENCHMARK_RESULT.md`
> **归属更正**：此批结果由 Kimi Code 执行；历史输出 slug `zcode` 为命名错误，原始报告 SHA-256 留存。
> **原始文件 SHA-256**：`2708a64e04d697daa2d491d27f25a9e91991a2945c41ffb6f72901907385723f`
> 本公开副本已将评测机绝对路径归一化；下文 PASS/FAIL/BLOCKED 是执行报告自述状态，不等同于独立验收结论。

---

PASS

# T05 R01 执行结果

## 实际改动文件清单与摘要

- `ledger/summary.py`：新增可复用函数 `summarize_by_category(transactions)`，返回 `{原始类别文本: 整数分总和}` 字典；未改动 `summarize` / `format_summary`。
- `ledger/cli.py`：`build_parser` 中 summary 子命令新增 `--format`（`choices=["json"]`，默认 `None`）；`main` 的 summary 分支在 `--format json` 时构造 `{count, total_cents, by_category}` 并 `print(json.dumps(payload, sort_keys=True, ensure_ascii=False))`（stdout 仅 JSON）；默认分支仍调用 `format_summary(summarize(transactions))`，逐字节不变。
- `tests/test_summary_json.py`（新增）：5 个用例——JSON 可解析且含三字段、整数值（count=6、total_cents=11756）、by_category 键为原始类别文本且值正确（含 "家庭"、"Food"/"food" 区分）、键序等于 `sorted(keys)`（Unicode 码点升序）、stdout 仅 JSON、默认文本输出逐字节断言 `"Transactions: 6\nTotal: $117.56\n"`、`summarize_by_category` 与 fixture 一致。
- `docs/usage.md`：在「汇总」一节补充 `--format json` 用法说明。

未删改 `tests/test_baseline.py` 及任何既有测试；未新增依赖；未修改题目源文件、基准仓库或其他运行目录。

## 实际运行的命令及原始结果

开始时间：`date` → `Thu Sep 24 10:20:56 CST 2026`
结束时间：`date` → `Thu Sep 24 10:22:57 CST 2026`（耗时约 2 分钟）

### `python3 -m unittest discover -s tests -v`（cwd=workspace，退出码 0）

```
test_default_fixture_loads (test_baseline.BaselineSmokeTests) ... ok
test_default_summary_shape (test_baseline.BaselineSmokeTests) ... ok
test_list_command_runs (test_baseline.BaselineSmokeTests) ... ok
test_valid_money_inputs (test_baseline.BaselineSmokeTests) ... ok
test_by_category_values_and_key_order (test_summary_json.SummaryJsonTests) ... ok
test_default_text_output_unchanged (test_summary_json.SummaryJsonTests) ... ok
test_json_output_parses_and_has_fields (test_summary_json.SummaryJsonTests) ... ok
test_stdout_is_json_only (test_summary_json.SummaryJsonTests) ... ok
test_summarize_by_category_matches_fixture (test_summary_json.SummaryJsonTests) ... ok

----------------------------------------------------------------------
Ran 9 tests in 0.003s

OK
```

### `python3 -m ledger summary --format json`（退出码 0）

```
{"by_category": {"Food": 1195, "Transit": 200, "Travel": 10010, "food": 1, "家庭": 350}, "count": 6, "total_cents": 11756}
```

### `python3 -m ledger summary`（退出码 0）

```
Transactions: 6
Total: $117.56
```

### 稳定性验证

连续两次运行 `python3 -m ledger summary --format json`，stdout 逐字节相同（`STABLE: identical`）；输出经 `json.load` 解析成功。

### `git status --porcelain`（workspace 内）

```
 M docs/usage.md
 M ledger/cli.py
 M ledger/summary.py
?? tests/test_summary_json.py
```

HEAD 保持冻结提交 `ed2390f Freeze ledger benchmark fixture v1`（未做 commit）。

## 未完成项

无。元数据未知项：UNKNOWN（无相关未知元数据）。

## 会话隔离状态

本题为独立子会话执行；所有读写均限定在 `<评测根目录>/kimi-code/输出/kimi-code/T05/R01/workspace` 内，结果文件写入 `<评测根目录>/kimi-code/输出/kimi-code/T05/R01/BENCHMARK_RESULT.md`。未联网，未增加运行时依赖。
