阶段2B前置收尾完成报告 v0.2.0
审计时间: 2026-09-12T15:50:00+08:00 | 状态: DRAFT
执行摘要
| 任务 |
状态 |
关键发现 |
| 任务1:三方对账 |
✅ 完成 |
75cron vs 66yaml,差异9条(4条Hermes内置) |
| 任务2:A类静默失败审计 |
✅ 完成 |
monthly_mainin已废弃,hb_factorminer从未运行 |
| 任务3:2A版本Tag确认 |
✅ 完成 |
采用方案C:单一final tag v0.2.0-draft |
| 任务4:2B总体框架 |
✅ 完成 |
SQLite+16种事件+DAG引擎+影子运行 |
任务1:三方对账差异表
数据总览
| 指标 |
数量 |
| hermes cron list |
75条 |
| registry/tasks.yaml |
66条 |
| 未匹配 |
9条 |
| Hermes内置插件 |
4条 |
| 活跃待注册 |
49条 |
| A类脚本 |
12个 |
| B类废弃 |
2个 |
| C类待确认 |
10个 |
未注册任务分类
Hermes内置(不纳入tasks.yaml):
- qianzhan-daily-report
- memory-compact记忆压缩守护
- 💓 心跳监控watchdog
- 心跳自愈系统
活跃待注册:
- 📊 每日综合摘要(09:00)
- 📊 每周周报(周日21:00)
- 📊 研报深度分析推送
- 📊 月度复盘(每月1日)
- 🔍 cron健康审计(23:00)
- 📈 评估滚动反馈(18:00工作日)
- ...等49个任务
立即行动
# 补充注册49个任务到tasks.yaml
# 统一路径格式为绝对路径
任务2:A类静默失败审计
脚本存在性验证
| 脚本名 |
状态 |
处理 |
| monthly_mainin_snapshot.py |
✗ NOT FOUND |
B类废弃 |
| monthly_mainin_backtest.py |
✗ NOT FOUND |
B类废弃 |
| resonance_pipeline.py |
✓ EXISTS |
A类,路径更新 |
| hb_beta_accumulator.py |
✓ EXISTS |
A类,已deprecated |
| hb_alpha_ledger.py |
✓ EXISTS |
A类,路径更新 |
| hb_factorminer_mining.py |
✓ EXISTS |
P1:从未运行 |
P0告警缺口识别
| 问题 |
严重程度 |
描述 |
| monthly_mainin快照/回测连续失败 |
P0 |
2个脚本不存在,但无告警 |
| 无全局失败告警机制 |
P0 |
单任务失败不影响其他,缺乏整体熔断 |
| hb_factorminer从未运行 |
P1 |
配置错误,因子挖掘任务失效 |
修复建议
- P0立即处理:确认monthly_mainin脚本是否已迁移或删除,添加全局失败告警
- P1短期处理:修复hb_factorminer配置,添加成功/失败统计面板
- P2长期处理:建立任务健康度Dashboard
任务3:2A版本Tag确认
当前Git状态
当前HEAD: daab2f1 chore: v0.1.1增量备份 — 评估中心修复+新脚本
已有tags: v0.1.0-20260908, v0.1.1-20260911
未追踪文件: bus/, contracts/, migration/, monitor/, orchestration/, registry/, risk/, shadow/, state/
Tag策略:方案C(单一final tag)
git add -A registry/ contracts/ risk/ orchestration/ monitor/ migration/ state/ bus/ shadow/ CHANGELOG.md
git commit -m "feat: 阶段2A+2B前置设计文档完成 v0.2.0-draft"
git tag -a v0.2.0-draft -m "阶段2A+2B前置设计完成,待审批后进入实现"
已冻结文档清单
- reports/体系资产盘点_20260912.md (v0.1.0)
- registry/tasks.yaml (v0.1.0)
- registry/skills.yaml (v0.1.0)
- contracts/data_contract.yaml (v0.1.0)
- risk/gate.yaml (v0.1.0)
- orchestration/dag.yaml (v0.1.0)
- monitor/alerts.yaml (v0.1.0)
- migration/plan_2A.md (v0.1.0)
- CHANGELOG.md (v0.1.0)
任务4:2B实现总体框架
核心组件设计
1. 状态存储(SQLite)
run_log: run_id, task_id, status, started_at, ended_at, exit_code, stdout_hash, stderr
state_table: task_id, current_state, last_success, last_failure, consecutive_failures, total_runs
audit_log: event_id, event_type, task_id, old_value, new_value, operator, timestamp
2. 事件总线(16种事件类型)
| 类型 |
优先级 |
生产者 |
消费者 |
| data.ready |
P0 |
数据采集 |
评估任务 |
| data.failed |
P0 |
数据采集 |
告警系统 |
| signal.generate |
P1 |
选股任务 |
评估任务 |
| risk.circuit_break |
P0 |
风控系统 |
所有任务 |
| confirm.pending |
P0 |
人工确认点 |
通知系统 |
| system.shutdown |
P0 |
运维操作 |
所有任务 |
3. DAG执行引擎
- 解析dag.yaml → 拓扑排序 → 依赖触发
- 超时/重试/降级策略
- 人工确认点拦截
4. 影子运行方案
- 并行运行:旧系统(cron)+ 新系统(DAG)同时运行
- 比对指标:任务完成率、执行时间、失败率、数据一致性
- 切换条件:影子运行≥7天,输出一致率≥99%,失败率<1%
- 回滚方案:一键回滚脚本,恢复旧cron
实现顺序(20天)
Phase 1: 状态存储 (3天)
Phase 2: 事件总线 (2天)
Phase 3: DAG执行引擎 (5天)
Phase 4: 影子运行 (7天)
Phase 5: 生产切换 (1天)
Phase 6: 验收测试 (2天)
检查清单
实现前
- [ ] 用户确认本设计方案
- [ ] 确认2A文档已打tag冻结
- [ ] 确认缺失路径已分类(A/B/C类)
- [ ] 确认deprecated任务已标记
实现中
- [ ] 每完成一个Phase,运行测试套件
- [ ] 每日更新CHANGELOG
- [ ] 发现问题立即记录并评估影响
实现后
- [ ] 运行完整测试套件
- [ ] 影子运行7天
- [ ] 输出比对报告
- [ ] 用户验收签字
风险清单
| 风险 |
概率 |
影响 |
缓解措施 |
| SQLite写入竞争 |
中 |
高 |
WAL模式+写锁 |
| 事件积压 |
低 |
中 |
队列上限+监控 |
| DAG解析错误 |
低 |
高 |
单元测试+schema校验 |
| 影子运行偏差 |
中 |
中 |
每日比对+自动告警 |
| 切换回滚失败 |
低 |
高 |
详细回滚脚本+演练 |
下一步行动
- 等待用户审批上述设计方案
- 打tag v0.2.0-draft冻结当前设计
- 补充注册49个任务到tasks.yaml
- 修复P0告警缺口(全局失败告警)
- 开始Phase 1实现(状态存储)
报告生成时间: 2026-09-12T15:50:00+08:00
版本: v0.2.0-draft
状态: 待审批