From c42769f2934c7daf087aa3f10a1aa9650c16ac16 Mon Sep 17 00:00:00 2001 From: hmo Date: Mon, 20 Jul 2026 20:36:50 +0800 Subject: [PATCH] docs: zhiwei briefing on 2026-07-20 system changes --- docs/zhiwei-briefing-20260720.md | 55 ++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 docs/zhiwei-briefing-20260720.md diff --git a/docs/zhiwei-briefing-20260720.md b/docs/zhiwei-briefing-20260720.md new file mode 100644 index 00000000..d142072c --- /dev/null +++ b/docs/zhiwei-briefing-20260720.md @@ -0,0 +1,55 @@ +# 系统变更通告 — 给知微(2026-07-20 晚,笑笑发) + +知微,今天 MoFin 系统做了一次大扫除 + 自检体系重建,以下变化直接影响你的日常工作,请逐条知晓: + +## 一、小果生态已全部移除 + +xmpp_xiaoguo_bot(root 跑了 8 天占 2.5GB)、8645 gateway、xiaoguo-tunnel、4 个相关 cron、全部小果脚本和数据文件已归档到 `archive/xiaoguo-retired-20260720/`。全市场选股由 `market_scanner.py`(纯数据驱动)承担,不要再引用任何 xiaoguo 组件。 + +## 二、数据库已统一,只认一个 + +- 唯一权威库:`/home/hmo/MoFin/data/mofin.db`(= web-dashboard 硬链接)。 +- 原来的"第三库"(profile scripts/data/mofin.db)数据已合并进主库后删除。profile 本地 data 目录不再存放业务数据。 +- `price_events.json` 已彻底退役,价格事件只写 DB `price_events` 表(原来写 JSON 且外键失败静默丢失,已修复并回填 4064 条历史)。 +- `mofin_db.py` 的 DB_PATH 已改为绝对路径,不再有"换个位置加载就换个库"的问题。 + +## 三、文件编辑位置变了(红线#6 单一事实源) + +以后改代码只能在这两个位置改,其他地方改了会被当作冗余归档: + +| 你要改什么 | 在哪改 | +|-----------|--------| +| cron 脚本(被调度执行的) | `/home/hmo/MoFin/deploy/profile-scripts/` | +| 被 import 的库(mo_*/mofin_*/strategy_*/technical_*) | `/home/hmo/MoFin/`(根目录) | +| XMPP bot | `/home/hmo/MoFin/deploy/bot/` | + +硬链接断了不用管:systemd watcher + git hook 会在几秒内自动重链(日志在 `gateway/logs/link_sync.log`)。MoFin/scripts/ 的旧副本已全部归档,**不要再从那里拿文件**。 + +## 四、自检体系 L0-L4 已建成,你的健康检查要配合 + +| 层 | 组件 | 干什么 | +|----|------|--------| +| L0 | agents_health_check(5min) | 端口/HTTP/DB 存活 + auto_heal 执行 | +| L1 | functional_health_check(交易时段15min) | 功能判据:9 个核心模块的输出物新鲜度,不是进程活着 | +| L2 | system_hygiene_audit(每日08:20) | 分叉副本/断链/僵尸/孤儿文件/死cron/DB新鲜度 | +| L3 | self_repair(30min) | **发现异常直接修**(报备制):LLM 诊断→白名单动作执行→记 repair_log.jsonl→XMPP 报备 | +| L4 | meta_watchdog(每小时) | 自检系统的自检,L0-L3 谁死了直接 XMPP 点名 | + +**对你的要求**: +1. 你的健康检查/预检脚本**必须查 DB 表新鲜度**(`SELECT MAX(时间列)`),不许再拿文件 mtime 当管道健康证据——"数据管道停滞14天"那种假警报就是这么来的(数据早就在 DB 里了)。 +2. 发现需要修复的事,**直接修然后报备**(先斩后奏记日志),不要只写"修复建议"等指示——这是新的纪律(红线+报备制)。 +3. L3 已在自动处理:price_monitor/市场采集/健康采集等管道异常会被自动重跑,你收到 XMPP 报备时知道是它干的。 + +## 五、F健康新增 🩺自检体系 Tab + +Dashboard → 健康 → 🩺自检体系:能看到 L4 各层状态、L1 九项功能判据逐项、L2 卫生问题、L3 修复时间线。你排查问题时先看这里。 + +## 六、新红线(dev-spec.md v2.0,五条→十条) + +新增 #6-#10:单一事实源 / 数据路径必须绝对 / 备份遗留物禁止留生产数据目录 / 死模块收尸六步(杀进程→停服务→删cron→归档脚本→归档数据→摘监控)/ 监控查活不查在。 + +你写新模块时遵守;发现旧代码违反,按收尸清单处理并记录 CHANGELOG。 + +--- + +部署已验证:246 master @ 86a93d30,31 项部署检查全过。有问题在 kanban 回我或直接 XMPP 找笑笑。