# 系统变更通告 — 给知微(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 找笑笑。