用途:审计、设计与测试金融系统中的不变量,确保金额精度、账本平衡、账户状态、对账与监管正确性,适用于支付、账本、结算等场景。
主要能力:先梳理领域,列出范围内的金融对象,追踪数据入口,记录余额真源、生命周期状态、标识符、舍入规则与审计记录;在改动前先声明不变量(如“已过账的账本条目不可变”),先检查现有行为,仅在代码与测试无法揭示规则时才询问用户;通过公共服务、API、命令或任务测试不变量,覆盖正常过账、边界金额、币种不匹配、非法状态转换、冲正与更正、重试操作。
核心不变量:金额使用整数最小单位、定点小数或既有货币类型,绝不用浮点数;每个边界与存储中币种显式;舍入规则具名并集中管理(模式、精度、时机、司法辖区);账本记录仅追加,除非明确允许更正;每笔已过账分录、转账或结算批次借贷平衡;账户与交易状态构成显式状态机,仅允许合法转换;冲正、退款、拒付、取消与更正保留审计轨迹;保留外部标识符用于对账与争议调查;时间敏感规则使用受控时钟与明确生效日期。
使用方式:按工作流先映射领域并声明不变量,再检查现有行为,随后通过公开接口测试,最后防御性实现,如类型化值对象、模式或数据库约束、写入边界附近的检查、多记录写入使用数据库事务、以领域错误命名不变量。
限制与护栏:不得静默更改舍入、精度、账户状态或余额语义;不得在没有重建或对账计划时新增派生余额字段;除非用户要求迁移或修复脚本,不得在代码中修复历史数据;金融正确性优先于小幅降低代码复杂度。具体安装命令与平台支持暂未提供。