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

---

# BENCHMARK_RESULT — T08 R01

**状态：PASS**

## 根因说明

`tests_t08/data/legacy-export.csv` 文件开头带有 UTF-8 BOM（字节 `ef bb bf`，已用 `xxd` 验证）。生产代码 `ledger/storage.py` 的 `load_transactions()` 用 `encoding="utf-8"` 打开文件，BOM 未被剥离，导致首列表头被解析为 `\ufeffid` 而非 `id`，必需列校验缺失 `id`，抛出 `ValueError: missing CSV columns: id`。

## 改动位置

- `workspace/ledger/storage.py` 第 13 行：`encoding="utf-8"` → `encoding="utf-8-sig"`（仅生产代码一行改动；`utf-8-sig` 在无 BOM 文件上与 `utf-8` 行为一致）。
- 未修改 `tests_t08/test_csv_import.py`、未修改测试数据 `legacy-export.csv`，未增加依赖。

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

1. 复现（修复前），在 workspace 下执行 `python3 -m unittest discover -s tests_t08 -v`：
   - 退出码 1，输出要点：`test_loads_single_record ... ERROR`，`ValueError: missing CSV columns: id`，`FAILED (errors=1)`。
2. 修复后同一命令 `python3 -m unittest discover -s tests_t08 -v`：
   - 退出码 0，输出要点：`test_loads_single_record ... ok`，`Ran 1 test`，`OK`。
3. 回归 `python3 -m unittest discover -s tests -v`：
   - 退出码 0，输出要点：4 个测试（test_baseline 全部）均 `ok`，`Ran 4 tests`，`OK`。
4. 验证改动范围：`git status --short` 仅显示 `M ledger/storage.py`；`git diff --stat` 为 `1 file changed, 1 insertion(+), 1 deletion(-)`。

## 耗时

- 开始：`2026-09-24 10:29:41 CST`
- 结束：`2026-09-24 10:30:42 CST`
- 约 1 分钟。

## 未完成项

无。

## 会话隔离状态

本题为独立子会话执行。所有读写均限定在本次运行的独立 workspace（`输出/kimi-code/T08/R01/workspace`，冻结提交 ed2390f2df8252f062abd9123e20f6fffca7e5ed 的完整副本）与本结果文件路径内；未修改题目源文件、基准仓库或其他运行目录。未知元数据：UNKNOWN。
