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

---

# BENCH-RUN T08 R01

- 状态：PASS

## 复现（修复前）

```text
$ python3 -m unittest discover -s tests_t08 -v
ValueError: missing CSV columns: id
Ran 1 test ... FAILED (errors=1)
```

## 根因

`tests_t08/data/legacy-export.csv` 以 UTF-8 BOM（`EF BB BF`，经 `od -c` 确认）开头。`ledger/storage.py::load_transactions` 用 `encoding="utf-8"` 打开文件，BOM 被并入首列表头，使 `csv.DictReader` 读出的首列名变成 `"\ufeffid"` 而非 `"id"`，必需列校验 `{id, date, category, amount}` 因而不通过，报 "missing CSV columns: id"。

## 改动位置

仅改生产代码 `workspace/ledger/storage.py` 一行：打开编码 `"utf-8"` → `"utf-8-sig"`。`utf-8-sig` 在读取时自动剥离 BOM，对无 BOM 的普通 UTF-8 文件行为与 `utf-8` 完全一致，不影响默认数据文件。未改动 `tests_t08/` 的测试与数据，未捕获/吞掉错误，未加依赖。

## 修复后两条命令实际结果

```text
$ python3 -m unittest discover -s tests_t08 -v
Ran 1 test in 0.002s
OK

$ python3 -m unittest discover -s tests -v
Ran 4 tests in 0.002s
OK
```

## 会话隔离

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