diff --git a/CHANGELOG.md b/CHANGELOG.md index ea89c1de..fdc00bf0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,45 @@ +## 2026-08-12 — Cron 架构梳理(3+1 环节×3+1 层 + cron 体系统一 hermes) + +### 背景 +按老莫"3+6+12 核心=3+1 环节(选股/买入/卖出/每日重评)× 3+1 层(采集/加工/使用/监控运维)"原则,全面梳理 cron 架构:保证运行(环节产出)、功能不重复、性能稳定、cron 统一 hermes(禁止系统 crontab)。 + +### cron 体系统一(禁止系统 crontab) +- **迁移到 hermes**:watchlist_auto_exit(环节3卖出核心 50 8)/ kanban_xmpp_bridge(*/2)/ parallel_batch(10 8)/ live_data_collector(5 15) +- **停系统 crontab 重复**:news_collector(旧版58只,与 hermes news_collector_full 全市场重复)/ agents_health_check(MoFin,与 mofin_health/functional_health_check 重复) +- **结果**:系统 crontab 只剩 main_dsa.py(独立 DSA 服务 :8001,非定时任务);所有定时自动任务统一 hermes。备份 `.backups/crontab_backup_20260812_1505.txt` +- **F 健康 cron 来源标记**:pipelines 加 source 字段,系统 cron 红色"⚠️系统cron(违规)",顶部横幅"🚫 自动任务必须部署在 hermes,严禁系统 crontab" + +### 停冗余(功能不重复) +- 策略评估-每日(stale_detector,与策略评估-每周重复 + error) +- 市场精选推荐-每日(PROMPT,与专属扫描器重叠 + LLM 故障) +- 宏观风险扫描-周末(与 8:30 主版重复) +- 跨市场背离检测-周末(与工作日同脚本重复) +- 基本面刷新-午间(与早间 + 全市场 fundamentals_full_refresh 重复) +- 行业富集-cninfo-午间(已暂停,确认删除——早间已覆盖) + +### 修 error(保证运行) +- **premarket_full_review**(环节4每日重评核心):修 `from scripts.watchlist_auto_exit` → `from watchlist_auto_exit`(同目录模块,修 ModuleNotFoundError) +- capital_flow_collector / divergence_detector:瞬时 error 已自动恢复 ok +- self_repair:LLM 端点故障(等 LLM 恢复,非脚本问题) + +### 恢复环节产出(保证运行) +- **环节2买入**:注册 stale_push_wlin(自选买入区提醒+触发重评,`*/30 9-15 * * 1-5` 盘中)——此前未注册 cron,买入推荐缺失 +- **环节4每日重评**:恢复 per_stock_reassess(自选买入区提醒-盘前午间尾盘 resume) +- **环节3卖出**:watchlist_auto_exit 迁移到 hermes(自选退出 50 8 盘前) + +### 3+1 环节 cron 覆盖(梳理后) +| 环节 | 核心 cron | 状态 | +|------|-----------|------| +| 选股 | p_oversold / v_weak / accumulation → candidate_filter → promote_candidates | ✅ | +| 买入 | stale_push_wlin(*/30 盘中买入区提醒+触发重评) | ✅ 恢复 | +| 卖出 | watchlist_auto_exit(50 8 盘前退出)/ clean_watchlist(5 9 清理) | ✅ 已迁移 | +| 每日重评 | premarket_full_review(10 8 盘前,已修)/ per_stock_reassess(0 12,15 已恢复)/ stale_detector(周末) | ✅ | + +> 执行:Sisyphus(小小莫) +> 架构文档:docs/SYSTEM_ARCHITECTURE.md(3+1 层次 + 3+1 环节 + cron 统一 hermes + 开发原则) + +--- + ## 2026-08-12 — 超跌策略回测框架全面扩展(v_weak/v_oversold 回测支持) ### 背景 diff --git a/docs/SYSTEM_ARCHITECTURE.md b/docs/SYSTEM_ARCHITECTURE.md index c73b069b..84cbcfae 100644 --- a/docs/SYSTEM_ARCHITECTURE.md +++ b/docs/SYSTEM_ARCHITECTURE.md @@ -34,9 +34,9 @@ | 环节 | 产出 | 核心 cron(使用层) | |------|------|---------------------| | **选股**(入自选) | 候选池→过滤→提拔→自选 | predictive_oversold_scanner(p_oversold) / mr_scanner(v_weak) / accumulation_scanner → candidate_filter → promote_candidates | -| **买入**(盘中推荐) | 自选/持仓进买入区→推送 | stale_push_wlin / per_stock_reassess(⚠️ 当前暂停,待恢复) | -| **卖出**(盘中推荐) | 止损/止盈/退出→推送 | watchlist_auto_exit(自选退出) / clean_watchlist(自选清理) | -| **每日重评**(盘后) | 持仓+自选 12 维重评→更新策略/移除 | premarket_full_review(盘前全量重评,⚠️ ERROR 待修) / strategy-staleness-check / stale_detector(周末) | +| **买入**(盘中推荐) | 自选/持仓进买入区→推送+触发重评 | stale_push_wlin(*/30 盘中,2026-08-12 恢复注册) | +| **卖出**(盘中推荐) | 自选退出/清理→移除 | watchlist_auto_exit(50 8 盘前,2026-08-12 从系统 crontab 迁移到 hermes) / clean_watchlist(5 9) | +| **每日重评**(盘后) | 持仓+自选 12 维重评→更新策略/移除 | premarket_full_review(10 8 盘前全量,已修 import) / per_stock_reassess(0 12,15 午间尾盘,已恢复) / stale_detector(周末批量) | ## 三、环节 × 层次 Cron 映射(当前实际) @@ -71,12 +71,12 @@ | 选股 | accumulation_scanner.py | `*/10 9-15 * * 1-5` | | 选股 | candidate_filter.py | `*/30 9-15 * * 1-5` | | 选股 | promote_candidates.py | `*/30 9-15 * * 1-5` | -| 买入 | stale_push_wlin.py | ⚠️ 未注册(待恢复 */30 盘中) | -| 买入 | per_stock_reassess.py | ⚠️ 已暂停(待恢复) | +| 买入 | **stale_push_wlin.py** | `*/30 9-15 * * 1-5`(2026-08-12 恢复注册:自选买入区提醒+触发重评) | | 买入 | review_needed_watchdog.py | `0,30 9-15 * * 1-5` | | 卖出 | **watchlist_auto_exit.py** | `50 8 * * 1-5`(2026-08-12 从系统 crontab 迁移到 hermes) | | 卖出 | clean_watchlist.py | `5 9 * * 1-5` | -| 每日重评 | premarket_full_review.py | `10 8 * * 1-5`(⚠️ ERROR 待修) | +| 每日重评 | **premarket_full_review.py** | `10 8 * * 1-5`(2026-08-12 修 import 恢复:盘前全量重评-自选退出) | +| 每日重评 | **per_stock_reassess.py** | `0 12,15 * * 1-5`(2026-08-12 恢复:自选 12 维重评+买入区提醒) | | 每日重评 | strategy-staleness-check.py | `0 9 * * 1-5` | | 每日重评 | stale_detector.py | `30 10 * * 0,6`(周末批量) |