4.3 KiB
红利再投来源、入账时钟及流式完整性
2026-09-14。候选未发布;完整Goal继续。
先核对语义
读取AiQuant alv/portfolio/accounts/position_model.py::_handle_dividend_payable与FIDC原实现后确认:现有开关是历史兼容的账务再投模型,按调整后的参考价分配整手股数、零费用,不是交易所委托。不能把盘前分配直接解释成市场成交提前发生,也不能为了修时钟擅自改为开盘价、收费市价单或调用GT。
保留此价格/数量/费用合同,新增明确FillOrigin::DividendReinvestment及结算入账时刻。普通市场成交默认来源不序列化,旧普通字段和原历史不改写。账务来源不得携带委托编号、市场时钟或手续费;规则由Core验证。
实际错误与修复
- 红利再投缺来源/时间,被手工公司行为复算当作09:30市场成交,09:15的回报因此报“future financial fact”。现在正常与复算使用同一结算模型,账务分配按结算阶段处理,不伪造或重跑市场订单。
- 已观察时点的原账务记录保留。迟到成交改变已知权益后,重新计算账务分配并记录校正;它不是不能改变的交易所成交。1000股额外买入的例子,最终2200股,与及时观察对照一致,权益现金调整155。
- 每日计数/流式切片原来在盘前结算之后才开始,漏掉晨间再投和周末回报。现从会话处理前开始,下一代表交易日完整交付期间观察,原实际观察时间不改,不补造非交易日行情。
- 活跃证券缺参考价/元信息明确失败,结算批次原子回滚;终止上市等已证明生命周期不允许分配时保留现金并记录原因,不重建旧证券。未改变ST/停牌等市场委托风控:账务模型不代表市场买入获准。
交付
Runner对明确账务来源生成独立记录,不要求或伪造委托。API分开市场成交与账务分配的件数/金额;合入手工成交时也不把账务金额加回市场成交额。兼容总事件数仍保留,新增市场件数和账务件数。账务时钟在传输时显式带上海偏移;不猜测旧普通记录的时区。
提交能力增加accounting_allocations:v1,旧消费者不能处理本轮完整手工合同。Core能力说明和FIDC策略Agent注册表同步澄清其历史账务性质,新策略仍不得自行编写公司行为处理。
验证
本机Core901、Trading625、Runner463/API129及三项私有PG通过;原ignore单列。前端2278测试、类型/定向lint/主题检查与独立构建通过。共享Rust投影的实际表格在1440/390明暗四组无文档溢出、错误或交易写入;窄屏表格保留横向滚动。初验发现无时区标记及独立挂载缺少工作台令牌导致浅色选中项不清晰,已修正生产投影和共享组件令牌回退,复验通过。
旧价8.95、100股、零费用仍相同;无委托来源及进度覆盖、周末观察、迟到权益再投、非法来源拒绝、缺参考原子失败和退市现金保留均有专项。机械字段迁移时重复插入和测试导入问题在编译阶段纠正,不计作业务通过。
本次只证明这些边界,不等于真实Source/GT权益到账或全参数完成。仍须做后继证券范围、目标状态、持仓清空后参考与跨模式ETF的完整核对;实际Source/Runner及Arrow候选准入仍受Source冻结约束。Linux和发布证据另列,不能复用旧ZAnvlO等收据。
Linux配套验收
已推送:Engine984f9d3、Service234d85b、Tradingd7d4925、UId9f7907d(双远端)、Agentc739854。177引擎开发树已ff到984,保留Service并行5991e77。978文件只读reinvestment-20260914-dBw0O5快照与独立build根,4CPU/12GiB、boris执行、1GiB空间线保持。
Linux Core901、Trading625、Runner/API594全部通过,源码前后不变;原9/63/16项ignore不计。新收据linux-tests.json及runtime.json。本批测试已结束,不重复启动或覆盖历史收据;无新的release构建和发布tag。
生产UI及五后端PID/实际SHA保持前阶段值,Source d5/PID1700096、tracked clean。没有生产重启、配置/账户/通知写入或实际券商请求;完整Goal继续剩余矩阵与正式数据准入。