# 开发记录

本文按版本记录 Aurum 的功能变化和验证事实。项目负责人确定项目方向、维护范围和交付目标；AI 辅助了代码分析、实现与修复、测试、示例及文档整理。下列测试和 CI 结果说明对应输入下的实现行为，不代表外部用户验证或对所有金融业务口径的适用性保证。

## 2026-09：模块边界与数值契约

- 明确金额类型使用整数最小单位，补充十进制解析、舍入、币种一致性及溢出边界。
- 完善时间价值、资本预算、还款、折旧、债券、比率与汇率示例的输入约束和失败语义。
- 增加模块测试、跨模块示例、CLI 演示及 CI 工作流；扩展金额分摊、现金流明细和按最小单位舍入的还款计划。
- 上述模块构成项目初始范围；后续改动以具体提交和验证记录为准。

## 2026-10-11：NPV 合计的数值稳定性

- 在 `capital.net_present_value` 中加入 Neumaier 补偿求和，缓解量级悬殊的正负现值相加时小额项被丢失的问题。
- 增加抵消输入 `[1e16, 1, -1e16]`、折现率为 `0` 的回归测试，预期合计为 `1`；CLI 增加对应演示。
- 该改进仍使用 `Double`，不提供任意精度或金融业务适用性保证。

## 2026-10-12：场景演示、复现说明与持续集成

- 整理金额分摊、周期现金流和按分还款三个固定输入场景，并让演示在关键结果不符时以失败状态退出。场景为设计示例，没有真实用户访谈或效果数据。
- 补充完整导入示例和从公开仓库复现的步骤；CI 运行格式检查、类型检查、测试、CLI 与两个场景演示。
- 根据工具链版本差异固定 CI 使用的 MoonBit 编译器版本，降低格式和构建结果随安装器更新而变化的风险。
- 最新公开版本的 [GitHub Actions 检查](https://github.com/Lyllyl789/aurum/actions/runs/38268553500)通过格式、类型、测试和三个演示步骤。

## AI 辅助与责任边界

AI 参与了上述部分实现、测试执行、故障定位、文档和 CI 修改，相关提交注明了 AI 辅助。项目负责人确定项目方向、改进范围和最终交付；详细的协作方式与责任边界见[AI 辅助说明](ai-assistance.md)。
