Vibe-Trading Wiki
🔍
模块知识库/Vibe-Trading 量化交易智能体平台/Vibe-Trading Agent 核心运行时/实盘交易通道(Live Trading Channel)/持久化实盘交易运行时(调度 心跳 对账 触发器)/编码规范
  • 所有外部副作用(scheduler、agent_caller、reconcile_fn、read_*、flatten_fn、heartbeat_fn、clock)均以构造函数参数注入,默认值指向模块内函数或 stdlib,便于单元测试替换。
  • 持久化统一采用“同目录临时文件 + os.replace + fsync”模式(jobstore.save、liveness.write_heartbeat、reconcile._persist_state),确保 SIGKILL 下不会出现截断文件。
  • 时间一律以 epoch 毫秒为单位在纯函数间传递(scheduler.due_jobs、triggers.due_now、liveness.is_runner_alive),仅在最外层 _now_ms 读取墙钟,保证决策逻辑可冻结时间测试。
  • 对账与中止路径严格遵循 no-retry:任何 broker 调用异常仅记录到 report.errors 并继续,绝不重试,避免重复下单。
  • 关键状态变更前写 live-action audit 记录(runner._audit、flatten._audit),审计失败被吞掉但不阻塞主流程,保证审计缺失不会让 tick 误判为已执行。
  • 通过 frozen dataclass + classmethod 工厂构造不可变描述符(Trigger、Job、ReconcileDelta、ReconcileReport),防止运行时被意外修改。
← 特殊配置与命令 技术栈 →