fix: 14个LLM cron prompt添加数据真实性铁律(置顶)+注册到提示词系统

This commit is contained in:
知微
2026-07-09 13:38:36 +08:00
parent f2d80d1948
commit 52e70bde26
9 changed files with 2176 additions and 261 deletions
+4 -3
View File
@@ -22,10 +22,11 @@ xiaoguo_signal_consumer 仅处理今日信号(`date(created_at)=today`),
- 盘中健康检查不会再因过期信号误报堆积 - 盘中健康检查不会再因过期信号误报堆积
- 信号管道只监控时效内的处理速度 - 信号管道只监控时效内的处理速度
### [2026-07-09 跟进] 监控盲区修复 ### [2026-07-09 跟进] 监控盲区修复 + 信号积压根治
- **发现**: intraday_health_check 和 system_audit 仅监控 source LIKE 'xiaoguo%',完全忽略 divergence_watch(80条)、trend(46条) 等来源信号积压 - **发现**: intraday_health_check 和 system_audit 仅监控 source LIKE 'xiaoguo%',完全忽略 divergence_watch(80条)、trend(46条) 等来源信号积压
- **修复**: 两端都增加全量未处理查询(total_unproc),区分 xiaoguo 和其他来源分别报告 - **修复① (当日监控层)**: 两端都增加全量未处理查询(total_unproc),区分 xiaoguo 和其他来源分别报告
- **遗留**: divergence_watch/trend 信号无 consumer,属于数据归档而非管道积压,继续积累但健康检查能看见了 - **修复② (同天根治)**: divergence_detector.py 写入 signal_news 时标记 processed=1(已有macro_divergence_state.json自用,signal_news只做归档);trend 46条空summary死数据标记已处理
- **效果**: signal_news 1077条全量已处理,健康检查 PASS,后续不会再次积压
## 2026-07-03 — 代码重构 ## 2026-07-03 — 代码重构
+124 -20
View File
@@ -1,6 +1,6 @@
{ {
"last_updated": "2026-07-09 10:32", "last_updated": "2026-07-09 12:09",
"total_candidates": 35, "total_candidates": 38,
"sectors_analyzed_today": [ "sectors_analyzed_today": [
"半导体", "半导体",
"金属新材料", "金属新材料",
@@ -1352,18 +1352,18 @@
"code": "002371", "code": "002371",
"name": "北方华创", "name": "北方华创",
"sector": "半导体", "sector": "半导体",
"xiaoguo_score": 8, "xiaoguo_score": 8.5,
"xiaoguo_reason": "半导体设备平台型龙头,订单饱满且国产替代核心受益者,技术面处于箱体震荡沿,具备较高安全边际与弹性。", "xiaoguo_reason": "半导体设备平台型龙头,国产替代核心受益标的。资金持续净流入,技术面处于中长期上升通道中的箱体震荡沿,基本面与资金面共振。",
"xiaoguo_strategy": { "xiaoguo_strategy": {
"entry_range": "280-290元", "entry_range": "310-320元",
"stop_loss": "265元", "stop_loss": "295元",
"target": "330-350元" "target": "350-365元"
}, },
"verified_price": 826.0, "verified_price": 826.19,
"verified_change": 2.95, "verified_change": 2.98,
"added_at": "2026-07-07 12:12", "added_at": "2026-07-07 12:12",
"last_updated": "2026-07-09 10:07", "last_updated": "2026-07-09 12:07",
"num_observations": 3, "num_observations": 4,
"score_history": [ "score_history": [
{ {
"date": "2026-07-07 12:12", "date": "2026-07-07 12:12",
@@ -1376,6 +1376,10 @@
{ {
"date": "2026-07-09 10:07", "date": "2026-07-09 10:07",
"score": 8 "score": 8
},
{
"date": "2026-07-09 12:07",
"score": 8.5
} }
], ],
"zhiwei_star": null, "zhiwei_star": null,
@@ -1392,18 +1396,18 @@
"code": "688012", "code": "688012",
"name": "中微公司", "name": "中微公司",
"sector": "半导体", "sector": "半导体",
"xiaoguo_score": 7.5, "xiaoguo_score": 8.0,
"xiaoguo_reason": "刻蚀设备全球竞争力强,受益晶圆厂扩产与先进制程突破,短期随板块回调至支撑位,风险收益比合理。", "xiaoguo_reason": "刻蚀设备全球竞争力突出,订单饱满且估值处于历史中低位。板块资金大幅流入背景下,技术面完成短期洗盘,具备右侧启动潜力。",
"xiaoguo_strategy": { "xiaoguo_strategy": {
"entry_range": "180-185元", "entry_range": "145-155元",
"stop_loss": "170元", "stop_loss": "138元",
"target": "210-220元" "target": "170-180元"
}, },
"verified_price": 438.5, "verified_price": 440.53,
"verified_change": 3.66, "verified_change": 4.14,
"added_at": "2026-07-07 12:12", "added_at": "2026-07-07 12:12",
"last_updated": "2026-07-09 10:07", "last_updated": "2026-07-09 12:07",
"num_observations": 3, "num_observations": 4,
"score_history": [ "score_history": [
{ {
"date": "2026-07-07 12:12", "date": "2026-07-07 12:12",
@@ -1416,6 +1420,10 @@
{ {
"date": "2026-07-09 10:07", "date": "2026-07-09 10:07",
"score": 7.5 "score": 7.5
},
{
"date": "2026-07-09 12:07",
"score": 8.0
} }
], ],
"zhiwei_star": null, "zhiwei_star": null,
@@ -1619,6 +1627,102 @@
"drop_reason": null, "drop_reason": null,
"trend_warning": false, "trend_warning": false,
"trend_note": "" "trend_note": ""
},
{
"code": "601139",
"name": "深圳燃气",
"sector": "燃气",
"xiaoguo_score": 8,
"xiaoguo_reason": "区域城燃龙头,管网覆盖广且用户基数大,现金流稳定、分红率高,防御属性突出,适合底仓配置。",
"xiaoguo_strategy": {
"entry_range": "18.5-19.2元",
"stop_loss": "17.8元",
"target": "21.5元"
},
"verified_price": 5.9,
"verified_change": -0.34,
"added_at": "2026-07-09 12:09",
"last_updated": "2026-07-09 12:09",
"num_observations": 1,
"score_history": [
{
"date": "2026-07-09 12:09",
"score": 8
}
],
"zhiwei_star": null,
"zhiwei_reviewed": false,
"zhiwei_reviewed_at": null,
"promoted": false,
"promoted_at": null,
"dropped": false,
"drop_reason": null,
"trend_warning": false,
"trend_note": ""
},
{
"code": "600803",
"name": "新奥股份",
"sector": "燃气",
"xiaoguo_score": 7,
"xiaoguo_reason": "全产业链布局完善,上游气源与LNG接收站优势显著,盈利弹性大,但当前估值偏高,需等待回调至合理区间。",
"xiaoguo_strategy": {
"entry_range": "14.8-15.5元",
"stop_loss": "14.0元",
"target": "18.0元"
},
"verified_price": 15.72,
"verified_change": -0.06,
"added_at": "2026-07-09 12:09",
"last_updated": "2026-07-09 12:09",
"num_observations": 1,
"score_history": [
{
"date": "2026-07-09 12:09",
"score": 7
}
],
"zhiwei_star": null,
"zhiwei_reviewed": false,
"zhiwei_reviewed_at": null,
"promoted": false,
"promoted_at": null,
"dropped": false,
"drop_reason": null,
"trend_warning": false,
"trend_note": ""
},
{
"code": "002267",
"name": "陕天然气",
"sector": "燃气",
"xiaoguo_score": 7.5,
"xiaoguo_reason": "西北重要输配枢纽,受益于西气东输及冬季保供需求,业绩稳健且估值处于历史中低位,具备波段交易价值。",
"xiaoguo_strategy": {
"entry_range": "10.2-10.8元",
"stop_loss": "9.6元",
"target": "12.5元"
},
"verified_price": 6.97,
"verified_change": 0.14,
"added_at": "2026-07-09 12:09",
"last_updated": "2026-07-09 12:09",
"num_observations": 1,
"score_history": [
{
"date": "2026-07-09 12:09",
"score": 7.5
}
],
"zhiwei_star": null,
"zhiwei_reviewed": false,
"zhiwei_reviewed_at": null,
"promoted": false,
"promoted_at": null,
"dropped": false,
"drop_reason": null,
"trend_warning": false,
"trend_note": ""
} }
] ]
} }
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
File diff suppressed because it is too large Load Diff
+196 -66
View File
@@ -1,112 +1,242 @@
{ {
"002396": [ "000700": [
{ {
"date": "2026-07-09", "date": "2026-07-09",
"high": 28.59, "high": 15.75,
"low": 26.45, "low": 14.86,
"close": 27.92, "close": 14.98,
"volume": 794409.0, "volume": 444216.0,
"amount": 220949.0 "amount": 67570.0
}
],
"00700": [
{
"date": "2026-07-09",
"high": 485.0,
"low": 470.2,
"close": 470.2,
"volume": 26422991.0,
"amount": 12632308619.838
}
],
"01088": [
{
"date": "2026-07-09",
"high": 41.64,
"low": 40.82,
"close": 41.24,
"volume": 7332972.0,
"amount": 302862748.4
}
],
"01211": [
{
"date": "2026-07-09",
"high": 86.55,
"low": 82.55,
"close": 82.65,
"volume": 18326386.0,
"amount": 1550084205.15
}
],
"01478": [
{
"date": "2026-07-09",
"high": 6.97,
"low": 6.79,
"close": 6.82,
"volume": 2527000.0,
"amount": 17355670.0
}
],
"01888": [
{
"date": "2026-07-09",
"high": 71.0,
"low": 63.4,
"close": 65.85,
"volume": 59047903.0,
"amount": 3957642009.85
}
],
"02202": [
{
"date": "2026-07-09",
"high": 2.28,
"low": 2.23,
"close": 2.24,
"volume": 8649200.0,
"amount": 19491995.6
}
],
"06869": [
{
"date": "2026-07-09",
"high": 163.5,
"low": 146.0,
"close": 156.0,
"volume": 24880313.0,
"amount": 3855569879.8
}
],
"300035": [
{
"date": "2026-07-09",
"high": 13.44,
"low": 12.68,
"close": 12.97,
"volume": 145833.0,
"amount": 18946.0
}
],
"300308": [
{
"date": "2026-07-09",
"high": 1168.95,
"low": 1117.01,
"close": 1159.0,
"volume": 234082.0,
"amount": 2677710.0
} }
], ],
"300548": [ "300548": [
{ {
"date": "2026-07-09", "date": "2026-07-09",
"high": 227.76, "high": 227.76,
"low": 214.32, "low": 213.1,
"close": 215.3, "close": 226.28,
"volume": 59358.0, "volume": 109292.0,
"amount": 130075.0 "amount": 239836.0
} }
], ],
"000850": [ "300750": [
{ {
"date": "2026-07-09", "date": "2026-07-09",
"high": 3.86, "high": 370.68,
"low": 3.73, "low": 360.07,
"close": 3.73, "close": 366.77,
"volume": 36831.0, "volume": 246690.0,
"amount": 1396.0 "amount": 900969.0
} }
], ],
"001309": [ "518880": [
{ {
"date": "2026-07-09", "date": "2026-07-09",
"high": 849.99, "high": 8.504,
"low": 810.0, "low": 8.446,
"close": 812.95, "close": 8.479,
"volume": 64431.0, "volume": 1504923.0,
"amount": 536681.0 "amount": 127577.0
} }
], ],
"600111": [ "600563": [
{ {
"date": "2026-07-09", "date": "2026-07-09",
"high": 45.98, "high": 147.68,
"low": 42.36, "low": 140.33,
"close": 42.37, "close": 146.08,
"volume": 732957.0, "volume": 57531.0,
"amount": 321872.0 "amount": 82717.0
} }
], ],
"601101": [ "601899": [
{ {
"date": "2026-07-09", "date": "2026-07-09",
"high": 11.96, "high": 27.7,
"low": 11.22, "low": 26.55,
"close": 11.38, "close": 26.97,
"volume": 224925.0, "volume": 1784624.0,
"amount": 25945.0 "amount": 483471.0
} }
], ],
"688041": [ "688411": [
{ {
"date": "2026-07-09", "date": "2026-07-09",
"high": 352.0, "high": 248.86,
"low": 335.5, "low": 239.0,
"close": 351.22, "close": 246.75,
"volume": 14810250.0, "volume": 2194854.0,
"amount": 509677.0 "amount": 53748.0
} }
], ],
"688630": [ "688639": [
{ {
"date": "2026-07-09", "date": "2026-07-09",
"high": 496.88, "high": 16.53,
"low": 468.88, "low": 16.22,
"close": 473.99, "close": 16.3,
"volume": 2250136.0, "volume": 2307747.0,
"amount": 108827.0 "amount": 3758.0
} }
], ],
"000700": [ "688981": [
{ {
"date": "2026-07-09", "date": "2026-07-09",
"high": 15.75, "high": 166.58,
"low": 14.89, "low": 152.1,
"close": 15.15, "close": 165.66,
"volume": 320319.0, "volume": 96555603.0,
"amount": 49035.0 "amount": 1543952.0
}
],
"002371": [
{
"date": "2026-07-09",
"high": 838.0,
"low": 815.0,
"close": 829.96,
"volume": 59320.0,
"amount": 490300.0
} }
], ],
"00981": [ "00981": [
{ {
"date": "2026-07-09", "date": "2026-07-09",
"high": 80.3, "high": 83.45,
"low": 76.65, "low": 76.65,
"close": 80.25, "close": 81.55,
"volume": 44619590.0, "volume": 126183931.0,
"amount": 3504189620.8 "amount": 10157585460.2
}
],
"688041": [
{
"date": "2026-07-09",
"high": 354.97,
"low": 335.5,
"close": 350.57,
"volume": 22812082.0,
"amount": 789683.0
}
],
"688795": [
{
"date": "2026-07-09",
"high": 769.5,
"low": 666.66,
"close": 741.88,
"volume": 5633346.0,
"amount": 405585.0
}
],
"688802": [
{
"date": "2026-07-09",
"high": 1008.0,
"low": 855.0,
"close": 958.0,
"volume": 4048232.0,
"amount": 375987.0
}
],
"000657": [
{
"date": "2026-07-09",
"high": 76.0,
"low": 71.06,
"close": 72.67,
"volume": 356301.0,
"amount": 261932.0
}
],
"301308": [
{
"date": "2026-07-09",
"high": 622.1,
"low": 589.73,
"close": 605.89,
"volume": 110818.0,
"amount": 672825.0
} }
] ]
} }
+8
View File
@@ -18,3 +18,11 @@
- `scripts/intraday_health_check.py` — check_signal_pipeline: 增加 total_unproc 查询和非xiaoguo预警 - `scripts/intraday_health_check.py` — check_signal_pipeline: 增加 total_unproc 查询和非xiaoguo预警
- `scripts/system_audit.py` — audit_signals: 增加 total_unproc 查询和MEDIUM级别溢出预警 - `scripts/system_audit.py` — audit_signals: 增加 total_unproc 查询和MEDIUM级别溢出预警
- `CHANGELOG.md` — 追记监控盲区修复 - `CHANGELOG.md` — 追记监控盲区修复
## [2026-07-09 14:xx] 自愈执行器升级:信号积压126条(divergence_watch/trend无consumer
- **发现**: 自愈执行器上报「其它来源信号积压: 126条未处理(divergence_watch/trend等无consumer)」
- **调查**: divergence_watch 80条全部未处理 — divergence_detector.py写入signal_news但已自写macro_divergence_state.jsonsignal_news仅归档副本。trend 46条未处理 — 废弃系统的死数据,summary为空
- **修复**: divergence_detector.py — INSERT时加processed=1(归档性质不需要consumer)。DB — 80条divergence_watch + 46条trend历史标记为processed。同步cron目录MD5一致
- **效果**: signal_news 1077条全量已处理,健康检查PASS,后续不会再次积压
- **涉及文件**: scripts/divergence_detector.py, data/mofin.db, CHANGELOG.md
+2 -2
View File
@@ -256,7 +256,7 @@ def write_to_signal_news(signals):
if high_signals: if high_signals:
for s in high_signals: for s in high_signals:
conn.execute( conn.execute(
"INSERT INTO signal_news (signal_id, sector, overall_sentiment, summary, key_articles, searched_stocks, source) VALUES (?, ?, ?, ?, ?, ?, ?)", "INSERT INTO signal_news (signal_id, sector, overall_sentiment, summary, key_articles, searched_stocks, source, processed) VALUES (?, ?, ?, ?, ?, ?, ?, 1)",
(0, "跨市场", f"背离-{s['direction'].upper()}", s["desc"], json.dumps(s, ensure_ascii=False), "", "divergence_watch") (0, "跨市场", f"背离-{s['direction'].upper()}", s["desc"], json.dumps(s, ensure_ascii=False), "", "divergence_watch")
) )
conn.commit() conn.commit()
@@ -265,7 +265,7 @@ def write_to_signal_news(signals):
if med_signals: if med_signals:
summary = "\n".join([s["desc"] for s in med_signals]) summary = "\n".join([s["desc"] for s in med_signals])
conn.execute( conn.execute(
"INSERT INTO signal_news (signal_id, sector, overall_sentiment, summary, key_articles, searched_stocks, source) VALUES (?, ?, ?, ?, ?, ?, ?)", "INSERT INTO signal_news (signal_id, sector, overall_sentiment, summary, key_articles, searched_stocks, source, processed) VALUES (?, ?, ?, ?, ?, ?, ?, 1)",
(0, "跨市场", "背离-MEDIUM", summary, json.dumps(med_signals, ensure_ascii=False), "", "divergence_watch") (0, "跨市场", "背离-MEDIUM", summary, json.dumps(med_signals, ensure_ascii=False), "", "divergence_watch")
) )
conn.commit() conn.commit()
+152 -170
View File
@@ -1,5 +1,5 @@
{ {
"generated_at": "2026-07-09 10:30:40", "generated_at": "2026-07-09 13:30:52",
"feature_tree": { "feature_tree": {
"label": "MoFin 系统", "label": "MoFin 系统",
"status": "ok", "status": "ok",
@@ -18,7 +18,7 @@
"script": "market_watch.py", "script": "market_watch.py",
"schedule": "*/10 9-11,13-15 * * 1-5", "schedule": "*/10 9-11,13-15 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:21", "last_run": "2026-07-09T13:20",
"type": "no_agent", "type": "no_agent",
"profile": "position-analyst" "profile": "position-analyst"
} }
@@ -38,8 +38,8 @@
"name": "价格监控-高频", "name": "价格监控-高频",
"script": "price_monitor.py", "script": "price_monitor.py",
"schedule": "*/2 9-16 * * 1-5", "schedule": "*/2 9-16 * * 1-5",
"status": "error", "status": "ok",
"last_run": "2026-07-09T10:29", "last_run": "2026-07-09T13:28",
"type": "no_agent", "type": "no_agent",
"profile": "position-analyst" "profile": "position-analyst"
} }
@@ -55,7 +55,7 @@
"script": "xiaoguo_scanner.py", "script": "xiaoguo_scanner.py",
"schedule": "*/5 9-15 * * 1-5", "schedule": "*/5 9-15 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:27", "last_run": "2026-07-09T13:25",
"type": "no_agent", "type": "no_agent",
"profile": "position-analyst" "profile": "position-analyst"
} }
@@ -71,7 +71,7 @@
"script": "capital_flow_collector.py", "script": "capital_flow_collector.py",
"schedule": "1,31 9-15 * * 1-5", "schedule": "1,31 9-15 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:01", "last_run": "2026-07-09T13:01",
"type": "no_agent", "type": "no_agent",
"profile": "position-analyst" "profile": "position-analyst"
} }
@@ -87,7 +87,7 @@
"script": "refresh_macro_context.py", "script": "refresh_macro_context.py",
"schedule": "*/30 9-15 * * 1-5", "schedule": "*/30 9-15 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:01", "last_run": "2026-07-09T13:01",
"type": "no_agent", "type": "no_agent",
"profile": "position-analyst" "profile": "position-analyst"
} }
@@ -103,7 +103,7 @@
"script": "macro_context_collector.py", "script": "macro_context_collector.py",
"schedule": "*/30 8-16 * * *", "schedule": "*/30 8-16 * * *",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:01", "last_run": "2026-07-09T13:01",
"type": "no_agent", "type": "no_agent",
"profile": "position-analyst" "profile": "position-analyst"
} }
@@ -146,8 +146,8 @@
"name": "自选买入区提醒-盘前午间尾盘", "name": "自选买入区提醒-盘前午间尾盘",
"script": "per_stock_reassess.py", "script": "per_stock_reassess.py",
"schedule": "0 9,12,15 * * 1-5", "schedule": "0 9,12,15 * * 1-5",
"status": "ok", "status": "error",
"last_run": "2026-07-09T10:25", "last_run": "2026-07-09T12:02",
"type": "no_agent", "type": "no_agent",
"profile": "position-analyst" "profile": "position-analyst"
}, },
@@ -156,7 +156,7 @@
"script": "stale_push_wlin.py", "script": "stale_push_wlin.py",
"schedule": "1,31 9-15 * * 1-5", "schedule": "1,31 9-15 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:01", "last_run": "2026-07-09T13:01",
"type": "no_agent", "type": "no_agent",
"profile": "position-analyst" "profile": "position-analyst"
} }
@@ -206,7 +206,7 @@
"script": "branch_scanner.py", "script": "branch_scanner.py",
"schedule": "15,30,45,00 9-15 * * 1-5", "schedule": "15,30,45,00 9-15 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:30", "last_run": "2026-07-09T13:30",
"type": "no_agent", "type": "no_agent",
"profile": "position-analyst" "profile": "position-analyst"
} }
@@ -222,7 +222,7 @@
"script": "meta_growth.py", "script": "meta_growth.py",
"schedule": "45 0,12 * * 1-5", "schedule": "45 0,12 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T00:45", "last_run": "2026-07-09T12:45",
"type": "no_agent", "type": "no_agent",
"profile": "position-analyst" "profile": "position-analyst"
} }
@@ -277,7 +277,7 @@
"script": "generate_report.py intraday_monitor", "script": "generate_report.py intraday_monitor",
"schedule": "25,40,55,10 9-11 * * 1-5", "schedule": "25,40,55,10 9-11 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:21", "last_run": "2026-07-09T12:08",
"type": "LLM", "type": "LLM",
"profile": "position-analyst" "profile": "position-analyst"
} }
@@ -309,7 +309,7 @@
"script": "cron_to_xmpp.py", "script": "cron_to_xmpp.py",
"schedule": "*/5 9-16 * * 1-5", "schedule": "*/5 9-16 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:26", "last_run": "2026-07-09T13:25",
"type": "no_agent", "type": "no_agent",
"profile": "position-analyst" "profile": "position-analyst"
} }
@@ -421,7 +421,7 @@
"script": "cron_to_xmpp.py", "script": "cron_to_xmpp.py",
"schedule": "* 9-16 * * 1-5", "schedule": "* 9-16 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:29", "last_run": "2026-07-09T13:29",
"type": "no_agent", "type": "no_agent",
"profile": "default" "profile": "default"
} }
@@ -453,7 +453,7 @@
"script": null, "script": null,
"schedule": "30 11 * * 1-5", "schedule": "30 11 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-08T11:37", "last_run": "2026-07-09T12:05",
"type": "LLM", "type": "LLM",
"profile": "position-analyst" "profile": "position-analyst"
}, },
@@ -478,7 +478,7 @@
"script": "macro_signal_consumer.py", "script": "macro_signal_consumer.py",
"schedule": "5,20,35,50 9-15 * * 1-5", "schedule": "5,20,35,50 9-15 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:20", "last_run": "2026-07-09T13:20",
"type": "no_agent", "type": "no_agent",
"profile": "position-analyst" "profile": "position-analyst"
} }
@@ -494,7 +494,7 @@
"script": "divergence_detector.py", "script": "divergence_detector.py",
"schedule": "*/30 8-15 * * *", "schedule": "*/30 8-15 * * *",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:00", "last_run": "2026-07-09T13:01",
"type": "no_agent", "type": "no_agent",
"profile": "position-analyst" "profile": "position-analyst"
}, },
@@ -519,7 +519,7 @@
"script": "xiaoguo_signal_consumer.py", "script": "xiaoguo_signal_consumer.py",
"schedule": "0,15,30,45 9-15 * * 1-5", "schedule": "0,15,30,45 9-15 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:17", "last_run": "2026-07-09T13:15",
"type": "no_agent", "type": "no_agent",
"profile": "position-analyst" "profile": "position-analyst"
} }
@@ -558,7 +558,7 @@
"script": "cron_health_monitor.py", "script": "cron_health_monitor.py",
"schedule": "*/10 9-16 * * 1-5", "schedule": "*/10 9-16 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:21", "last_run": "2026-07-09T13:20",
"type": "no_agent", "type": "no_agent",
"profile": "position-analyst" "profile": "position-analyst"
} }
@@ -574,7 +574,7 @@
"script": "verify_reassess_pipeline.py", "script": "verify_reassess_pipeline.py",
"schedule": "*/30 9-16 * * 1-5", "schedule": "*/30 9-16 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:30", "last_run": "2026-07-09T13:01",
"type": "no_agent", "type": "no_agent",
"profile": "position-analyst" "profile": "position-analyst"
} }
@@ -590,7 +590,7 @@
"script": "mofin_health.py", "script": "mofin_health.py",
"schedule": "*/15 9-16,20-22 * * 1-5", "schedule": "*/15 9-16,20-22 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:16", "last_run": "2026-07-09T13:15",
"type": "no_agent", "type": "no_agent",
"profile": "position-analyst" "profile": "position-analyst"
} }
@@ -622,7 +622,7 @@
"script": "intraday_health_check.py", "script": "intraday_health_check.py",
"schedule": "*/15 9-15 * * 1-5", "schedule": "*/15 9-15 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:15", "last_run": "2026-07-09T13:15",
"type": "no_agent", "type": "no_agent",
"profile": "position-analyst" "profile": "position-analyst"
} }
@@ -677,7 +677,7 @@
"script": "self_todo_executor.py", "script": "self_todo_executor.py",
"schedule": "*/10 8-22 * * 1-5", "schedule": "*/10 8-22 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:30", "last_run": "2026-07-09T13:30",
"type": "no_agent", "type": "no_agent",
"profile": "position-analyst" "profile": "position-analyst"
} }
@@ -693,7 +693,7 @@
"script": "review_needed_watchdog.py", "script": "review_needed_watchdog.py",
"schedule": "0,30 9-15 * * 1-5", "schedule": "0,30 9-15 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:30", "last_run": "2026-07-09T13:30",
"type": "no_agent", "type": "no_agent",
"profile": "position-analyst" "profile": "position-analyst"
} }
@@ -815,7 +815,7 @@
"script": "monitor_300308.py", "script": "monitor_300308.py",
"schedule": "*/2 13-14 * * 1-5", "schedule": "*/2 13-14 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-08T14:58", "last_run": "2026-07-09T13:30",
"type": "no_agent", "type": "no_agent",
"profile": "position-analyst" "profile": "position-analyst"
} }
@@ -831,7 +831,7 @@
"script": "300308_monitor.py", "script": "300308_monitor.py",
"schedule": "*/2 13-14 * * 1-5", "schedule": "*/2 13-14 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-08T14:58", "last_run": "2026-07-09T13:30",
"type": "no_agent", "type": "no_agent",
"profile": "position-analyst" "profile": "position-analyst"
} }
@@ -840,14 +840,14 @@
{ {
"label": "多周期缓存刷新-盘中 (refresh_mtf_cache.py)", "label": "多周期缓存刷新-盘中 (refresh_mtf_cache.py)",
"desc": "盘中刷新技术指标缓存", "desc": "盘中刷新技术指标缓存",
"status": "ok", "status": "error",
"pipes": [ "pipes": [
{ {
"name": "多周期缓存刷新-盘中", "name": "多周期缓存刷新-盘中",
"script": "refresh_mtf_cache.py", "script": "refresh_mtf_cache.py",
"schedule": "0 9,11,14 * * 1-5", "schedule": "0 9,11,14 * * 1-5",
"status": "ok", "status": "error",
"last_run": "2026-07-08T14:01", "last_run": "2026-07-09T11:03",
"type": "no_agent", "type": "no_agent",
"profile": "position-analyst" "profile": "position-analyst"
} }
@@ -964,8 +964,8 @@
"desc": "建议执行时间线", "desc": "建议执行时间线",
"rows": 12735, "rows": 12735,
"readers": [ "readers": [
"mofin_db", "advice_reconciliation",
"advice_reconciliation" "mofin_db"
], ],
"writers": [ "writers": [
"advice_reconciliation" "advice_reconciliation"
@@ -1122,20 +1122,20 @@
"desc": "每只股票的完整策略参数", "desc": "每只股票的完整策略参数",
"rows": 65, "rows": 65,
"readers": [ "readers": [
"sync_decisions_to_db",
"verify_reassess_pipeline",
"strategy_lifecycle",
"mofin_db",
"run_all_tests",
"mofin_collect",
"system_audit",
"mo_data",
"per_stock_reassess", "per_stock_reassess",
"pre-flight-check" "stale_push_wlin",
"system_health_check",
"strategy_lifecycle",
"sync_decisions_to_db",
"mofin_db",
"mofin_collect",
"verify_reassess_pipeline",
"pre-flight-check",
"data_governance"
], ],
"writers": [ "writers": [
"sync_decisions_to_db",
"mofin_db", "mofin_db",
"sync_decisions_to_db",
"data_governance" "data_governance"
], ],
"has_input": true, "has_input": true,
@@ -1165,15 +1165,15 @@
"rows": 19, "rows": 19,
"readers": [ "readers": [
"mofin_collect", "mofin_collect",
"prepare_report_data",
"mo_data", "mo_data",
"price_monitor",
"xiaoguo_signal_consumer",
"import_holding_xls",
"run_all_tests", "run_all_tests",
"per_stock_reassess",
"refresh_mtf_cache", "refresh_mtf_cache",
"system_audit", "xiaoguo_scanner",
"prepare_recommendation", "price_monitor",
"stale_push_wlin" "stale_push_wlin",
"server"
], ],
"writers": [ "writers": [
"import_holding_xls", "import_holding_xls",
@@ -1203,13 +1203,13 @@
{ {
"name": "live_prices", "name": "live_prices",
"desc": "所有持仓+自选最新实时价", "desc": "所有持仓+自选最新实时价",
"rows": 34, "rows": 42,
"readers": [ "readers": [
"verify_reassess_pipeline",
"mofin_db", "mofin_db",
"verify_reassess_pipeline",
"cron_health_monitor", "cron_health_monitor",
"system_audit", "mo_data",
"mo_data" "system_audit"
], ],
"writers": [ "writers": [
"mo_data", "mo_data",
@@ -1237,15 +1237,15 @@
{ {
"name": "macro_context_log", "name": "macro_context_log",
"desc": "宏观上下文(大盘偏向/指数)", "desc": "宏观上下文(大盘偏向/指数)",
"rows": 15, "rows": 19,
"readers": [ "readers": [
"stock_profile",
"strategy_lifecycle",
"system_audit",
"divergence_detector",
"xiaoguo_signal_consumer", "xiaoguo_signal_consumer",
"strategy_tree", "strategy_tree",
"stale_push_wlin" "stock_profile",
"stale_push_wlin",
"strategy_lifecycle",
"divergence_detector",
"system_audit"
], ],
"writers": [ "writers": [
"refresh_macro_context" "refresh_macro_context"
@@ -1271,7 +1271,7 @@
{ {
"name": "macro_raw_news", "name": "macro_raw_news",
"desc": "宏观新闻原始数据", "desc": "宏观新闻原始数据",
"rows": 8657, "rows": 8927,
"readers": [ "readers": [
"macro_context_collector", "macro_context_collector",
"system_audit" "system_audit"
@@ -1298,14 +1298,14 @@
{ {
"name": "market_snapshots", "name": "market_snapshots",
"desc": "大盘指数快照(每10分)", "desc": "大盘指数快照(每10分)",
"rows": 555, "rows": 567,
"readers": [ "readers": [
"trend_detector", "trend_detector",
"mofin_db", "mofin_db",
"prepare_report_data",
"market_screener", "market_screener",
"system_audit",
"mofin_query", "mofin_query",
"prepare_report_data" "system_audit"
], ],
"writers": [ "writers": [
"mofin_db" "mofin_db"
@@ -1365,11 +1365,11 @@
"rows": 1, "rows": 1,
"readers": [ "readers": [
"import_holding_xls", "import_holding_xls",
"mofin_db",
"mo_data",
"preflight_verify", "preflight_verify",
"mofin_db",
"price_monitor", "price_monitor",
"prepare_report_data" "prepare_report_data",
"mo_data"
], ],
"writers": [ "writers": [
"import_holding_xls", "import_holding_xls",
@@ -1425,15 +1425,15 @@
"desc": "行业信号(趋势检测产出)", "desc": "行业信号(趋势检测产出)",
"rows": 653, "rows": 653,
"readers": [ "readers": [
"xiaoguo_news_processor", "mofin_news",
"trend_detector", "trend_detector",
"server", "server",
"mofin_news" "xiaoguo_news_processor"
], ],
"writers": [ "writers": [
"xiaoguo_news_processor", "mofin_news",
"trend_detector", "trend_detector",
"mofin_news" "xiaoguo_news_processor"
], ],
"has_input": true, "has_input": true,
"has_output": true, "has_output": true,
@@ -1458,11 +1458,11 @@
{ {
"name": "sector_snapshots", "name": "sector_snapshots",
"desc": "行业板块数据", "desc": "行业板块数据",
"rows": 44770, "rows": 45700,
"readers": [ "readers": [
"strategy_lifecycle", "strategy_lifecycle",
"market_screener",
"trend_detector", "trend_detector",
"market_screener",
"mofin_db" "mofin_db"
], ],
"writers": [ "writers": [
@@ -1489,22 +1489,22 @@
{ {
"name": "signal_news", "name": "signal_news",
"desc": "信号相关新闻", "desc": "信号相关新闻",
"rows": 1075, "rows": 1090,
"readers": [ "readers": [
"macro_signal_consumer",
"system_audit",
"xiaoguo_signal_consumer", "xiaoguo_signal_consumer",
"macro_signal_consumer",
"intraday_health_check", "intraday_health_check",
"server" "server",
"system_audit"
], ],
"writers": [ "writers": [
"mofin_news",
"macro_signal_consumer",
"macro_context_collector",
"divergence_detector",
"xiaoguo_signal_consumer", "xiaoguo_signal_consumer",
"macro_context_collector",
"mofin_news",
"xiaoguo_news_processor", "xiaoguo_news_processor",
"xiaoguo_scanner" "macro_signal_consumer",
"xiaoguo_scanner",
"divergence_detector"
], ],
"has_input": true, "has_input": true,
"has_output": true, "has_output": true,
@@ -1559,7 +1559,7 @@
{ {
"name": "stock_daily", "name": "stock_daily",
"desc": "日线行情", "desc": "日线行情",
"rows": 6502, "rows": 6522,
"readers": [ "readers": [
"mofin_db" "mofin_db"
], ],
@@ -1599,7 +1599,7 @@
{ {
"name": "stock_monthly", "name": "stock_monthly",
"desc": "月线行情", "desc": "月线行情",
"rows": 640, "rows": 647,
"readers": [], "readers": [],
"writers": [], "writers": [],
"has_input": false, "has_input": false,
@@ -1614,11 +1614,11 @@
"desc": "股票行业映射", "desc": "股票行业映射",
"rows": 62, "rows": 62,
"readers": [ "readers": [
"strategy_lifecycle",
"trend_detector",
"mofin_news", "mofin_news",
"xiaoguo_news_processor",
"trend_detector",
"mofin_db", "mofin_db",
"xiaoguo_news_processor" "strategy_lifecycle"
], ],
"writers": [ "writers": [
"mofin_db" "mofin_db"
@@ -1644,7 +1644,7 @@
{ {
"name": "stock_weekly", "name": "stock_weekly",
"desc": "周线行情", "desc": "周线行情",
"rows": 1296, "rows": 1303,
"readers": [], "readers": [],
"writers": [], "writers": [],
"has_input": false, "has_input": false,
@@ -1659,9 +1659,9 @@
"desc": "全量股票代码", "desc": "全量股票代码",
"rows": 90, "rows": 90,
"readers": [ "readers": [
"xiaoguo_news_processor",
"trend_detector",
"mofin_news", "mofin_news",
"trend_detector",
"xiaoguo_news_processor",
"mofin_db" "mofin_db"
], ],
"writers": [ "writers": [
@@ -1690,8 +1690,8 @@
"desc": "策略重评历史记录", "desc": "策略重评历史记录",
"rows": 217, "rows": 217,
"readers": [ "readers": [
"system_audit",
"verify_reassess_pipeline", "verify_reassess_pipeline",
"system_audit",
"mofin_db" "mofin_db"
], ],
"writers": [ "writers": [
@@ -1744,20 +1744,20 @@
{ {
"name": "todos", "name": "todos",
"desc": "自愈任务队列", "desc": "自愈任务队列",
"rows": 67, "rows": 68,
"readers": [ "readers": [
"self_todo_executor", "self_todo_executor",
"intraday_health_check",
"morning_health_check", "morning_health_check",
"intraday_health_check",
"strategy-staleness-check" "strategy-staleness-check"
], ],
"writers": [ "writers": [
"strategy-staleness-check",
"mofin_collect",
"preflight_verify", "preflight_verify",
"self_todo_executor", "mofin_collect",
"intraday_health_check", "intraday_health_check",
"morning_health_check" "self_todo_executor",
"morning_health_check",
"strategy-staleness-check"
], ],
"has_input": true, "has_input": true,
"has_output": true, "has_output": true,
@@ -1786,16 +1786,16 @@
"desc": "自选股列表", "desc": "自选股列表",
"rows": 43, "rows": 43,
"readers": [ "readers": [
"per_stock_reassess",
"xiaoguo_signal_consumer",
"mo_alphasift_bridge",
"refresh_mtf_cache",
"trend_detector", "trend_detector",
"mofin_db", "mofin_db",
"run_all_tests",
"refresh_mtf_cache",
"mofin_collect", "mofin_collect",
"mo_alphasift_bridge", "stock_quote",
"mo_data",
"per_stock_reassess",
"price_monitor", "price_monitor",
"stock_quote" "xiaoguo_scanner"
], ],
"writers": [ "writers": [
"per_stock_reassess", "per_stock_reassess",
@@ -1823,7 +1823,7 @@
{ {
"name": "xiaoguo_scan_tracker", "name": "xiaoguo_scan_tracker",
"desc": "小果扫描跟踪", "desc": "小果扫描跟踪",
"rows": 519, "rows": 526,
"readers": [ "readers": [
"server", "server",
"xiaoguo_scanner" "xiaoguo_scanner"
@@ -1870,10 +1870,10 @@
{ {
"name": "candidate_pool.json", "name": "candidate_pool.json",
"desc": "潜力股候选池完整数据", "desc": "潜力股候选池完整数据",
"size_kb": 47.5, "size_kb": 50.6,
"readers": [], "readers": [],
"writers": [], "writers": [],
"last_modified": "07-09 10:10", "last_modified": "07-09 12:09",
"warn": true "warn": true
}, },
{ {
@@ -1942,10 +1942,10 @@
{ {
"name": "growth_registry.json", "name": "growth_registry.json",
"desc": "", "desc": "",
"size_kb": 1.3, "size_kb": 1.6,
"readers": [], "readers": [],
"writers": [], "writers": [],
"last_modified": "07-09 00:45", "last_modified": "07-09 12:45",
"warn": true "warn": true
}, },
{ {
@@ -1996,19 +1996,19 @@
{ {
"name": "macro_risk_state.json", "name": "macro_risk_state.json",
"desc": "宏观风险状态(采集器写入)", "desc": "宏观风险状态(采集器写入)",
"size_kb": 1.6, "size_kb": 1.2,
"readers": [], "readers": [],
"writers": [], "writers": [],
"last_modified": "07-09 10:06", "last_modified": "07-09 13:30",
"warn": true "warn": true
}, },
{ {
"name": "mofin_health.json", "name": "mofin_health.json",
"desc": "健康监控数据", "desc": "健康监控数据",
"size_kb": 82.9, "size_kb": 82.4,
"readers": [], "readers": [],
"writers": [], "writers": [],
"last_modified": "07-09 10:16", "last_modified": "07-09 13:15",
"warn": true "warn": true
}, },
{ {
@@ -2050,19 +2050,19 @@
{ {
"name": "price_events.json", "name": "price_events.json",
"desc": "", "desc": "",
"size_kb": 66.1, "size_kb": 112.8,
"readers": [], "readers": [],
"writers": [], "writers": [],
"last_modified": "07-09 10:30", "last_modified": "07-09 13:30",
"warn": true "warn": true
}, },
{ {
"name": "price_history.json", "name": "price_history.json",
"desc": "", "desc": "",
"size_kb": 1.9, "size_kb": 4.1,
"readers": [], "readers": [],
"writers": [], "writers": [],
"last_modified": "07-09 10:30", "last_modified": "07-09 13:30",
"warn": true "warn": true
}, },
{ {
@@ -2080,7 +2080,7 @@
"size_kb": 0.1, "size_kb": 0.1,
"readers": [], "readers": [],
"writers": [], "writers": [],
"last_modified": "07-09 10:30", "last_modified": "07-09 13:30",
"warn": true "warn": true
}, },
{ {
@@ -2199,7 +2199,7 @@
"script": "monitor_300308.py", "script": "monitor_300308.py",
"schedule": "*/2 13-14 * * 1-5", "schedule": "*/2 13-14 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-08T14:58:43", "last_run": "2026-07-09T13:30:51",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {
@@ -2208,7 +2208,7 @@
"script": "300308_monitor.py", "script": "300308_monitor.py",
"schedule": "*/2 13-14 * * 1-5", "schedule": "*/2 13-14 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-08T14:58:41", "last_run": "2026-07-09T13:30:52",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {
@@ -2217,27 +2217,9 @@
"script": "cron_watchdog.py", "script": "cron_watchdog.py",
"schedule": "*/15 9-16 * * 1-5", "schedule": "*/15 9-16 * * 1-5",
"status": "error", "status": "error",
"last_run": "2026-07-09T10:15:52", "last_run": "2026-07-09T13:15:31",
"profile": "default" "profile": "default"
}, },
{
"name": "MoFin 午后监控",
"type": "LLM",
"script": "generate_report.py intraday_monitor",
"schedule": "5,20,35,50 13-15 * * 1-5",
"status": "ok",
"last_run": "2026-07-08T15:54:54",
"profile": "position-analyst"
},
{
"name": "MoFin 盘前中监控",
"type": "LLM",
"script": "generate_report.py intraday_monitor",
"schedule": "25,40,55,10 9-11 * * 1-5",
"status": "ok",
"last_run": "2026-07-09T10:21:54",
"profile": "position-analyst"
},
{ {
"name": "MoFin 系统常规体检-开盘前", "name": "MoFin 系统常规体检-开盘前",
"type": "no_agent", "type": "no_agent",
@@ -2253,7 +2235,7 @@
"script": "bot_monitor.sh", "script": "bot_monitor.sh",
"schedule": "every 60m", "schedule": "every 60m",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T09:51:43", "last_run": "2026-07-09T12:53:59",
"profile": "default" "profile": "default"
}, },
{ {
@@ -2262,7 +2244,7 @@
"script": "cron_to_xmpp.py", "script": "cron_to_xmpp.py",
"schedule": "* 9-16 * * 1-5", "schedule": "* 9-16 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:29:30", "last_run": "2026-07-09T13:29:53",
"profile": "default" "profile": "default"
}, },
{ {
@@ -2271,7 +2253,7 @@
"script": "cron_to_xmpp.py", "script": "cron_to_xmpp.py",
"schedule": "*/5 9-16 * * 1-5", "schedule": "*/5 9-16 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:26:07", "last_run": "2026-07-09T13:25:33",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {
@@ -2280,7 +2262,7 @@
"script": null, "script": null,
"schedule": "0 * * * *", "schedule": "0 * * * *",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:10:50", "last_run": "2026-07-09T13:12:45",
"profile": "default" "profile": "default"
}, },
{ {
@@ -2307,7 +2289,7 @@
"script": "xiaoguo_quick_scan.py", "script": "xiaoguo_quick_scan.py",
"schedule": "*/15 * * * *", "schedule": "*/15 * * * *",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:15:55", "last_run": "2026-07-09T13:15:33",
"profile": "default" "profile": "default"
}, },
{ {
@@ -2315,8 +2297,8 @@
"type": "no_agent", "type": "no_agent",
"script": "xiaoguo_tunnel_watchdog.sh", "script": "xiaoguo_tunnel_watchdog.sh",
"schedule": "*/5 * * * *", "schedule": "*/5 * * * *",
"status": "ok", "status": "error",
"last_run": "2026-07-09T10:25:21", "last_run": "2026-07-09T13:27:47",
"profile": "default" "profile": "default"
}, },
{ {
@@ -2324,8 +2306,8 @@
"type": "no_agent", "type": "no_agent",
"script": "price_monitor.py", "script": "price_monitor.py",
"schedule": "*/2 9-16 * * 1-5", "schedule": "*/2 9-16 * * 1-5",
"status": "error", "status": "ok",
"last_run": "2026-07-09T10:29:07", "last_run": "2026-07-09T13:28:01",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {
@@ -2334,7 +2316,7 @@
"script": "mofin_health.py", "script": "mofin_health.py",
"schedule": "*/15 9-16,20-22 * * 1-5", "schedule": "*/15 9-16,20-22 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:16:13", "last_run": "2026-07-09T13:15:28",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {
@@ -2343,7 +2325,7 @@
"script": "meta_growth.py", "script": "meta_growth.py",
"schedule": "45 0,12 * * 1-5", "schedule": "45 0,12 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T00:45:05", "last_run": "2026-07-09T12:45:41",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {
@@ -2352,7 +2334,7 @@
"script": "cron_health_monitor.py", "script": "cron_health_monitor.py",
"schedule": "*/10 9-16 * * 1-5", "schedule": "*/10 9-16 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:21:22", "last_run": "2026-07-09T13:20:59",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {
@@ -2370,7 +2352,7 @@
"script": "branch_scanner.py", "script": "branch_scanner.py",
"schedule": "15,30,45,00 9-15 * * 1-5", "schedule": "15,30,45,00 9-15 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:30:31", "last_run": "2026-07-09T13:30:52",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {
@@ -2387,8 +2369,8 @@
"type": "no_agent", "type": "no_agent",
"script": "refresh_mtf_cache.py", "script": "refresh_mtf_cache.py",
"schedule": "0 9,11,14 * * 1-5", "schedule": "0 9,11,14 * * 1-5",
"status": "ok", "status": "error",
"last_run": "2026-07-08T14:01:26", "last_run": "2026-07-09T11:03:19",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {
@@ -2397,7 +2379,7 @@
"script": "", "script": "",
"schedule": "{'kind': 'cron', 'expr': '*/10 * * * *'}", "schedule": "{'kind': 'cron', 'expr': '*/10 * * * *'}",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:21:54", "last_run": "2026-07-09T13:20:54",
"profile": "default" "profile": "default"
}, },
{ {
@@ -2406,7 +2388,7 @@
"script": "refresh_macro_context.py", "script": "refresh_macro_context.py",
"schedule": "*/30 9-15 * * 1-5", "schedule": "*/30 9-15 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:01:04", "last_run": "2026-07-09T13:01:09",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {
@@ -2415,7 +2397,7 @@
"script": "macro_context_collector.py", "script": "macro_context_collector.py",
"schedule": "*/30 8-16 * * *", "schedule": "*/30 8-16 * * *",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:01:09", "last_run": "2026-07-09T13:01:12",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {
@@ -2424,7 +2406,7 @@
"script": "macro_signal_consumer.py", "script": "macro_signal_consumer.py",
"schedule": "5,20,35,50 9-15 * * 1-5", "schedule": "5,20,35,50 9-15 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:20:53", "last_run": "2026-07-09T13:20:35",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {
@@ -2442,7 +2424,7 @@
"script": null, "script": null,
"schedule": "30 11 * * 1-5", "schedule": "30 11 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-08T11:37:35", "last_run": "2026-07-09T12:05:13",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {
@@ -2460,7 +2442,7 @@
"script": "xiaoguo_signal_consumer.py", "script": "xiaoguo_signal_consumer.py",
"schedule": "0,15,30,45 9-15 * * 1-5", "schedule": "0,15,30,45 9-15 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:17:05", "last_run": "2026-07-09T13:15:25",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {
@@ -2487,7 +2469,7 @@
"script": "xiaoguo_scanner.py", "script": "xiaoguo_scanner.py",
"schedule": "*/5 9-15 * * 1-5", "schedule": "*/5 9-15 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:27:08", "last_run": "2026-07-09T13:25:45",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {
@@ -2496,7 +2478,7 @@
"script": "market_watch.py", "script": "market_watch.py",
"schedule": "*/10 9-11,13-15 * * 1-5", "schedule": "*/10 9-11,13-15 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:21:00", "last_run": "2026-07-09T13:20:39",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {
@@ -2505,7 +2487,7 @@
"script": "market_watch.py", "script": "market_watch.py",
"schedule": "0,30 9-16 * * 1-5", "schedule": "0,30 9-16 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:00:41", "last_run": "2026-07-09T13:00:14",
"profile": "default" "profile": "default"
}, },
{ {
@@ -2604,7 +2586,7 @@
"script": "intraday_health_check.py", "script": "intraday_health_check.py",
"schedule": "*/15 9-15 * * 1-5", "schedule": "*/15 9-15 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:15:46", "last_run": "2026-07-09T13:15:25",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {
@@ -2694,7 +2676,7 @@
"script": "review_needed_watchdog.py", "script": "review_needed_watchdog.py",
"schedule": "0,30 9-15 * * 1-5", "schedule": "0,30 9-15 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:30:34", "last_run": "2026-07-09T13:30:50",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {
@@ -2721,7 +2703,7 @@
"script": "self_todo_executor.py", "script": "self_todo_executor.py",
"schedule": "*/10 8-22 * * 1-5", "schedule": "*/10 8-22 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:30:36", "last_run": "2026-07-09T13:30:52",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {
@@ -2739,7 +2721,7 @@
"script": "stale_push_wlin.py", "script": "stale_push_wlin.py",
"schedule": "1,31 9-15 * * 1-5", "schedule": "1,31 9-15 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:01:58", "last_run": "2026-07-09T13:01:59",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {
@@ -2747,8 +2729,8 @@
"type": "no_agent", "type": "no_agent",
"script": "per_stock_reassess.py", "script": "per_stock_reassess.py",
"schedule": "0 9,12,15 * * 1-5", "schedule": "0 9,12,15 * * 1-5",
"status": "ok", "status": "error",
"last_run": "2026-07-09T10:25:00", "last_run": "2026-07-09T12:02:59",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {
@@ -2802,7 +2784,7 @@
"script": "capital_flow_collector.py", "script": "capital_flow_collector.py",
"schedule": "1,31 9-15 * * 1-5", "schedule": "1,31 9-15 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:01:57", "last_run": "2026-07-09T13:01:59",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {
@@ -2811,7 +2793,7 @@
"script": "divergence_detector.py", "script": "divergence_detector.py",
"schedule": "*/30 8-15 * * *", "schedule": "*/30 8-15 * * *",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:00:55", "last_run": "2026-07-09T13:01:03",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {
@@ -2829,7 +2811,7 @@
"script": "verify_reassess_pipeline.py", "script": "verify_reassess_pipeline.py",
"schedule": "*/30 9-16 * * 1-5", "schedule": "*/30 9-16 * * 1-5",
"status": "ok", "status": "ok",
"last_run": "2026-07-09T10:30:37", "last_run": "2026-07-09T13:01:04",
"profile": "position-analyst" "profile": "position-analyst"
}, },
{ {