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

---

# BENCH-RUN T03 R01

- 状态：PASS

## 实际改动

- `workspace/ledger/money.py`：重写 `parse_money(value)`。
  - 整数（显式排除 `bool`）返回 `value * 100`。
  - 字符串用模块级编译的 `_MONEY_RE = re.compile(r"^-?\d+(\.\d{1,2})?$")` 严格匹配后按十进制手工换算为整数分（`int(whole)*100 + int(fraction)`，一位小数补零），不再经过 `float`，避免二进制浮点误差与静默四舍五入。
  - 浮点数、布尔值、空串、首尾空白、非数字、前导 `+`、超过两位小数、其他类型全部抛 `ValueError("invalid money value")`。
  - 函数名与调用方式不变；未改动其他模块；未增加依赖（仅用标准库 `re`）。
- `workspace/tests/test_money.py`（新增）：覆盖 `12→1200`、`"12"→1200`、`"12.3"→1230`、`"-0.01"→-1`、`"12.34"→1234` 及全部要求拒绝的输入类别。

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

```text
$ python3 -m unittest discover -s tests -v
Ran 10 tests in 0.001s
OK          （原 4 个基线测试全部保留并通过 + 新增 6 个）

$ python3 -m ledger list      → 正常列出 6 条记录，退出码 0
$ python3 -m ledger summary   → Transactions: 6 / Total: $117.56，退出码 0
```

（`list` 输出中负金额显示 `$-1.95` 是基线 `formatting.py` 的已知缺陷，属 T10 范围，本题不涉及。）

## 会话隔离

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