Commit Graph
148 Commits
Author SHA1 Message Date
xxm 3ae2386b12 docs: §36 flow>=5六步法完整重测——协议到位后的确定阴性
按3/6/12完整协议重测(老莫两次指正后):
- 结构买卖点衡量(动态): zigzag 8%反转出场与波段定义同构, 60日仅兜底
- 42.8%信号曾形成>=8%峰值(首尾判定会埋成0%), 但兑现仅+0.54%/wr36%
- 第4步负面因子(12维/17因子): mkt_rsi<40(wr26%)/爆量(-0.41%)/无新闻(8.6%vs负新闻14.5%)
- 第5步最优合并: wr45%/中位-1.5% 不可行
- 关键认知: 出场重评(3+12)救不了负期望池; edge在波动里不在可预测性里
2026-08-05 09:54:41 +08:00
xxm efb5f0d6df docs: §35 12维全因子趋势重建——终结性阴性结论
- 唯一强区分因子flow>=5(赢家集大赢家率50% vs 21%), 全市场验证再次失败(-1.90%/wr34.4%)
- 赢家采样陷阱数学本质: flow>=5在全市场25%交易日触发, 赢家集仅4.4% — 条件概率vs先验概率
- 四条独立路径(技术/v8.1推广/事件/资金流)全败, 数据补齐后结论不变
- 终结结论: A股结构性边缘=均值回复不是趋势跟踪; 趋势edge只在池子策展(v_next4)
- 最终组合架构: 趋势市v_next4(池)/弱市甜区v_weak(全市场已实盘)/强跌市空仓/禁买区不接飞刀
2026-08-05 09:07:21 +08:00
xxm 5ba65e93a9 docs: §34 v_weak行业增强验证(阴性)+mr_scanner实盘切换
- 行业增强无效: v_weak信号73%本就落在S下+ADX>=20, 入场条件已隐含行业状态, 补跌阱仅4信号
- 变体A/B组合口径均不超基线(181.4%) — v_weak维持原参数不加行业过滤
- mr_scanner切换v_weak六条件(commit b82bd9ac), 硬链部署即生效
- deploy_guard教训复发: 分批patch超15分钟被回滚, 必须一次性patch+立即commit
2026-08-05 08:39:22 +08:00
xxm 86bd3690c1 docs: §33 行业映射全量回填完成——12维数据基础最终态
- 东财解封后抓全部496行业板成分股(0失败), 优先映射已有行业名/否则最细粒度板
- stock_sectors_em 259→5061条, 覆盖98.6%(3953/4010); 57只退市股永久缺口
- 204新行业指数合成(+356300行/12秒), sector_index_daily达299行业全10y
- 12维最终态: 技术4010 消息3971 行业5061+299 资金3980 无剩余缺口
- 沉淀封禁应对方法论: push2delay绕行/成分股合成/双机分流/哨兵值守
2026-08-05 03:19:48 +08:00
xxm 7a28b9d9dd docs: §32 资金流全市场回填完成——12维数据基础全齐
- 关键发现: 新浪ssl_qsfx_zjlrqs单票返回上市以来全历史(茅台3983天), 现有采集器只取5天是浪费
- 双机分流绕单IP限速: 246跑800只 + Windows 8进程跑3210只(10分钟), 720万行28秒入库
- 最终924万行/3980codes(99.3%), v_weak票覆盖221/222
- 质量校验: 茅台9/24行情+31.57亿/10.8崩盘-31.98亿 与史实吻合
- 东财/新浪口径不同但符号一致(3/3), INSERT OR IGNORE混源可用
- 12维全市场数据: 技术消息行业资金 全部就绪
2026-08-05 02:55:13 +08:00
xxm 59aae04404 docs: §31 行业指数10y合成回填+行业周期10年验证
- 东财封禁替代方案: 用成分股等权收益合成行业指数(153944行/15秒), 接缝对齐EM官方值
- 校验: 半导体2018 -45.3%/2019 +92.1%, 银行2024 +49.5% — 符合史实
- 10y全样本(16万采样): 双弱(M下S下ADX<20)最优+3.93%/47.1%, 补跌阱(M下S上>=30)最差-2.75%/35.7%
- 分年: 双弱8/10年最优(2024 +16.7%/62%), 补跌阱弱市年年垫底
- 修正§30: 2y窗口高估(+20.8%), 10y收敛为+3.93% — 行业状态定位=过滤/倾斜不是信号
- 数据资产: 12维全市场只差资金流(259只→待新浪路线回填)
2026-08-05 01:23:51 +08:00
xxm dad49e8c70 docs+ui: §30行业粒度验证+行业映射回填(259→3454)+组合页修正
§30:
- 行业映射回填: 东财496板匹配103行业, 成分股经push2delay拉取, stock_sectors_em 259→3454条(覆盖58.5%)
- 行业周期独立信息量验证(1902只): M下S下双弱 r60+20.8%/wr70% 最优 vs M上S上双强 +7.7%/54.2% 最差
- 分年稳健: 双弱>双强 三时段全成立 — A股均值回复主导所有层级
- 数据缺口: 行业指数历史仅2024-07起, 10y回填被东财封禁阻塞(后台脚本带断点续跑)

组合页:
- v_next4卡片加适用池警告(267池验证, 全市场复跑wr35.9%失效)
- v_weak卡片更新最终8槽口径(234笔/62.4%/ret178.3%/年化12.8%/回撤16.4%)
2026-08-05 00:52:29 +08:00
xxm 3ecc8f78af docs: §28周期方案评估+§29 v_next全市场重建三路径全败(阴性结论)
§28 周期方案:
- 赢家口径ADX细分无差异; 信号口径格子差7pp(下+15-20接飞刀区-3.72% vs 下+>=40极值区+3.51%)
- 现3分类把下跌中继和恐慌极值混为trend_down — 弱市侧应加ADX子状态
- 行业粒度池内证据强(M下S下ADX<20: r60+21.65%/wr79.4%)但全市场映射缺失(仅259只)

§29 重建三路径全败:
- 赢家状态因子全市场-0.32%, 加流动性过滤(amt>=3亿)仍-0.33%
- v8.1推广全市场1427笔/wr35.9%/3槽-34.3%; 688池内13.45%vs池外6.95% — edge绑定池子策展
- 事件触发(首站MA60/破新高±放量)全负, 放量在趋势市是负面因子
- 硬结论: A股全市场趋势跟踪无简单技术edge; 唯一未试路径=12维全因子(需回填资金流+行业映射)
2026-08-04 23:41:38 +08:00
xxm 245c085f38 docs: §27 v_next4适用范围真相 - 全部验证在267池(非全市场)+信念调优无效
重大发现:
- stock_daily扩表时间线: 07-29=272codes/07-30=520/08-02=4266
- v_next4全部2y/5y/10y记录都在扩表前的267只A股池(实盘跟踪池)上验证
- 全市场复跑: 1427笔/wr35.9%/3槽组合-34.3% — v8.1评分池外完全失效
- 池内复现108笔/wr61.1%/full ret79.5% ≈ 库里103笔/63.1%/81.6%
- 信念变体调优(DNA×1/flow×3/cap×6/组合): 108笔噪声内无显著差异
- DNA降权反而变差(75.7%vs79.5%), §26结论被样本噪声误导已修正
- 结论: v_next4是池内有效策略, 组合页应标注适用池; v_weak是全市场验证
2026-08-04 17:41:05 +08:00
xxm 8a36449970 docs: §26 v_next4六步法重做 - 赢家采样陷阱+信念权重调优方向
- 趋势市起点画像: 贴MA60+RSI中等+大盘ADX低(趋势酝酿期)
- 赢家采样陷阱验证: 三因子赢家集165%均值但全市场实时筛股-0.3%失败
- 实单103笔: dist_ma20[5,10]x slope<-2 wr92%; RSI60-70xdist10-15 avg32%
- boost信念叠乘是真正alpha: 4.0(26笔) wr92% vs 1.0(33笔) wr42%
- flow_delta>0 100%wr最强; DNA无效(62vs63)应降权
- swing波段体系有效: swing_re 21笔 avg32.79%/wr86% 吃大波段
- 结论: 优化方向=调信念权重结构, 不做换入场单因子
2026-08-04 16:27:20 +08:00
xxm d09601d2c0 docs: §25 卖点研究结论 - 波段终点画像+出场机制验证
- 重建58135波段终点因子画像(wave_ends.json), 真顶vs假顶单因子无法区分
- +30%时刻分析: 73.3%还会创新高但46%回撤超10%, 涨速/bias20是区分因子
- 严格回测: 机械出场在6/8/10槽全部最优(194.7/181.4/170.4%), 分仓/trail均落后
- 原因: 组合资金效率主导, 单笔最优≠组合最优
- v_weak入场侧已最优(信号日确认复现6.91%/63.4%), 剩余优化空间在v_next4重做
2026-08-04 16:12:51 +08:00
xxm a40004f7a6 docs: 新闻与上涨时间关系——先导反而降低收益(§24)
- 新闻43.5%在先 vs 54.3%在后, 平均滞后1.5天
- 关键发现: 无先导波段+59.5%最高, 先导越多收益略降, 纯滞后+64.6%最高
- 结论: 新闻滞后报道, 先导=拥挤交易信号, 无先导的票反而涨得猛
- 消息面三重铁证: 有/无新闻无差异 + 利好利空无差异 + 先导降低收益
- v_weak优势来源: 选没新闻盯上的超跌票, 避开新闻拥挤度
2026-08-04 14:40:53 +08:00
xxm 293eef0d11 docs: 消息面分析最终结论——数据补全但无选股价值(§23)
- 4001只赢家波段股×相关时段, 401万条新闻全量补全
- 全量分析: 利好52.8%/利空49.5%/中性56.4%——无显著关联
- 之前248只子集的+126.5%是小样本噪音, 全量后消失
- 反向因果: 新闻是涨的结果不是驱动, 不能作选股因子
- 12维消息面定位: 数据可用但不可选股, 仅作辅助参考
2026-08-04 12:59:03 +08:00
xxm e25c6aa686 docs: 消息面补数据研究——同花顺API定向拉取能力(§22)
- offset游标语义: 严格排他上界(返回之前新闻), 实测验证
- 窗口化拉取算法: offset=终点+1s往回翻, 到起点停, 过滤区间
- 历史深度2011+, 6周窗口19页(size100约4页)0越界
- 定向补: 210只赢家波段×[起点-7天~起点+40天]窗口, 已入库9471条
- 12维消息面可补: 同花顺主源(2016-2026)+东财近期补充
2026-08-04 11:13:42 +08:00
xxm dadad3c1cc docs: 仓位优化——每月≤30+等权8槽(§21)
仓位矩阵扫描: 8槽最优(4→8槽年化+2pp回撤-4pp收益回撤6.5→10.9)
解决三个质疑: 笔数136→234(+72%) / 年化12.0→12.8% / 回撤18.7→16.4%
v_weak最终: 234笔/avg+7.17%/wr62.4%/8槽ret178%/年化12.8%/回撤16.4%/收益回撤10.9
2026-08-04 00:51:59 +08:00
xxm 72b6136761 docs: C机器学习探索——时序外验证(§20)
纯Python逻辑回归(无sklearn), 前70%训练后30%测试防过拟合
结果: 止盈精确率34%→51%(+17pp) 时序外有效
但不优于缩量+收阳硬规则(wr61.8%), v_weak保持硬规则
新因子发现: mkt_adx接近上沿(+0.695)/r10f深跌(-0.278)/rsi_delta负(-0.150)
2026-08-04 00:19:28 +08:00
xxm 6bf4a28194 docs: v_weak三次评估优化——入场重评确认(缩量+收阳) §19
三次评估回测探索: 等回调买入wr降(48.2%), swing/MA10出场对深超跌太敏感(97%被平)
最优: 信号日缩量(<1.0)+收阳双确认, 简单出场tp30/sl12/40
结果: 136笔/avg+7.00%/wr61.8%(+4.3pp)/去2018+8.46%(+2.1pp)/dd18.7%
v_weak最终: 甜区选股→缩量收阳入场确认→tp/sl/40简单出场
2026-08-04 00:07:10 +08:00
xxm 70ce86099a docs: 止损+RR定稿——固定-12%止损 + RR2.5止盈(+30%)
21组合扫描(7止损×3RR): 固定-12%+RR2.5最优(avg+5.13%/wr57.5%/去2018+6.34%)
跌破前低止损验证: 距前低<5%→止损距离仅4-8%, 深超跌高波动频繁被扫(wr42-53%)
RR验证: 止盈/止损=30/12=2.5>=2 
入场: 甜区+bias60+RSI+急跌+距前低<5%+每月≤8+等权6槽
2026-08-03 20:43:10 +08:00
xxm 3805e2233c docs: 入场修正——只买下方有支撑的票(距前低<5%)
老莫洞察: 支撑太远的票不该买
验证: 距20日低点<5% avg+10.93%/wr70% vs >10% avg+4%以下
修正后: 292笔/avg+5.13%/wr57.5%/去2018+6.34%/正年10/11/6槽ret310%/dd19.4%
止损结论: 深超跌无可靠技术支撑, 固定-12%最优; 入场用距前低<5%确保有承接
2026-08-03 20:15:12 +08:00
xxm 346e45dbae docs: 回撤优化——每月≤8信号(27.6%→19.4%)
根因: 2023-2024阴跌市312笔wr36.2%, 2024-01微盘危机22笔全灭
测试证伪: 大盘RSI/斜率择时无效, 收紧止损无效, 高槽位无效
最优: 同月≤8自然序+等权6槽 → 回撤19.4% 年化16.7% 收益回撤15.9
v_weak更新: 301笔/6槽+308%/dd19.4%/去2018+6.00%/正年10/11
2026-08-03 15:53:20 +08:00
xxm 52abaf80a5 docs: 仓位研究结论——等权6槽自然序最优(§15)
科学仓位研究: 强度分单调性验证(十等分D1+1.24%→D10+18.17%)
6方案×3-8槽全扫描: 等权6槽最优(年化9.6%/回撤27.6%/收益回撤4.7)
反直觉: 分级加权和score排序都损害收益(等权115% vs 高分优先17%)
v_weak sizing_slots: 5→6, 组合ret130.6%/dd27.6%
2026-08-03 12:39:38 +08:00
xxm 55488c2c98 feat: v_weak弱市策略定稿落地(六步方法论+12维框架完整产出)
- 策略: 弱市(MA20下)+大盘ADX∈[25,30]甜区 + bias60∈[-35,-20] + RSI≤25 + 5日急跌; tp30/sl12/40
- 回测: 2649笔/avg+10.66%/wr68.4%/去2018+5.60%/正年9/11/组合5槽年化7.9%
- 后端: members优先读v_weak(替代不合格v_mr_sel)
- 前端: v_mr卡片改推荐+完整策略说明
- 文档: §14完整六步推导链
2026-08-03 12:00:03 +08:00
xxm 9080790ed2 feat: v_mr扫描器加大盘ADX甜区门控(12维框架发现)
12维分析(大盘技术面×个股技术面): 弱市深超跌edge前提=大盘ADX∈[25,30]
全市场10年验证: ADX25-30 avg+4.89% vs ADX>=40 -0.10% vs ADX<20 +1.63%
叠加bias60<-20+RSI<30: avg+5.04%/去2018+5.67%/正年10/11
落地: 非甜区默认跳过(--force可强制); 文档§13记录完整推导
2026-08-03 08:58:35 +08:00
xxm 53fc09ec6b docs: v_mr全系不合格结论固化(§12) + 弱市选股无alpha教训
六步方法论全面重审: v_mr靠2018熊市撑起(去2018 avg+2.14%/wr49.8%掷硬币)
v_mr_sel 144笔中2018-10占54%覆盖仅14月——一次行情产物
穷尽验证(超跌/强势/突破/低PE防御)弱市均无可实盘alpha
结论: 弱市最好策略是仓位管理(降仓/空仓), 已确认实盘6.5节生效
方法论教训: 评估必须做去极端年稳健性检查, 防2018型假象
2026-08-03 01:38:09 +08:00
xxm 7ba5391344 docs: v_mr精选出场调优固化(tp25/sl10/h30)
网格扫描tp×sl×hold: avg12.73%→15.51%, wr88.9%→90.3%
去2018仍+12.18%/81.1%稳健; 组合3槽年化11.0%/回撤10.0%
2026-08-03 00:07:07 +08:00
xxm cd9d6a8a38 docs: v_mr六步方法论精选调优结果固化(§11)
21690笔回测→正面因子(4)+负面因子(4)合并:
144笔/avg+12.73%/wr88.9%/pf2.67, 去2018仍+10.76%/83.8%非过拟合
年均14笔=每月1笔适合手工; 待落地: 扫描器规则替换+出场调优
2026-08-03 00:04:20 +08:00
xxm 09f40aadd7 docs: 记录策略研究六步方法论为通用铁律(learned.md)
v_mr扫描器违规教训: 拍脑袋发明bias60最超跌排序, 实测证伪(最深档最差)
方法论: 涨幅显著票→共同因子→全市场筛→负面因子→合并再筛→调参
2026-08-02 23:51:14 +08:00
hmo b676d85c41 feat: v_mr 均值回复策略 v2——10y全市场验证通过(21690笔/53.6%WR/avg+3.34%)
- 独立均值回复引擎: MA60下>10%+RSI≤42+60日跌>15%+小盘≤1500万+RSI止跌≥2
- 出场: 止盈+18%/止损-8%/25天, 移除MA20反弹截断(v1毒药)
- backtest_framework: prepare_bars 补 amount 字段(千元)
- 大盘上下文: sh000001 2016-2020 数据从 sector_index_daily 回填 stock_daily
- 验证: sideways(ADX)过滤有害(206.6%→147.9%), mkt_mode=any 最优
- docs/v_mr_strategy.md 完整策略文档
2026-08-02 15:02:10 +08:00
hmo 3ea7c52112 feat(L2): 卫生审计自动收尸——scripts/影子副本+零引用孤儿(mtime>7天)自动git mv归档并提交; dev-spec新增文件居住宪法(红线#9) 2026-07-22 08:41:06 +08:00
hmo 93f0b24007 docs: 纪律文档加严——git写权限撤销(pre-commit白名单,kanban唯一路径) 2026-07-21 23:49:29 +08:00
知微 34337fc5b7 clean: 移除早上健康检查/系统审计中的小果残留引用(二次提交—deploy guard恢复旧版后重新应用) 2026-07-21 12:05:43 +08:00
hmo e6e79ced0d docs: 红线#12 告警信噪比纪律(alert_helper两级通道) 2026-07-21 02:44:56 +08:00
hmo a69b246c57 feat(guard): 部署一致性守卫 deploy_guard.py + 知微运维纪律 + 健康JSON移出跟踪
- deploy_guard.py (15min cron): 代码漂移自动回滚(仅未提交改动)+
  session-work可快进时自动merge部署+幂等重链+cron引用完整性,
  状态落盘JSON, 有动作即XMPP报备
- docs/zhiwei-ops-discipline.md: 知微纪律——禁止直接编辑被跟踪代码/
  禁stale提交/禁直调gateway批量LLM; 自愈白名单(rerun/restart/
  sync/switch_key)本不改代码, 与纪律不矛盾; 紧急热修走git流程,
  提交到session-work后guard 15min自动部署
- dev-spec 红线#6 补充部署守卫机制
- static/mofin_health.json 移出git跟踪(运行时产物, 常驻dirty
  会废掉漂移检测)
2026-07-21 01:17:01 +08:00
hmo 574151aee9 docs: 红线#11 批量LLM调用禁走hermes gateway agent通道(603288事件) 2026-07-21 01:05:08 +08:00
hmo 60dbb64f92 docs(dev-spec): v2.1 — fix section numbering + outdated refs
Zhiwei flagged: '十条红线' but she counted 14. Real issues found:
- duplicate section numbers: two '三、' (验证闭环 + 自检体系矩阵),
  two '四、' (开发流程 + 部署环境) -> renumbered 一~七 sequentially
- doc index said '含五条红线' (stale from v1) -> '含十条红线'
- F 小节 still used old Tier1/Tier2 framing -> aligned to L0/L1-L2
  with pointer to the L0-L4 matrix section
- version bump v2.0 -> v2.1
Minimal edit: no content changes beyond numbering/consistency.
2026-07-20 21:21:21 +08:00
hmo 94883539de docs: reply to zhiwei on cron error status accuracy 2026-07-20 20:57:20 +08:00
hmo c42769f293 docs: zhiwei briefing on 2026-07-20 system changes 2026-07-20 20:36:50 +08:00
hmo 9a359f49bd feat(deploy): automatic hardlink repair built into deployment pipeline
User insight: hardlink breakage only happens at deploy time (scp file
replacement / git checkout-merge), so detection must be welded INTO the
deploy pipeline, not left to daily audit.

Three automatic layers, no reliance on discipline:
1. systemd path watcher (profile-scripts-sync.path): watches
   deploy/profile-scripts/ directory, auto-fires sync_profile_scripts.sh
   on any change. Verified: fires within 4s of file replacement, logs to
   gateway/logs/link_sync.log (runs as hmo user)
2. git hooks (.git/hooks/post-merge + post-checkout on 246 repo):
   auto re-link after git operations
3. Manual fallback: sync_profile_scripts.sh (now self-logging)

dev-spec red line #6 updated: SSOT rule now documents the three layers
and states breakage only happens at deploy time.
2026-07-20 20:27:11 +08:00
hmo 08eef1e181 feat(self-check): L0-L4 layered self-check architecture with LLM auto-repair
User directive: daily not weekly; clear responsibilities per layer with no
overlap; functional criteria (does the function WORK) not process liveness;
problems get FIXED via LLM with file-and-report discipline (act first,
report after); plus a meta-layer watching the watchers; deeply integrated
into F健康.

Architecture (responsibility matrix in dev-spec.md):
- L0 agents_health_check (5min): port/HTTP/DB liveness + auto_heal executor
- L1 functional_health_check (15min trading): per-module FUNCTIONAL
  criteria — output freshness/validity per REGISTRY (live_prices/market_
  snapshots/mtf_cache/macro_context/bot/LLM/cron engine), not process alive
- L2 system_hygiene_audit (daily 08:20, was weekly): divergence/hardlink/
  zombie/orphan/dead-cron/db-freshness
- L3 self_repair (30min): reads L1/L2 failures -> LLM diagnoses -> executes
  WHITELISTED repair actions directly (rerun_script/restart_service/
  sync_links/switch_llm_key/none) -> repair_log.jsonl + XMPP report.
  Max 2 repairs/module/day anti-loop. LLM unavailable -> rule fallback.
- L4 meta_watchdog (hourly): checks L0-L3 output freshness + L3 cron
  registration + XMPP bridge; direct XMPP alert as last resort

Retired (overlap): Cron监护-高频 (cron_watchdog -> L3), 全局cron健康监控
(cron_health_monitor -> L1).

Dashboard: mofin_health.py now emits self_check section (functional/meta/
hygiene/recent_repairs); mofin_health.html new '🩺 自检体系' tab rendering
L4 layers, L1 module checks, L2 issues, L3 repair history.

E2E verified: stopped xmpp bot -> L1 flagged fail -> systemd recovered ->
L3 LLM correctly diagnosed 'none needed' and logged; rerun_script whitelist
path executes real scripts successfully; meta_watchdog all-green after fix.
2026-07-20 19:39:58 +08:00
hmo 4f83ee8a01 feat(hygiene): anti-redundancy enforcement — spec rules + weekly audit
Root cause analysis of the 2026-07-20 redundancy incident:
1. No single-source-of-truth rule -> same file legitimately lived in 4+
   locations, diverging silently
2. Relative path resolution (Path(__file__).parent/'data') -> each
   hardlinked copy of mofin_db.py pointed to a DIFFERENT database
3. 'Backup habit' left .bak/legacy files in production dirs, which
   monitoring then scanned and reported as false alarms
4. Half-done migrations: DB tables created but old JSON writers/readers
   stayed (price_events), old files stayed
5. Dead modules never got buried: xiaoguo 'dead' but bot ran 8 days
   as root eating 2.5GB
6. Monitoring checked 'does it exist' not 'is it alive' -> stale file
   mtime reported as 'pipeline stalled 14 days' (false alarm)
7. No 'system hygiene' as a check category at all

Prevention implemented:
- dev-spec.md v2.0: 五条红线 -> 十条红线
  #6 single source of truth (hardlink only, no independent copies)
  #7 absolute data paths only (no __file__-relative data resolution)
  #8 no backups/legacy in production data dirs (archive immediately)
  #9 dead module burial checklist (6 mandatory steps)
  #10 monitor liveness (DB table freshness) not existence
- File Location Constitution: canonical location per content type
- NEW system_hygiene_audit.py: weekly Monday 07:30 cron checking
  diverged copies / broken hardlinks / zombie processes / orphan data
  files / dead cron scripts / DB freshness -> hygiene_report.json + XMPP
- specs/hygiene.json: module spec per red line #1
- Verified: audit found 5 real issues on first run, all fixed, re-run clean
2026-07-20 19:04:05 +08:00
hmo b41bed7959 feat: XMPP observability — logger, monitor endpoints, clean dead xiaoguo refs 2026-07-19 12:47:15 +08:00
hmo 49ccd7467d docs: update module list — 10 specs completed 2026-07-19 11:18:22 +08:00
hmo b08bfa5d03 refactor: integrate dashboard into server.py :8899, remove standalone dashboard 2026-07-19 11:06:50 +08:00
hmo 782a914a3c fix: dashboard port 5804→5807 (avoid conflicts with wechat_webhook and zhiwei bot) 2026-07-19 10:56:42 +08:00
hmo 747fdfe467 feat: introduce spec system + dashboard + health pipeline (AgentsMeeting template) 2026-07-19 10:50:34 +08:00
知微 90966c63ca chore: 同步运行版本与git一致
- strategy_lifecycle.py: GATE_9D_ANALYSIS → GATE_12D_ANALYSIS(12维交叉验证)
- system_audit.py: 审计策略评估改用holding_strategies.updated_at
- CHANGELOG.md + analyst-knowledge-log.md 日常更新
2026-07-17 23:08:11 +08:00
知微 136f3f9fb8 sync scripts/mofin_db.py with root + knowledge log 2026-07-14 11:01:59 +08:00
知微 59e94d135c fix: 盘中脚本统一使用get_conn()替代raw sqlite3.connect防DB死锁
- mofin_health.py, cron_health_monitor.py, intraday_health_check.py,
  self_todo_executor.py: 替换raw sqlite3.connect() → get_conn()
  统一使用WAL模式+busy_timeout=30s连接
- mofin_db.py: get_conn()每次新建连接时WAL checkpoint
  防止被kill进程残留WAL导致后续全部卡死
- 并发测试验证: 3x price_monitor + 3x mofin_health同时运行
  6/6通过,WAL仅32bytes

关联问题: 2026-07-14 SQLite写锁死锁根因诊断
2026-07-14 10:56:38 +08:00
知微 02d1c93923 fix(price_monitor): DB写锁死锁根治 - 统一BEGIN IMMEDIATE + 5次重试指数退避 + emergency WAL checkpoint
- 统一一个BEGIN IMMEDIATE事务包裹所有写操作,替代独立写函数调用
- 5次重试 + 指数退避 (1s,2s,4s,8s,16s),原3次+固定2s
- 重试耗尽后自动 emergency WAL checkpoint(TRUNCATE)释放死锁
- try/except确保连接始终释放,修复conn泄漏
- 三副本同步:profile/scripts + MoFin/scripts + MoFin/root
2026-07-14 10:30:15 +08:00
知微 9239ab40c0 docs: 更新CHANGELOG + 开发日志记录07/13全部变更
- XMPP Bot非阻塞/本地XMPP/MUC修复
- price_monitor推送冷却持久化
- 深套股规则重构+换股规划swap-plan
- 周月线技术分析增强
- 健康Tab写无读清零
- stale_push_wlin/per_stock_reassess/promote_candidates更新
- static/index.html + mofin_health.json + server.py同步
2026-07-13 12:09:25 +08:00