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

---

BENCH-RUN T08 R01

# T08 失败测试诊断

## 结果
PASS

## 复现
`python3 -m unittest discover -s tests_t08 -v` 初始：
```
ERROR: test_loads_single_record
ValueError: missing CSV columns: id
```

## 根因
`tests_t08/data/legacy-export.csv` 以 UTF-8 BOM（字节 `EF BB BF`）开头。`ledger/storage.py` 的 `load_transactions` 用 `encoding="utf-8"` 打开文件，BOM 未被剥离，`csv.DictReader` 把第一个字段名读成 `\ufeffid` 而非 `id`，导致必需列校验判定 `id` 缺失而抛 `ValueError`。

## 改动位置
- `ledger/storage.py`（生产代码）：`load_transactions` 将打开编码由 `utf-8` 改为 **`utf-8-sig`**。带 BOM 时剥除 BOM；无 BOM 文件解码结果与 `utf-8` 完全一致，行为不变。
- 未触碰 `tests_t08/test_csv_import.py` 或其数据文件；未通过捕获错误让测试"变绿"；未增加运行时依赖。

## 实际运行的命令与结果
- `python3 -m unittest discover -s tests_t08 -v` → Ran 1 test，**OK**。
- `python3 -m unittest discover -s tests -v` → Ran 4 tests，**OK**（无回归）。

## 耗时
约 3 分钟。

## 未完成项
无。

## 会话隔离状态
仅修改 `输出/workbuddy/T08/R01/workspace/`，未触碰基准仓库、题面或其他目录。
