claude_dev
|
e22f0e0aa8
|
feat(data): T2 corpus_download.py daily lane+断点+锁+36测全绿 [nas]
CI/CD / test (push) Successful in 26s
CI/CD / nas-deploy (push) Failing after 14m50s
CI/CD / nas-verify (push) Has been skipped
spec §18.7 T2(corpus 栈唯一新脚本,单脚本红线):
- daily 四段: 公告增量(巨潮 T-1~T 两天窗自愈)/新闻增量(search-api 带摘要,
(art_code,stock_code) 复合键=同稿多股 meta 多行)/新闻全文(昨日新 art_code,
art_code 全局一条)/当日 PDF(五类服务端码 category 码+业绩快报标题谓词——
实测 yjkb 码不存在,无效码被服务端静默忽略返回全量,故走客户端标题过滤)
- 断点: unit marker tmp+rename;--until 墙钟=完成当前 unit 后 rc=3;--limit 冒烟
绝不落 marker(5m 09-17 教训)
- 单实例锁: fcntl.flock(state/corpus.lock)——跨容器语义(bind mount 同 inode,
内核持有/进程死自动释放);5m 的 pid 活性检测在 docker run --rm 各自独立
PID namespace 下失效,corpus 换 flock(让路契约同款,锁忙 rc=3)
- id 去重双层: IdLedger 全局账本(state/ids_*.parquet int64 hash,满足 §18.5
announcement_id 全局无重)+RecentIndex 近30日分区索引(兜账本flush周期崩溃窗)
- 失败语义: 传输错 unit 不标done;真空=合法done;4xx确定性跳过不烧重试;
域名连续错×10或429冷却它域继续;rc 0完成/1致命/2限流/3墙钟或锁
- 股票池: 巨潮 szse_stock.json(实测含退市000003+北交920001,6247条)A前缀过滤,
非NAS副本库——orgId 为按股查询硬前提且退市覆盖更全(spec 偏差T6回写)
- 测试 36 个全 mock 零网络零写死日期;全套 253 绿
|
2026-09-06 23:00:42 +08:00 |
|
claude_dev
|
62a3a65419
|
feat(data): T1 语料库 wrapper run_corpus.sh+连通金丝雀全绿 [nas]
CI/CD / test (push) Successful in 25s
CI/CD / nas-deploy (push) Successful in 26s
CI/CD / nas-verify (push) Successful in 7s
spec §18.7 T1(sanguo-corpus 一次性容器,统一 5m 模式):
- repo 规范副本 scripts/nas_sync/run_corpus_standalone.sh(同 run_5m_standalone.sh
先例),部署位=/volume1/stock/corpus/run_corpus.sh(宿主文件 CI 不覆盖,scp -O 同步)
- 两改良落地:--name sanguo-corpus(杀=docker stop)+--user 1024:100(admin 属主)
- 新发现硬需求 --group-add 101:/volume1/stock Synology ACL 只授权
group:administrators,容器同 uid 无组 101 读文件 Permission denied
(POSIX rwxrwxrwx 被 NFSv4 ACL 覆盖);补组后读/写/继承全绿
- 两 lane 串行(daily 成功才跑 backfill --until 17:30),rc 聚合 daily 优先
- 金丝雀(logs/canary_t1.log):python 3.10.20+pandas/pyarrow/requests 齐备;
--user 写=uid1024 属主;四域出网 200=巨潮 query/巨潮 PDF/np-listapi/
search-api(content 摘要字段在,akshare 同款端点契约验证)
- 目录骨架 admin 属主:news_meta/news_fulltext/ann_meta/ann_pdf/state/logs
|
2026-09-06 22:40:25 +08:00 |
|
claude_dev
|
20ecd711f6
|
docs(data): spec§18三默认拍板入档+开工批准 [nas]——用户「都按你说的来吧」:①股票池=全A含退市~5547只,清单源=NAS副本库distinct symbol(本地零网络天然含退市,同dbbardata治幸存者偏差原则;退市股新闻层自然空,公告层=事件因子回测原料);②PDF类别=六类(年报/半年报/一季报/三季报/业绩预告/业绩快报≈45GB/年,权益分派增发等不进但元数据层仍全量);③时长预期知悉(T1-T3≈1-2个session工作日/ann_meta回补~1周后可供factor事件因子回测/全文PDF月级慢车道);开工已批,下一步T1=wrapper+金丝雀 [nas]
CI/CD / test (push) Successful in 7s
CI/CD / nas-deploy (push) Successful in 2s
CI/CD / nas-verify (push) Successful in 7s
|
2026-09-06 22:27:03 +08:00 |
|
claude_dev
|
fec3e8e221
|
docs(data): spec§18终版——统一到sanguo-5m一次性容器模式+断点续传互借三件 [nas]——用户终拍板「统一到5min吧」:①运行时改docker run --rm同5m全款(bash wrapper=/volume1/stock/corpus/run_corpus.sh宿主文件CI不覆盖同5m部署纪律;镜像lock-aligned版本自动跟随CI;弱依赖=daemon+tag不改名与5m同款已跑一月实证),corpus两改进=DSM任务admin跑(实测admin可docker ps)+--user admin-uid输出文件admin属主+--name sanguo-corpus运维锚点(docker stop一条命令杀);反向统一硬阻塞入档=5m写的data_backup库是03:00链root属主产物admin venv写不进;统一后全图=VPS schtask家族(数值)/NAS docker run --rm(5m+corpus对外爬取)+sync链(内部搬运)机器内一种物理下限;②断点续传对比互借(bs_5m_eod.py盘点):corpus借三件=单实例锁pid活性检测(原设计真缺口,防DSM定时与手动补跑竞写state)+退出码细分(0完成/1致命/2限流让路/3墙钟自停对齐5m语义)+state损坏幂等降级;5m反向不改造(整片推进粒度粗但回灌已完结+OR REPLACE幂等+LOOKBACK自愈,改造无未来收益),仅两个顺手项下次动run_5m.sh一并(加--name/头注释时点19:05→00:05修正);验收5/5b改docker stop+主容器restart不影响实证;T1改wrapper+金丝雀 [nas]
CI/CD / test (push) Successful in 25s
CI/CD / nas-deploy (push) Successful in 2s
CI/CD / nas-verify (push) Successful in 6s
|
2026-09-06 21:42:54 +08:00 |
|
claude_dev
|
8aa3a3d2fc
|
docs(data): spec§18补与sanguo-5m独立容器方案差异对比 [nas]——应用户问「5分独立容器和现在实现有何不同」:同治「不被主容器重启波及」但深度不同——5m=docker家族内(docker run --rm一次性容器,仍依赖daemon+镜像+tag不改名,优点=镜像环境完整+版本自动跟随主容器),corpus=零docker(按用户指令走到底);5m当年未走到底合理(bs_5m_eod依赖面=整个镜像环境含baostock,宿主3.8 venv装不齐),corpus依赖面收敛3通用包才有条件(代价=venv冻结版本漂移需手动pip,T1锁版本缓解);5m不迁(在跑稳定/迁移需重验/没坏不动),但其为存量docker依赖点,NAS docker大升级时需人工盯届时再评估 [nas]
CI/CD / test (push) Successful in 5s
CI/CD / nas-deploy (push) Successful in 26s
CI/CD / nas-verify (push) Successful in 8s
|
2026-09-06 20:19:04 +08:00 |
|
claude_dev
|
dfa156a39e
|
docs(data): §18.8补5m分钟线行+NAS两例外存放修正——用户验收点名找回 [nas]——用户记得「NAS比VPS多一种数据=分钟线」完全正确:①sanguo-5m(DSM id=7,root,00:05)在跑,baostock 5min增量+全量回补2020起含退市5547只,独立一次性容器docker run --rm跑lock-aligned镜像(08-22治CI重启主容器杀在跑任务),落点=NAS副本库dbbardata('5m')=5m唯一权威(VPS侧'5m'是空占位);②minute_kline/2.1G=cfdaily时代外部1min/5min/15min,无任务,1min为全体系唯一1分钟粒度;文档债定性:§14.2「5min占位/不设schtask」为07-22快照,08-20落地5m管线时未回写融合spec(run_5m.sh头注释+memory才记录),本表现补;存放修正=数值权威VPS+两例外在NAS(5m+语料) [nas]
CI/CD / test (push) Successful in 21s
CI/CD / nas-deploy (push) Successful in 1s
CI/CD / nas-verify (push) Successful in 7s
|
2026-09-06 20:13:21 +08:00 |
|
claude_dev
|
fcc3a2e0fa
|
docs(data): spec§18「root=和旧数据一致」前提实测推翻 [nas]——/volume1/stock属主实测=三种混合:cfdaily(A股数据/minute_kline/knowledge_base,用户记忆中的之前基本面数据恰是cfdaily非root)/root(03:00链+sanguo_5m)/admin(_dbuild/gitea/frp等);文件全rwxrwxrwx+ACL无消费方依赖属主;真正一致在方法论层(schtask语义/marker/慢爬/单脚本红线)两案同款;唯一实质差异=运维通道(admin ssh可杀可装,root全走DSM一次性任务或交互sudo自动化不可达);终判admin,用户仍拍root亦可(代价=venv引导与kill全人工) [nas]
CI/CD / test (push) Successful in 27s
CI/CD / nas-deploy (push) Successful in 24s
CI/CD / nas-verify (push) Successful in 5s
|
2026-09-06 20:09:13 +08:00 |
|
claude_dev
|
7e9319b166
|
docs(data): spec§18 root vs admin 终局论证入档 [nas]——应用户「root的数据不可修改设计更好吗」:root属主写保护=半吊子幻觉(admin不能覆写但能删,删看目录权限rwxrwxrwx,03:00链先rm再拉workaround实证),防住原地改防不住删了重建;root跑采集代价全天候=root进程admin杀不动(Synology sudo交互密码自动化做不了,本设计验收含kill-9续跑项root方案连测试都无法执行)+venv装包盯跑全要root陪跑+外网爬虫最大权限;不可改性交给正确工具=append-only协议(dt分区只追加/tmp+rename/id键控)+可再生性(源站都在断点可重拉,语料=全体系唯一可完全再生数据类),如需防篡改层验收后加DSM快照/每周tar+校验和(对任何属主生效)——结论admin落地 [nas]
CI/CD / test (push) Successful in 25s
CI/CD / nas-deploy (push) Successful in 8s
CI/CD / nas-verify (push) Successful in 8s
|
2026-09-06 20:07:17 +08:00 |
|
claude_dev
|
3d3ddb5f57
|
docs(data): 全局下载方案与存放位置总表§18.8+CLAUDE.md语料路径行 [nas]——应用户「不想搞好几套下载方案和存放位置」:不是几套,是一条规则两台机器=每类数据唯一权威源+唯一权威位置(§14.2既定原则)+采集发起位置跟随权威位置;数值类(行情/估值/报表/事件面板)权威=VPS既有8任务家族不变,文本语料类(新闻/公告)权威=NAS(用户三约束唯一决定:不上VPS+东财IP限流+不绑docker);§18.8收齐现势10行任务总表(bs-daily/xt-eod/idx-eod/ak四频率/vintage/NAS03:00链/corpus)并注明§14.5为历史快照,存放=VPS data/数值权威+NAS /volume1/stock副本+大体积历史+语料唯一权威+Mac无生产数据,corpus不是第三种根=既有数据根新子目录;CLAUDE.md关键路径加corpus行(全session可见) [nas]
CI/CD / test (push) Successful in 23s
CI/CD / nas-deploy (push) Successful in 27s
CI/CD / nas-verify (push) Successful in 9s
|
2026-09-06 20:01:39 +08:00 |
|
claude_dev
|
b90f258100
|
docs(data): spec§18存量不迁移澄清+admin权限逐项实测 [nas]——应用户问「有必要全改admin吗/admin确定有权限吗」:①存量脚本一个不迁(03:00链等root任务照旧,没坏不动;admin仅新corpus任务选型;目录/时间窗/管道三隔离零冲突)②admin权限逐项实测=/volume1/stock建目录写删全通(rwxrwxrwx+ACL admin属主)+venv --copies在volume1建成stdlib OK+pip user-site既有+CI部署路径无障碍③新坑入档:venv建/tmp会Permission denied(DSM /tmp特殊限制+会被清空)——设计本就落volume1;④设计内零root依赖,例外走人工sudo逃生门 [nas]
CI/CD / test (push) Successful in 26s
CI/CD / nas-deploy (push) Successful in 1s
CI/CD / nas-verify (push) Successful in 10s
|
2026-09-06 19:57:30 +08:00 |
|
claude_dev
|
0157094da2
|
docs(data): spec§18补admin与独立任务论证 [nas]——应用户问「为何不统一root/为何单独建定时任务」:admin三理由=03:00链root属主坑在案(admin覆盖须先rm再拉)+语料库admin侧操作密集(venv/盯跑/删分区)属主即零摩擦+最小权限出网爬虫不必root,成本为零;独立任务三理由=失败不连坐(对内行情同步vs对外慢爬马拉松,corpus卡死不拖死行情链,断路器饿死同款教训)+属主部署管道不同(sync脚本root地盘CI不覆盖vs corpus走CI的repo路径)+06:00避开03:00链跑道且00时档公告已入库全吃到 [nas]
CI/CD / test (push) Successful in 0s
CI/CD / nas-deploy (push) Successful in 3s
CI/CD / nas-verify (push) Successful in 9s
|
2026-09-06 19:52:37 +08:00 |
|
claude_dev
|
fe5d0f00a6
|
docs(data): 06:00晨窗调度依据实测固化 [nas]——应用户问「基本面数据白天被更新的可能性有多大」:深市0904全市场600条公告发布时刻实测=盘中(09-15时)3条0%+盘后15-20时46%+00时档54%(巨潮深夜批处理「半夜鸡叫」实锤);新闻当日条目盘中27%盘后晚间73%;结论=公告白天更新概率≈0且主体在零点档,T+1晨06:00拉取=前日公告100%入账,优于任何傍晚方案(17:30收工会漏19-20时18%+00时54%);新闻对日频消费零损失;spec§18.3+报告各补一段 [nas]
CI/CD / test (push) Successful in 27s
CI/CD / nas-deploy (push) Successful in 3s
CI/CD / nas-verify (push) Successful in 10s
|
2026-09-06 19:50:19 +08:00 |
|
claude_dev
|
14d3531f77
|
docs(data): 语料库spec§18修订——用户两条反馈落地 [nas]——①断点续传钦点加固:unit粒度marker+原子写+杀进程重启即从未完成unit续跑+漏日自愈(公告T-1~T两天窗/新闻recent-100天然覆盖数日缺口)+daily幂等可重跑,验收加5b条(kill -9重启续跑实证);②解绑docker(用户:「不要和docker绑定,避免docker重启就失败」):采集进程改NAS宿主机直跑,运行时=/volume1/stock/corpus/venv(--copies自举,DSM自带Python3.8.12+pip实测可用x86_64,依赖锁cp38版),容器重启/升级/停用零影响;先例=现有DSM 03:00同步链(id=2,crontab实证7条任务在跑)宿主机直跑多年零docker,本设计沿同模式改admin跑避root属主坑;验收加docker全停下照跑实证;T1改venv自举 [nas]
CI/CD / test (push) Successful in 4s
CI/CD / nas-deploy (push) Successful in 10s
CI/CD / nas-verify (push) Successful in 9s
|
2026-09-06 19:45:18 +08:00 |
|
claude_dev
|
92e63ee27c
|
docs(data): 基本面语料库NAS采集设计spec§18+三摸底实测报告 [nas]——用户拍板六项范围(除公告PDF全量):新闻标题+摘要级/全文级/历史回补+公告元数据回补2000起/每日增量/定期业绩类PDF;硬约束=存储采集全NAS不上VPS(家宽IP与VPS东财限流零冲突)+采集限于00:30-17:30+慢爬;设计=1脚本corpus_download.py+1调度入口sanguo-corpus-daily 06:00(daily+backfill两lane串行,--until 17:30墙钟自停);数据模型=id键控(dt=发现日分区,无today文件名语义,天然免疫0902/0904式错标)+append-only短窗去重;回补顺序=公告meta→新闻meta→新闻全文→PDF(新→旧,容量闸门:/volume1实测645G空闲,每50GB自查,<200G暂停升级);失败语义吸收09-01/09-05教训(确定性错跳过不烧重试不连坐);探测优先能拿多深拿多深+depth_summary记录;附三摸底报告(聚宽136字段原料层≈100%已有/巨潮2000年起130万条年/东财3年硬顶/存储大头PDF 520G年) [nas]
CI/CD / test (push) Successful in 23s
CI/CD / nas-deploy (push) Successful in 0s
CI/CD / nas-verify (push) Successful in 8s
|
2026-09-06 13:49:46 +08:00 |
|
claude_dev
|
90b37ce27f
|
feat(live): 成交回报回执日志①——09-04守恒缺口观测件 [vps]——根因件:002633/002836缺口复盘发现引擎会话当日成交视图行缺+时间字段中途退化None,QMT行dump全打查询时刻即铁证,事后无从对「哪笔什么时候以什么形态被看到」;用户钦点观测机制「再出现时根因可查」,dev契约:任何处理/匹配/去重之前打[trade-receipt] tid/order/acc/sym/vol/px/t_raw/recv八字段(②解析此格式,拼写冻结);实现=with_trade_receipt包装QmtBroker.get_trades(bullet_trade轮询制无成交推送回调,_Callback仅桥接断连,broker.get_trades是柜台行进本进程唯一咽喉,引擎同步/a窄修/b宽修全经它),与with_connect_retry同款实例级包装源码零改动;铁律=t_raw原样照记None也记/日志永不抛逐行try-except包死/get_trades原异常照抛行为不变;量控=观测层变化检测非处理层去组:同tid签名(t_raw+量+价+单号)不变不重打,退化即重打(捕获09-04形态),行照常流向消费方;③结论免改:vt_tradeid三条归因路径已承载柜台成交号(即时=引擎trades键/a窄修=trade_id/b宽修=eod:前缀),既有测试已钉(test_live_reconcile.py:123,206+test_live_instance_ledger.py:236),②按tid比回执↔live_trades即闭环;TDD 7新测先红后绿(caplog须set_level(INFO)坑)+598全绿
CI/CD / test (push) Successful in 13s
CI/CD / nas-deploy (push) Successful in 46s
CI/CD / nas-verify (push) Successful in 9s
vps-deployed
|
2026-09-06 11:14:29 +08:00 |
|
claude_dev
|
67a2e49f21
|
feat(live): 成交回报回执②回执↔账本闭环比对器——用户钦点「再出现时根因可查」:09-04实证柜台有成交/台账无行/引擎会话视图无行且时间退化,「推送到达→回调处理→落库」三跳全静默无法定位故障点;观测契约三层=①引擎侧trade-receipt指纹行(策略session实现,tag/字段名以本模块解析器为准)+②本模块parse+compare:有回执无账行=引擎处理丢(直接证据),柜台有成交无回执=柜台没推(EOD恒等式层),③账本行带柜台成交号硬键(替换会退化的时间五元组);原则宁缺勿错:tid=NONE不做模糊匹配硬凑,如实分列;ledger_only为信息项(回执上线前旧行/repair行)不判脏;TDD 8测先红(模块不存在)后绿 [vps]
CI/CD / test (push) Successful in 28s
CI/CD / nas-deploy (push) Successful in 4s
CI/CD / nas-verify (push) Successful in 12s
|
2026-09-06 10:53:24 +08:00 |
|
claude_dev
|
694a0d2238
|
fix(data): ak-weekly 断路器饿死修复=_safe_northbound_em+类型调序 [vps]——09-05 03:00 首跑 rc=2 根因:akshare stock_hsgt_individual_em 对无北向数据标的(~1117/2883,301xxx 等)在 data_json[result][pages] 抛 TypeError NoneType not subscriptable→failed→30 连败断路器→跳过后续类型,share_capital/top_holders/gdhs 全饿死(gdhs 目录至今不存在);端点健康(600519 返 1683 行,09-06 晨复测);修=①_safe_northbound_em 子串匹配 not subscriptable 返空 df 带 9 列 schema→走无北向持仓 empty 写空+done 既定语义不耗重试/断路器(同 _safe_top_10_em 手法)②weekly wrapper 调序 gdhs,share_capital,top_holders,northbound 最大最险者殿后防再连累③顺手 BOM;TDD 2 新测先红后绿+217 全绿;双脚本已 scp 生效位+Parse/py_compile 预检过;gdhs 手动补跑另行 [vps]
CI/CD / test (push) Successful in 23s
CI/CD / nas-deploy (push) Successful in 7s
CI/CD / nas-verify (push) Successful in 13s
|
2026-09-06 08:29:58 +08:00 |
|
claude_dev
|
c728f2368c
|
feat(data): hot_rank 挂载+wrapper 时间守卫 [vps]——墙测量5轮收官用户拍板方案A:emappdata 夜间开窗(22:28 实测 OK,晨午4轮全 FAIL),19:30 档失败零连带(单 unit 失败不触断路器 rc 仍 0,不写不标次夜自愈),首夜起 gap_check 即免费持续测量;三处同步=wrapper --types+PANEL_TYPES+EVENT_PANEL_TYPES(15类),零文件=零告警首日成功即成基线;时间守卫=param -Force+非 19:00-23:59 拒绝执行留痕 guard.log(治盘前手动误跑两犯:09-02 08:08/09-04 08:00,盘前拉当日=昨日态错标+marker 锁死当晚真数据);TDD 2 测翻新(白名单拒→放行+注册断言)先红后绿+806 全绿;VPS Parse 预检过+双脚本已 scp 生效位+wall_probe.py 已删 [vps]
CI/CD / test (push) Successful in 0s
CI/CD / nas-deploy (push) Successful in 5m3s
CI/CD / nas-verify (push) Successful in 11s
|
2026-09-04 18:46:46 +08:00 |
|
claude_dev
|
6adb40e7a0
|
fix(live): 恒等式逐票对账补负向幻影——09-04 收盘联检实证:002633买缺100(正向孤儿,已列)+002836卖缺300(负向幻影,漏列),旧代码unattr_positions只遍历snap_pos.items(),快照没有的票永不被遍历到,单看票单会把修账做成半拉子(只补孤儿不补幻影);修=双端键并集sorted(set(snap_pos)|set(inst_pos)),正向孤儿/负向幻影都入列(002836当日在报告里只有MV差对不上数才现形);残差拆腿同步定性:-1535=100×002633收盘15.35-300×002836收盘10.23,100%来自两笔引擎未报成交,修账后应归零;TDD 1新测先红后绿+21全过 [vps]
CI/CD / test (push) Successful in 1s
CI/CD / nas-deploy (push) Successful in 14s
CI/CD / nas-verify (push) Successful in 18s
|
2026-09-04 18:29:07 +08:00 |
|
claude_dev
|
e2902cdf1f
|
fix(data): ak_events_wrapper 修启动级语法错+加BOM——09-03 19:30首跑即死(rc=1零日志=解析期死亡):真根因=line14 (Get-Date).AddDays(-1) -Format yyyyMMdd 为非法PS语法(表达式后不能接命令参数),无BOM时GBK误读把报错行号搅到13误导视线;修=.ToString('yyyyMMdd')+前置UTF-8 BOM根治PS5.1对无BOM中文文件的GBK误读隐患;三向hash已证本地=git=VPS无部署损坏;教训=ps1改动部署前必须Parser预检(VPS已验PARSE_OK);今晚手动补跑13类+margin_sse 0902(T-1窗首验) [vps]
CI/CD / test (push) Successful in 14s
CI/CD / nas-deploy (push) Successful in 3m1s
CI/CD / nas-verify (push) Successful in 19s
|
2026-09-04 07:59:19 +08:00 |
|
claude_dev
|
029ea34aec
|
feat(live): 引擎启动期行情腿自检quote_preflight——09-03行情事故定位件:momentum 9:30六笔卖单fail-closed忽略+18/22探针零单,引擎进程内取价失败但独立探针.SH格式全通(dev反证,我先前的「服务死」误判收回:get_full_tick须.SH后缀+subscribe须xtdata.run(),两个坑全踩);需进程内直接证据区分「引擎会话坏vs服务坏」:boot时broker交易腿连接后一笔get_full_tick(510500.SH)留痕OK/EMPTY/EXC,永不抛不阻断;今晚23:05轮换后新进程即出证据,明早9:30三灯(momentum重试/small_cap调仓/9:35探针)前置诊断;3新测+591绿 [vps]
CI/CD / test (push) Successful in 1s
CI/CD / nas-deploy (push) Successful in 9s
CI/CD / nas-verify (push) Successful in 14s
|
2026-09-03 13:51:26 +08:00 |
|
claude_dev
|
37d8f85d21
|
feat(strategy): 情绪温度计四指标——涨停池三件套首轮Python化,消费provider.get_limit_pool出口(get_limit_pool/get_event_panel双端8/8已验);四口径契约与数据session 09-03对齐并逐条钉进测试:①炸板率=zbgc/(zt+zbgc)按行数,回封票(zt内break_count>0)留分母勿扣②dtgc空=0跌停合法值③history按trade_date对齐,某池某日无行按0计不丢日④连板高度=consecutive_boards之max(to_numeric吸字符串)+行业集中度用industry现成列(空串/NaN剔除);三接口=compute纯函数+daily单日快照(date=None最新落盘日)+history区间校准表;只算不判,阈值待23日真实数据校准后另定;10新测+588全绿 [vps]
CI/CD / test (push) Successful in 21s
CI/CD / nas-deploy (push) Successful in 11s
CI/CD / nas-verify (push) Successful in 14s
|
2026-09-03 08:58:49 +08:00 |
|
claude_dev
|
99355bfbea
|
docs: 活文档§17 首夜巡查修正——margin_sse T+1 结构根治/NAS 同步链扩容/回灌纪律/VPS 部署终态(同批同步,防失传) [nas]
CI/CD / test (push) Successful in 0s
CI/CD / nas-deploy (push) Successful in 6s
CI/CD / nas-verify (push) Successful in 14s
|
2026-09-02 23:09:19 +08:00 |
|
claude_dev
|
564160db11
|
fix(data): margin_sse 拆 T-1~T 两天窗——巡查实锤 SSE 融资融券 T+1 供应,当晚拉当天结构性永败 43 天(用户批准结构修) [vps]
CI/CD / test (push) Successful in 19s
CI/CD / nas-deploy (push) Successful in 5s
CI/CD / nas-verify (push) Successful in 6s
07-22 起慢性失血实锤: margin_sse 最后非空文件 20260721,之后 30 个交易日
全被旧码标成 空文件+done 锁死(每晚 19:30 拉当天,SSE 当日数据未发布→
空响应→akshare Length mismatch 崩→旧码转 empty 落盘+marker)。
已处置(同批): --force 回补 20260722~20260901 全区间 30/30 ok 59865 行;
本 commit=结构根治: wrapper 把 margin_sse 从 13 类当日批拆出,单独
--start T-1 --end T 两天窗——每晚稳定写昨日(数据已发布),当天失败不写
不标(新语义),次晚同窗自动重试补上,单晚漏跑自愈;两段 exit code 合并
任一非零即非零。0902 今晨已过 19:30,明晚首验(写 0902+0903)。
生效位=VPS scripts(手动 scp,CI 不覆盖 VPS)。
|
2026-09-02 22:47:21 +08:00 |
|
claude_dev
|
ab8f4e3782
|
fix(nas): sync_parquet_daily 扩到 A 档 13 类+gdhs 全量拉——巡查实锤 TYPES 写死旧 4 类,明晨 03:00 快照族/涨停池到不了 NAS [nas]
CI/CD / test (push) Successful in 4s
CI/CD / nas-deploy (push) Successful in 12s
CI/CD / nas-verify (push) Successful in 20s
09-02 巡查发现: sync_parquet_daily.sh TYPES 硬编码 dragon_tiger/block_trade/
margin_sse/restricted,今晚 19:30 A 档首夜产出(快照族 6 类+涨停池×3)不在拉取
清单,明晨同步后 NAS 回测侧依旧零文件(provider §16 出口在 NAS 断供)。
修: TYPES 扩到 13 类(+zt_pool×3/fund_flow×2/ths×2/xueqiu_hot/sina_sector,
7 天滚动窗逻辑不变);gdhs=per-period(季度末日期永不落 7 天窗)单独全量拉
(dir /b 枚举后逐文件 scp,≤10 文件幂等,周六 ak-weekly 产出)。
生效位=/volume1/stock(scripts/nas_sync/),CI 不覆盖,需手动部署 NAS;部署后
手动跑一轮验证=顺带把今晚首夜数据提前送 NAS(不等明晨 03:00)。
|
2026-09-02 22:31:23 +08:00 |
|
claude_dev
|
7f01c5fe9a
|
ci: 补 4966d30 环境标签(subject 尾,CI 定检 %s) [vps]
CI/CD / test (push) Successful in 23s
CI/CD / nas-deploy (push) Successful in 8s
CI/CD / nas-verify (push) Successful in 15s
4966d30 的 [vps] 误置 body 末尾,enforce-label 只查 subject 行(ci-cd.yml
git log --format=%s)→ run#1038 rerun 红在标签步(pytest 未跑)。本空 commit
使 push range(4966d30..HEAD)重查通过;nas-deploy checkout 本 commit 即含
全部变更。后续 commit 标签一律放 subject 尾(规范模板:<type>(<scope>):
<desc> [vps])。
|
2026-09-02 11:04:58 +08:00 |
|
claude_dev
|
4966d30a11
|
feat(provider): A档截面数据使用层出口——泛型底座+涨停池门面双层接口
CI/CD / test (push) Failing after 3s
CI/CD / nas-deploy (push) Has been skipped
CI/CD / nas-verify (push) Has been skipped
09-02任务①落地。§15采集的14类panel数据此前零读取出口,策略/因子session
想用只能手搓parquet路径;经业界对照(dsa get_limit_up_pool/tushare
limit_list_d U/D/Z参数化/聚宽per-domain/OpenBB TET)定稿「泛型底座+域
语义门面」:
①get_event_panel(event_type,date/start+end,trading_days_only=True):
保真底座,白名单14类统一通道(=采集注册表口径,hot_rank未挂载不入列),
返回akshare原样中文列+trade_date(文件名合成);缺文件=合法缺失→空df;
trading_days_only默认用get_trade_days滤非交易日——治快照族「周中法定
假日文件=上一交易日态复制品」的区间双计数(采集层只按周一~五落盘,
周六根本无文件,风险面=周中假日);=False按周一~五枚举(=采集口径)
②get_limit_pool(kind=zt|zbgc|dtgc,...):涨停池门面(温度计/炸板率/行业
集中度消费契约),kind三合一←tushare limit_list_d;英文标准列
code/consecutive_boards/seal_amount/break_count/industry…(键名对齐dsa);
映射表基于VPS真实parquet实测(dtgc实测含动态市盈率/封单资金/板上成交额/
连续跌停/开板次数,与文档口径有差);akshare改中文列名时本层吸收漂移,
有行缺源列→DataSchemaError fail-fast;真空日(dtgc 0跌停空文件无列)
→仍返标准列空表schema稳定
③实现=TET Fetcher(fetchers/event_panel.py双Fetcher同文件,price.py先例),
FETCHERS注册表+event_panel/limit_pool两键(未来MCP出口零成本);base.py
新增_DateRangeParams跨字段校验(date/start+end互斥二选一);LocalUnified
Provider(回测)与SanguoMiniQmtProvider(实盘,委托self._unified)双侧同款
——方法面钉死测试强制无缺口,双侧同schema支持副本对照;miniQMT/QMT/
PTrade均无此类接口(业界惯例=外部源补),实盘同读本地文件
测试:21新测试(白名单fail-fast/日期语义/保真读/假日滤/门面schema/
列漂移fail-fast/真空日空表/注册表)+全量793绿;活文档§16+§15指引行 [vps]
|
2026-09-02 10:43:11 +08:00 |
|
claude_dev
|
8c6a3f90d0
|
fix(strategy): channel_test盘外轮换改锚固定9:35——09-02 dev巡检实锤5d0a0bf副作用:随启随验「盘外不注册」×运维规则「轮换放23:05后」=每次boot都盘外→永不注册→测试通道停摆(live_18/22零任务,调度恢复又因存档模块路径vs runtime副本错配恒失败,守卫再拦回退注册,三重叠加清空);考古澄清:四固定任务自08-20 147a49d随启随验上线即有意退出live(probe_all一轮覆盖rotate/T1/swap),非本次回归;修=盘外boot改锚固定9:35(历史主调仓时刻,盘中由构造保证),盘中boot仍now+90s快验不变,执行侧守卫保留为末道防线;原「盘外不注册」测试按新规格改写为断言注册9:35;25/25+557绿 [vps]
CI/CD / test (push) Successful in 19s
CI/CD / nas-deploy (push) Successful in 3s
CI/CD / nas-verify (push) Successful in 7s
|
2026-09-02 10:25:36 +08:00 |
|
claude_dev
|
66e741b6bb
|
docs: 数据设计文档活文档化+§15 A档截面数据域增补——用户约定(09-02):唯一数据设计文档,每次架构变更同批更新(防长期失传);决策=更新原2026-07-21融合spec不新建(三层框架仍成立/引用链不断/少一份文档),头部状态从「设计草案」翻为活文档声明+最后更新日期;§15沿用「日期节追加新节覆盖旧节」惯例:15.1单脚本红线 15.2十一数据域清单表(源/集群/调度/行数/回补能力) 15.3东财墙模型(每IP每~40min窗口1发/cyq数学死/换域答案) 15.4语义与防线(panel_gap_check两档+panel契约) 15.5消费契约(炸板率口径/列名schema) [nas]
CI/CD / test (push) Successful in 2s
CI/CD / nas-deploy (push) Successful in 7s
CI/CD / nas-verify (push) Successful in 14s
|
2026-09-02 09:41:02 +08:00 |
|
claude_dev
|
46a0569b9a
|
feat(data): A档全量落地——热度三件+股东户数收尾(用户批「按此方式实施,nas验证后推vps」);①xueqiu_hot雪球5633行+sina_sector新浪行业49行对账源进ak-events 19:30(同款快照语义)②hot_rank东财人气榜fetcher/注册先行,wrapper挂载留待恢复窗测量拍板(墙未定论不带不确定单元上线防缺日告警噪音)③gdhs股东户数进ak-weekly周六窗=per-period新形状:build_gdhs_units只枚举距今>90天季度末(披露守卫,防未披露期拉空走真空+done语义被marker锁死永不重拉的09-02设计坑),单次全市场5342行,marker去重无新期零网络;vintage缺日名单+2快照族(hot_rank留位);+6测试(注册/None/df契约/gdhs守卫两形态/缺日名单)215全绿 [vps]
CI/CD / test (push) Successful in 2s
CI/CD / nas-deploy (push) Successful in 9s
CI/CD / nas-verify (push) Successful in 16s
|
2026-09-02 09:16:14 +08:00 |
|
claude_dev
|
00cfd45d1a
|
feat(data): A档第二批接入——新浪资金流×2+同花顺行业/概念榜进ak-events 19:30(用户批方案A);东财push2墙死后免费无墙替代源双机实测秒级零限流(新浪行业资金流90行带净额/领涨股+概念387行,同花顺行业90行×12列+概念375行);快照族语义显式化:端点无date参数无历史回补,19:30采集=收盘终态,节假日拉到上交易日快照接受重复由消费方按交易日历过滤;vintage缺日检查扩全panel族并分档——可回补族(zt_pool×3)近窗洞给回补指引,快照族洞即永久告警查当晚日志无回补指引,旧洞不刷告警防疲劳;+5测试(注册/None/df契约×2+快照族永久洞语义)29绿 [vps]
CI/CD / test (push) Successful in 2s
CI/CD / nas-deploy (push) Successful in 8s
CI/CD / nas-verify (push) Successful in 12s
|
2026-09-02 08:57:39 +08:00 |
|
claude_dev
|
020d7cda4b
|
feat(data): vintage自检扩涨停池缺日防线——策略session共识「断档=不可逆损失须尽快」;per-date家族语义=每工作日(含节假日,空数据也写空文件)应有1个parquet,文件缺=当晚schtask漏跑=洞;洞≤42日历日(≈30交易日回补窗)→告警点名缺日+手动--start/--end回补指引,滑出窗=永久缺只入json不刷告警(防永久exit3疲劳);检查窗=首文件日→昨天(当日19:30才落盘不算洞);panel块进vintage_status.json契约(additive零破坏);+4测试(近窗洞告警/连续无洞/永久洞静默入json/目录缺不崩)13绿 [vps]
CI/CD / test (push) Successful in 22s
CI/CD / nas-deploy (push) Successful in 8s
CI/CD / nas-verify (push) Successful in 15s
|
2026-09-02 08:17:02 +08:00 |
|
claude_dev
|
db789d6e9c
|
feat(data): akshare事件类扩涨停池三件套——daily_stock_analysis调研落地第一步;双机实测(Mac+VPS生产IP)分流:push2ex集群(zt_pool/zbgc/dtgc)连打多轮全稳可用,push2 clist集群(行业/概念榜/板块资金流/主力资金)与push2his(cyq筹码/个股资金流)每IP长窗暗配额(首发200第二发起全reset,30s/镜像轮换/换头均不过)判敌对弃采;zt_pool 83只/zbgc 6只/dtgc 2只真实行数实证,dtgc空数据=当日真无跌停走既有写空+done语义;三类型进PER_DATE_TYPES家族(ak-events 19:30同窗+3单次调用<1min),零新schtask零新目录零新依赖;+4测试(注册/None契约/df契约/真空df落盘) [vps]
CI/CD / test (push) Successful in 4s
CI/CD / nas-deploy (push) Successful in 13s
CI/CD / nas-verify (push) Successful in 14s
|
2026-09-02 08:07:31 +08:00 |
|
claude_dev
|
de9efec87e
|
docs: 002646孪生丢笔修账证据包入库——QMT同秒孪生成交事件+盘中API明细双丢(晚间视图才补全)致台账缺1笔600股;证据=订单filled 8900vs台账8300+全账户40持仓唯一差异+恒等式4242=600×7.07精确归位;修账已执行(用户21:00批准):backup API备份+INSERT repair行+live_17 23:41重放,快照8900与QMT精确一致;08-27同型案在档,同秒孪生=QMT损耗模式 [nas]
CI/CD / test (push) Successful in 6s
CI/CD / nas-deploy (push) Successful in 1m2s
CI/CD / nas-verify (push) Successful in 12s
|
2026-09-01 23:54:53 +08:00 |
|
claude_dev
|
e012342d0d
|
fix(data): register脚本对齐VPS现场命名+ak-monthly改XML注册——09-01晚实测暴露脚本漂移:08-20 schtask重组已改名ak-daily/ak-monthly/ak-weekly(wrapper不变)但本脚本没跟上,重跑旧脚本=拿过期地图改现场:①复活与ak-weekly完全重复的ak-stock(同wrapper同周六03:00会双开并发,已现场删除)②ak-quarter行「/m月份列表+/d SAT」在zh-CN schtasks报「/D选项无效」根本没注册上;修=①任务名对齐现场六件套(daily19:00/events19:30/weekly周六03:00/monthly首周六02:00/vintage09:00/index16号19:50)②monthly改嵌XML(ScheduleByMonthDayOfWeek Weeks=1 Saturday,Out-File Unicode+Schtasks /create /xml,绕开zh-CN星期名限制)③头注释记命名史+事故链防重演;现场已同款修完(ak-monthly next=9/5首周六,顺带周末全规模预演新代码) [vps]
CI/CD / test (push) Successful in 21s
CI/CD / nas-deploy (push) Successful in 8s
CI/CD / nas-verify (push) Successful in 20s
|
2026-09-01 20:49:35 +08:00 |
|
claude_dev
|
7b7667e0ac
|
fix(live): EOD对账重启兜底归因——remark指纹重建本实例订单集+实例唯一label注入;09-01 002646终局实锤:引擎订单注册表=进程内存态(轮换重启即失,runtime持久化只恢复策略/账本),新进程18:49 EOD报「本实例=0」→无守恒缺口→记日,当日15:05后才补全的迟到成交永久失联(get_trades内部本就是query_stock_trades,重试环与直查同源都不缺接口,缺的是归因锚);修=①runner_live经live_config注入strategy_name=live_{id},订单remark(bt:live_17:hash)实例唯一(此前六实例适配文件同名,label全为live_strateg不可分;仅对注入后新单生效)②eod_reconcile补_own_orders_remarked:broker.get_orders(QMT当日订单,带remark)按前缀筛本实例→shim补进own_by_broker(setdefault,engine自己的单优先),状态复用broker._map_order_status,is_buy缺失弃用(宁漏勿错);_PENDING不重建(EOD兜底已覆盖当日全量,省一条风险面);+4重启形态测试+1注入缝钉子,557绿 [vps]
CI/CD / test (push) Successful in 11s
CI/CD / nas-deploy (push) Successful in 5s
CI/CD / nas-verify (push) Successful in 10s
|
2026-09-01 19:18:22 +08:00 |
|
claude_dev
|
8bcca3146b
|
fix(data): vintage自检补覆盖率撕裂告警——VPS真数实测暴露v1盲区:cashflow洗库中段8%vs两表100%但max_period同为Q2'26,仅看max报了OK漏掉撕裂;补=三报表coverage最大-最小>50pp告警(三报表同批披露稳态应同步,中段/某表大面积失败即触发);+1真形态测试 [vps]
CI/CD / test (push) Successful in 7s
CI/CD / nas-deploy (push) Successful in 6s
CI/CD / nas-verify (push) Successful in 10s
|
2026-09-01 19:17:03 +08:00 |
|
claude_dev
|
5d0a0bf6d3
|
fix(strategy): channel_test探针盘后下单双守卫——09-01 18:48轮换重启实锤:随启随验run_daily锚定now+90s=18:50,探针16笔真单盘后全挂柜台(~107万买单冻结排队次日集合竞价);且run_daily为每日重复锚定,08-30周日13:07重启即埋下「每天13:09盘后风格漂移」隐患,jq_strategy调度恢复失败回退注册当前时刻是第三路径;修=①注册侧:锚点落非交易时段(工作日09:25-11:35/12:55-15:05)不注册+大声告警②执行侧:probe_all首行守卫,盘外触发整轮跳过零下单(兜调度错锚/回退路径);墙钟抽_now()可注入,测试autouse钉盘中防CI时段漂移;+3守卫测试+11边界参数化;25/25 [vps]
CI/CD / test (push) Successful in 2s
CI/CD / nas-deploy (push) Successful in 7s
CI/CD / nas-verify (push) Failing after 12m28s
|
2026-09-01 19:04:40 +08:00 |
|
claude_dev
|
8dc3f494b7
|
feat(data): 静态表调度挪周末+vintage盘前自检——③sanguo-ak-quarter月内1号02:00改财报月首个周六02:00(/d SAT,周六02:00→周一09:30有55h跑道;旧排程7.5h夜窗连单表8h都装不下,09-01注册后首爆16h+穿整个交易日,09:32决策窗撞balance(94%Q2'26)/income(0%)vintage撕裂致value ROE归零清仓;月内1-4号读旧但一致,策略配对修复侧兼容)④新增static_vintage_check.py每日09:00自检:三报表最大报告期+覆盖率盘点(REPORT_DATE列裁剪扫描),跨表撕裂/估值断更(>48h)告警exit 3,原子落vintage_status.json供策略盘前预判(策略session协作契约);register加sanguo-ak-vintage+新wrapper;+8测试 [vps]
CI/CD / test (push) Successful in 3s
CI/CD / nas-deploy (push) Successful in 8s
CI/CD / nas-verify (push) Successful in 14s
|
2026-09-01 19:03:53 +08:00 |
|
claude_dev
|
aa7e7b8eba
|
fix(data): 静态表下载两隐患根治——①北交所白烧重试跳过(东财三报表端点SH920xxx必败'NoneType'错,09-01季频洗库实测340股×3表×3retry+退避白烧≈5h;对齐top_holders BJ_PREFIXES同款跳过,valuation/financial_abstract实测BSE有数据不跳)②fetch失败语义修正:15个fetcher不再经_df_or_empty把重试耗尽(None)转空df→空parquet覆盖旧好数据+标done永不重试(09-01实证340空文件全BSE属侥幸,主板瞬时故障会真毁数据);改返None交download_one_unit既有failed分支=不写不标保旧数据复跑重试,真空df才写空+done;test_top_holders一处旧契约断言同步(失败返None);+8测试钉死 [vps]
|
2026-09-01 19:03:47 +08:00 |
|
claude_dev
|
3b3f7d689c
|
fix(provider): value ROE 配对改公共报告期交集治财报季 vintage 错位清仓——09-01 09:32 value_selection_ex 月度窗口 L3=0 全清仓实锤:roe_series 构建=income/balance 各自 latest-4 再硬 REPORT_DATE 匹配,财报季一表领先一季(balance 已带 2026 中报而 income 未刷新,ak-quarter 马拉松 09:32 时 94%/0% 撕裂)两窗错开一格只交 3 期→策略 len>=4 全体不过→821 只零候选→卖 600276/603288 共 1.23 万股趴 483k 现金;修=两表各取 2 倍缓冲→REPORT_DATE 公共交集回最近 4 季(同季重述取最新 notice),策略层 len>=4 契约不变,原版+_ex 同受益;+3 回归(领先一季仍满 4 期/领先季绝不跨季错配/对齐两表语义不变);538 绿 [vps]
CI/CD / test (push) Successful in 17s
CI/CD / nas-deploy (push) Successful in 11s
CI/CD / nas-verify (push) Successful in 12s
|
2026-09-01 18:59:32 +08:00 |
|
claude_dev
|
9f264f8bd0
|
fix(provider): sqlite连接改thread-local根治跨日存活跨线程崩——09-01 09:30 live_19实录:引擎首次跨日存活后回调线程变化(连接建于线程19932/用在线程4184),_connect单例连接跨线程复用直接ProgrammingError→momentum_timing牛熊分界不可用跳过当日调仓(安全降级但每日复发直到重启);修=threading.local每线程各持连接(fetchers四处ctx._connect()零改动);影子引擎0例中招;2新测试复现同款报错文案钉死 [vps]
CI/CD / test (push) Successful in 19s
CI/CD / nas-deploy (push) Successful in 7s
CI/CD / nas-verify (push) Successful in 12s
|
2026-09-01 12:54:30 +08:00 |
|
claude_dev
|
1d9265b922
|
fix(live): 废单告警补第二肢治柜台级拒单盲区——08-31 T+1探针实锤:柜台拒单不进QMT当日订单API(query_stock_orders 15笔全SUCCEEDED不含被拒卖单),订单状态永停非终态,原告警等柜台报rejected结构性等不到;新肢=当日自提交订单EOD仍非终态且零成交→疑似废单(提交侧自证,不依赖QMT报状态;正常撤单已到终态不计,部分成交残量仍归守恒管);两肢合并入rejected_orders带why字段区分;+2测试(疑似单命中/撤单与跨日不误报);全量1368绿 [vps]
CI/CD / test (push) Successful in 4s
CI/CD / nas-deploy (push) Successful in 19s
CI/CD / nas-verify (push) Successful in 18s
|
2026-09-01 12:17:08 +08:00 |
|
claude_dev
|
b695874b3c
|
fix(live): 守恒/废单跨日过滤属性错位根治——订单时间字段误读不存在的datetime(bullet_trade Order实为add_time,全字段扫描实锤)恒None→跨日过滤从不生效,引擎跨交易日存活时历史终态订单全进当日守恒对比(台账只记当日行)→每日假缺口告警+重试刷到23:00;09-01进程将首次跨日存活必首发作;两处同修(守恒+废单清单),测试替身datetime_=改回add_time_=(08-29周末提交曾喂不存在的datetime=把bug锁进断言)+新增昨日终态订单零缺口回归;531绿 [vps]
CI/CD / test (push) Successful in 6s
CI/CD / nas-deploy (push) Successful in 27s
CI/CD / nas-verify (push) Successful in 17s
|
2026-08-31 18:32:20 +08:00 |
|
claude_dev
|
6710591d44
|
fix(web): 因子域三页主按钮观感统一——BatchEval/New/LeaderboardDetail 的 .btn.primary 原为青实底深字+glow 旧观感(用户反馈「批量评估和因子分析里的按钮样式都不太对」),统一替换为排行榜「发起新评估」同款(青软底 var(--cyan-soft)+荧光青字 var(--brand)+半透描边,el-button--primary 观感);Result.vue 无主按钮不动 [nas]
CI/CD / test (push) Successful in 4s
CI/CD / nas-deploy (push) Successful in 9s
CI/CD / nas-verify (push) Successful in 8s
|
2026-08-30 19:19:25 +08:00 |
|
claude_dev
|
4ab83097ec
|
fix(data): constituent_unified中证1000(000852)全0修复+current锚点三重防线——000852的1233条成分全in_current=0(因子池端点显示0只);根因=08-16 idx-monthly STEP0的fetch_akshare_current(000852)瞬时网络失败被「非致命warning」吞→announce_union重写丢current锚点→migrate全标was_removed,而snapshot兜底对两指数均为csindex超时placeholder从未起作用;数据修复(已执行)=akshare现拉1000只append进announce_union+正规migrate/merge重建,VPS主库1673条cur=1000精确达标,全21指数diff仅000852,NAS sync_tables已同步同态,全0扫描为空;代码防线=①fetch重试3次②空解析raise大声(列定位失败不再静默返空)③_carry_forward_current失败时沿用旧parquet current行锚点只增不丢(000852/932000两块接线);6新测试钉死三防线 [vps]
CI/CD / test (push) Successful in 10s
CI/CD / nas-deploy (push) Successful in 12s
CI/CD / nas-verify (push) Successful in 12s
|
2026-08-30 12:49:13 +08:00 |
|
claude_dev
|
81b5b558a6
|
fix(live): 部署滚动重启QMT会话竞态根治双层——P1 runner_live connect退避重试5×10s(08-30实录live_17/20重拉后connect=-1整引擎退出静默缺仓,会话回收秒级重试即免疫,失败清理QmtBroker自带重试安全)+P0 重启脚本杀后等30s会话回收+引擎数核验追平杀前DB期望追不平exit 1红灯(vps_count_engines.py经promote部署,expected须杀前取);VPS实测双模式6/6;全量1359绿 [vps]
CI/CD / test (push) Successful in 3s
CI/CD / nas-deploy (push) Successful in 7s
CI/CD / nas-verify (push) Successful in 9s
|
2026-08-30 12:46:48 +08:00 |
|
claude_dev
|
ea1d41b04c
|
fix(live): day_count隔日恢复+1双计修正(落盘值已含自增,恢复直取saved_count) [vps]
CI/CD / test (push) Successful in 2s
CI/CD / nas-deploy (push) Successful in 10s
CI/CD / nas-verify (push) Successful in 10s
|
2026-08-30 11:54:03 +08:00 |
|
claude_dev
|
5cc326dd4a
|
fix(factor): output_dir建目录兜底——VPS(Windows)首跑/tmp/factor不存在tears静默失败 [vps]
CI/CD / test (push) Successful in 3s
CI/CD / nas-deploy (push) Successful in 11s
CI/CD / nas-verify (push) Successful in 13s
API路径output_dir硬编码/tmp/factor是容器/NAS约定;Windows解析为当前盘根
\tmp\factor,首跑不存在且tears/心跳open直写不建目录→FileNotFoundError
→tears标注json_error静默降级+心跳全丢。os.makedirs exist_ok幂等修复,
赶上统一推vps班车。factor全套测绿
|
2026-08-30 10:53:34 +08:00 |
|
claude_dev
|
51c400030b
|
fix(web): 生成tears按钮任务状态化防重复提交(用户08-30补充) [nas]
CI/CD / test (push) Successful in 5s
CI/CD / nas-deploy (push) Successful in 12s
CI/CD / nas-verify (push) Successful in 7s
痛点:点击生成→progress→返回详情页按钮仍可点,重复生成同类任务。
方案:每因子记task_id(localStorage factorTearsTask.v1),按钮三态——
无任务「生成tears报告」/进行中「分析进行中·查看进度→」(跳progress复用)/
已完成「✓查看tears报告→」(跳result复用);failed或tears缺失(修复前旧
失败任务getTearsData探测404)自动清态恢复可重新生成;任务404(已清理)同。
mounted/watch factor刷新态;build绿
|
2026-08-30 10:48:45 +08:00 |
|