Commit Graph

403 Commits

Author SHA1 Message Date
claude_dev fa04475693 fix(portfolio): value_selection选股定序—_get_stock_list list(set交集)改sorted():set迭代序受PYTHONHASHSEED每进程随机化→跨进程回测trades/stocks_selected乱序(TET Phase2老vs老对照36a3a843/afe189ea实锤,issue#19);sorted恢复可复现性,选股集合不变;328测试绿 [vps] 2026-08-15 12:03:29 +08:00
claude_dev 701c0d90ad fix(docker): peewee钉版移出主清单改Dockerfile末步显式降级——二次构建实证peewee==3.17.3入主清单与vnpy_sqlite声明>=3.17.9互斥仍ResolutionImpossible(resolver不放过显式pin);改为主清单由resolver装满足版+末步pip install peewee==3.17.3单装降级(只校验自身依赖,VPS生产实证对齐);empyrical-reloaded同思路已在--no-deps步 [nas]
CI/CD / test (push) Successful in 19s
CI/CD / nas-deploy (push) Successful in 39s
CI/CD / nas-verify (push) Successful in 12s
2026-08-15 09:09:06 +08:00
claude_dev d649d59c44 feat(paper): 双轨对账前端页——模拟盘菜单新增「双轨对账」:自动配对卡片(策略/实盘#vs影子#/日期/PASS徽标)+四指标卡(笔数全同/均价差bps/持仓逐只/净值月偏差,各带达标徽标)+成交对比表(symbol+side聚合vwap带符号bps,>10标红)+持仓对比表(数量差≠0标红)+日期选择查询;api getReconcilePairs+mock样例(路由须注册在/paper/{aid}前防吞);dev截图验证 [nas]
CI/CD / test (push) Successful in 11s
CI/CD / nas-deploy (push) Failing after 14m53s
CI/CD / nas-verify (push) Has been skipped
2026-08-15 08:55:00 +08:00
claude_dev 64b10fda41 fix(docker): 解开lock隐藏依赖死锁——empyrical-reloaded0.5.12元数据伪依赖peewee<3.17.4与vnpy_sqlite的>=3.17.9互斥,单次pip install -r必ResolutionImpossible(三机一直是分次安装掩盖,2026-08-15容器重建首次触发;实测empyrical包体零引用peewee);修法=empyrical-reloaded移出主清单由Dockerfile第二步--no-deps单独装(真依赖bottleneck1.6.0/numpy/pandas/scipy主清单已钉),peewee==3.17.3+bottleneck==1.6.0按VPS生产实证钉入;lock同款警告注释 [nas]
CI/CD / test (push) Failing after 10m25s
CI/CD / nas-deploy (push) Has been skipped
CI/CD / nas-verify (push) Has been skipped
2026-08-15 08:39:23 +08:00
claude_dev 75454a7f55 fix(docker): requirements-docker全量==钉版对齐requirements-lock——根治>=浮动致容器系统性偏新(TA-Lib0.7.1/empyrical-reloaded0.5.9+遗留empyrical0.5.5双装/pyarrow25/fastapi0.141/lightgbm4.7/torch2.13 vs lock 0.6.8/0.5.12/24.0.0/0.139.0/4.6.0/2.12.1),消除'NAS绿≠VPS版本'等价性窗口;empyrical>=0.5.5换empyrical-reloaded==0.5.12根治双装;容器专属差异保留(无akshare采集在VPS/无pytest跑在Mac runner/polars[rtcompat]防NAS无AVX2 SIGILL);文件头注明版本源=lock需同步 [nas]
CI/CD / test (push) Successful in 14s
CI/CD / nas-deploy (push) Successful in 32s
CI/CD / nas-verify (push) Successful in 12s
2026-08-15 08:02:17 +08:00
claude_dev a45ab3086d feat(portfolio): TET Phase2策略副本(issue #19)—4副本(*_ex)文件级copy+机械替换取数调用(get_price/closes_panel/fundamentals_df→_ex;get_index_stocks→get_constituent_ex),策略逻辑零改动(diff可审计);all_weather_ex补small/big/roic_big/bm空入参守卫(strict空raise↔老接口空表→[]等价语义);接线__init__导出+runner分发/CLI choices/_register_schedule isinstance扩列;无_ex的方法(value_metrics/limit_status_batch/security_info)按issue保留老接口;portfolio全套328绿 [vps]
CI/CD / test (push) Successful in 20s
CI/CD / nas-deploy (push) Successful in 35s
CI/CD / nas-verify (push) Successful in 16s
2026-08-15 07:59:44 +08:00
claude_dev ad59922919 test(factor): test_analyzer三个never-ran测试修复——补read_db_daily假bars(analyzer真读库建prices,缺bars触发DBG空守卫短路tears/IC)+factor日期对齐生产aware口径(Asia/Shanghai);此批测试原在任何环境都没跑过(Mac缺依赖skip/容器缺pytest/CI只跑data_platform),Mac补齐lock依赖后暴露;全量900绿 [nas]
CI/CD / test (push) Successful in 18s
CI/CD / nas-deploy (push) Successful in 32s
CI/CD / nas-verify (push) Successful in 14s
2026-08-15 07:08:21 +08:00
claude_dev b1a43cba44 fix(portfolio): all_weather换仓月只卖不买根治——monthly_adjustment卖出旧仓后未重取持仓,陈旧快照len≥目标数致target_num>position_count恒False一股不买,空仓躺到下月(NAS实测2025-09-01/10-09/12-01三次调仓全中,持仓数<目标数的8-13/11-03正常买);卖出后_get_positions重取+动态持仓回归测试(复现卖5买0→修后卖5买5);老翻译bug非本轮5commit回归(VPS旧代码对照运行中) [vps]
CI/CD / test (push) Successful in 22s
CI/CD / nas-deploy (push) Successful in 42s
CI/CD / nas-verify (push) Successful in 25s
2026-08-15 07:06:07 +08:00
claude_dev b9315ef7e7 fix(tests): Mac本地9个既有测试失败根治——test_cta_engine的sys.modules mock注入从import期挪进module-scoped fixture(pytest全量collection先于执行,import期注入污染后收集的metrics/datareader/factor)+venv310按lock补装empyrical-reloaded==0.5.12;影子柜台设计文档头更新(P1已上线/P3前半已实现) [nas]
CI/CD / test (push) Successful in 15s
CI/CD / nas-deploy (push) Successful in 47s
CI/CD / nas-verify (push) Successful in 23s
2026-08-15 00:02:12 +08:00
claude_dev f9322a7c48 feat(provider): TET窄试点B——P0四方法Fetcher化(_ex新接口,strict fail-fast),老接口零改动 [vps]
CI/CD / test (push) Successful in 21s
CI/CD / nas-deploy (push) Successful in 1m3s
CI/CD / nas-verify (push) Successful in 12s
2026-08-14 23:44:39 +08:00
claude_dev 534a06aad7 feat(shadow-desk): 双轨日终对账报表(影子P3前半,设计§8.2)—reconcile_report四指标(成交笔数全同/每笔价差vwap对比<10bps带符号供滑点重标/收盘持仓逐只数量/净值月偏差<0.5%)+find_dual_track_pairs自动配对(shadow策略名↔live strategy_class,live#5↔shadow#39实证)+dual_track_reconcile落库upsert;API GET /paper/reconcile(+单配对refresh);CLI python -m;supervisor auto轮询挂15:10后每日一次兜底;14新测试(符号口径SH/XSHG归一/影子拒单不计/部分成交如实报笔数异) [vps]
CI/CD / test (push) Successful in 11s
CI/CD / nas-deploy (push) Successful in 33s
CI/CD / nas-verify (push) Successful in 12s
2026-08-14 23:18:07 +08:00
claude_dev 2cd158286b perf(portfolio): G5-P2收尾—all_weather三调用点向量化:①filter_roic逐只循环→一次批量+fields=['roic']短路(9×)②_trend_mean get_price长表+pivot→get_closes_panel宽表(340×,count=N→start-N*2自然日+.tail(N)同momentum口径,fq均raw)③prepare_stock_list get_price(close+high_limit)→get_limit_status_batch精确涨跌停口径;测试fixture补panel/limit_batch mock(原MagicMock碰巧truthy蒙混paused剔除语义,默认改全正常);+6回归测试,portfolio全套302绿 [vps]
CI/CD / test (push) Successful in 13s
CI/CD / nas-deploy (push) Successful in 39s
CI/CD / nas-verify (push) Successful in 14s
2026-08-14 23:17:13 +08:00
claude_dev e9aec041db feat(api): P1.4 web token 60min静默刷新—后端POST /auth/refresh(有效旧token换新,过期401不放行续命)+login/refresh返expires_in+get_token_exp;前端请求拦截器剩余<10min单飞预刷新(裸axios避递归/mock短路,失败静默降级走401兜底);治长回测轮询401跳登录;3新测试 [vps]
CI/CD / test (push) Successful in 18s
CI/CD / nas-deploy (push) Successful in 34s
CI/CD / nas-verify (push) Successful in 11s
2026-08-14 23:09:34 +08:00
claude_dev 61cc01efbe feat(portfolio): P1.3涨跌停/停牌过滤批量化双端—①all_weather monthly_adjustment三filter接线_get_limit_status批量预取(原不传status_map/date走无数据保留死分支,照买涨停照交易停牌;同small_cap等三策略) ②ShadowBroker涨跌停拒单(买撞涨停/卖撞跌停/停牌双向拒;limit_getter注入,未注入/异常/无状态降级放行等价旧行为) ③runner build_limit_getter(优先miniQMT实时tick lastPrice vs UpStop/DownStop与实盘同源,回退get_limit_status_batch日线口径);9新测试 [vps]
CI/CD / test (push) Successful in 15s
CI/CD / nas-deploy (push) Successful in 40s
CI/CD / nas-verify (push) Successful in 13s
2026-08-14 23:04:15 +08:00
claude_dev fbd0c39c6c fix(portfolio): P1.2 stop_loss去1m依赖—昨日涨停分支改get_limit_status_batch日线口径(原get_price frequency=1m,数据层无1m表→分支静默失效);_intraday_high_low→_limit_status(getattr降级同small_cap等三策略);3新测试(涨停打开卖/仍涨停持有/异常跳过) [vps]
CI/CD / test (push) Successful in 15s
CI/CD / nas-deploy (push) Successful in 36s
CI/CD / nas-verify (push) Successful in 20s
2026-08-14 22:57:26 +08:00
claude_dev 86a13ede42 test(portfolio): 修stale测试test_small_filters_by_roe_roa—锚定e807bed放宽阈值(roe0.05/roa0.02,原0.15/0.10对中证1000命中仅~5%),保留剔除不合格股意图(换roe0.03/roa0.01样本) [nas] 2026-08-14 22:57:20 +08:00
claude_dev f49154266d fix(live): 监控页三修——①收益率改首快照基线(与列表同口径,治共用QMT账户下cap兜底的假900%)②组合实盘成交落库_sync_trades(轮询broker当日成交→live_trades,此前完全没人写成交表)③updated_at北京时间显示+策略参数JSON改表格 [vps]
CI/CD / test (push) Successful in 15s
CI/CD / nas-deploy (push) Successful in 42s
CI/CD / nas-verify (push) Successful in 14s
2026-08-14 22:07:30 +08:00
claude_dev f73810a6da fix(live): 组合实盘快照守卫——cash<=0(持仓先到资金未同步)不落balance;2026-08-14实况=首条total=2931成收益率基线→前端341080%假收益率;抽出_snapshot_once可测+回归测试 [vps]
CI/CD / test (push) Successful in 16s
CI/CD / nas-deploy (push) Successful in 36s
CI/CD / nas-verify (push) Successful in 15s
2026-08-14 21:54:56 +08:00
claude_dev a1d4773189 fix(api): PUT /live 编辑漏补vt_symbol后缀(新建有normalize编辑没有);2026-08-14实况=用户改300024成裸码→引擎'vt_symbol无法解析,跳过'→假运行收不到行情;编辑与新建同规normalize+回归测试 [vps]
CI/CD / test (push) Successful in 17s
CI/CD / nas-deploy (push) Successful in 47s
CI/CD / nas-verify (push) Successful in 14s
2026-08-14 21:51:39 +08:00
claude_dev b27c3b479c fix(live/shadow): 实例锁第二层——按账户复制策略适配文件(live_3/live_5共用QMT账号被误判重复实例拒启);bullet_trade实例锁判重键=主机+strategy_path+broker+account_identity,同账号多策略是合法场景须路径互异 [vps]
CI/CD / test (push) Successful in 18s
CI/CD / nas-deploy (push) Successful in 26s
CI/CD / nas-verify (push) Successful in 13s
2026-08-14 20:28:14 +08:00
claude_dev e1cafac451 fix(live/shadow): bullet_trade单实例runtime锁按账户分目录(live_{id}/shadow_{id});VPS实况=影子进程持默认./runtime锁,两个组合实盘LiveLockBusyError起不来;多实盘并行+双轨§8的前提 [vps]
CI/CD / test (push) Successful in 14s
CI/CD / nas-deploy (push) Successful in 27s
CI/CD / nas-verify (push) Successful in 16s
2026-08-14 20:14:23 +08:00
claude_dev ea736acb29 fix(shadow): ShadowBroker补LiveEngine 0.9.2协议方法(supports_account_sync/cleanup等5个);VPS实况=影子进程启动即崩进崩溃循环(引擎_start_background_jobs无条件调supports_account_sync);加协议完整性防回归测试 [vps]
CI/CD / test (push) Successful in 15s
CI/CD / nas-deploy (push) Successful in 30s
CI/CD / nas-verify (push) Successful in 12s
2026-08-14 20:04:59 +08:00
claude_dev c16c78aaf8 ci(vps-gate): vps-deploy加口令闸门(用户拍板): dispatch必填confirm=推vps,不符第一步fail; 前置=nas-verify绿+用户NAS验收+报待推清单+用户原话说「推vps」,不得代填/推断/沿用旧授权(2026-08-14两次违规教训固化); CLAUDE.md部署规则同步 [nas]
CI/CD / test (push) Successful in 12s
CI/CD / nas-deploy (push) Successful in 30s
CI/CD / nas-verify (push) Successful in 11s
2026-08-14 19:52:03 +08:00
claude_dev c9bc654d3a fix(paper): 实走/影子隐藏起止日期(用户指正:开放账户区间无意义): 前端仅回放显示日期,卡片标题资金与区间→资金+说明文案; 后端非回放强制start=创建当天end空(组合日终重放依赖start_date空值会崩); 区间断言进测试 [nas]
CI/CD / test (push) Successful in 15s
CI/CD / nas-deploy (push) Successful in 31s
CI/CD / nas-verify (push) Successful in 13s
2026-08-14 19:45:09 +08:00
claude_dev f00730482f feat(shadow-desk): P1-d 影子主管+通路策略增强(用户拍板): channel_test universe分6类资产各3只(宽基/行业/跨境商品ETF/主板蓝筹/中盘/创业板,个股只主板+创业板无科创北交铁律)hold 6只每日跨类型轮换;盘中4时点场景(9:35主调仓卖全买等权/10:45部分加减仓/13:45卖后买资金复用/14:30 T+1拒单探针)每天全场景,适配15m; shadow supervisor --auto轮询paper库自动拉起/停止/重启影子账户子进程(env映射SANGUO_LIVE_+SANGUO_SHADOW_契约); 11新测试 [vps]
CI/CD / test (push) Successful in 12s
CI/CD / nas-deploy (push) Successful in 32s
CI/CD / nas-verify (push) Successful in 15s
2026-08-14 19:14:13 +08:00
claude_dev 2ee6043592 feat(live): 实盘组合策略下拉加通路测试标签(channel_test 自动进 registry 扫描,双轨验证入口) [nas]
CI/CD / test (push) Successful in 14s
CI/CD / nas-deploy (push) Successful in 23s
CI/CD / nas-verify (push) Successful in 11s
2026-08-14 14:35:59 +08:00
claude_dev 102f602aee fix(paper): 模拟盘列表创建时间UTC转北京时间显示(存的是UTC isoformat,直接截串少8h) [nas]
CI/CD / test (push) Successful in 17s
CI/CD / nas-deploy (push) Successful in 27s
CI/CD / nas-verify (push) Successful in 11s
2026-08-14 14:34:58 +08:00
claude_dev 36db2ed5a6 feat(shadow-desk): 通路测试策略channel_test+模拟盘列表改造: 策略=每日等权轮换ETF/蓝筹(卖旧买新走全买卖通路)+T+1当日卖探针(两端应一致拒单,验证拒单通路),注册backtest/live/前端,默认universe 5只高流动ETF,4单测(坑:BrokerFacade是dataclass,子类方法被父类__init__实例属性遮蔽须实例注入); 模拟盘列表:加类型列(个股/组合)+创建时间列,标的去JSON中括号,列宽重排,模式筛选加影子 [vps]
CI/CD / test (push) Successful in 12s
CI/CD / nas-deploy (push) Successful in 28s
CI/CD / nas-verify (push) Successful in 9s
2026-08-14 14:32:52 +08:00
claude_dev 6220fc5943 refactor(paper): 影子升级为第三种运行模式(回放/实走/影子,用户拍板CTA和组合都可走影子): 模式卡三选一替代组合卡内撮合引擎单选; engine由mode推导(shadow→shadow否则eod_replay,CTA/组合统一); 日终20:30 job只遍历mode=live天然隔离影子账户; 列表徽标mode=shadow亮'影子'+组合live标'日终'; 2新测试 [vps]
CI/CD / test (push) Successful in 13s
CI/CD / nas-deploy (push) Successful in 27s
CI/CD / nas-verify (push) Successful in 9s
2026-08-14 12:55:26 +08:00
claude_dev 8e7e7282de feat(shadow-desk): P1-b/c 影子柜台常驻进程+本地撮合broker+前端引擎选择: ShadowBroker(实时价±滑点即时成交/佣金印花最低佣金/A股整手/T+1日锁/资金不足拒单/均价加权/duck-typed BrokerBase协议); runner挂bullet_trade LiveEngine同实盘唯一差=broker_factory换影子(双轨对账基础),成交落paper_trades+30s快照落持仓净值; CLI单实例文件锁(python -m sanguo_trader.shadow); paper_accounts加engine列(eod_replay/shadow迁移); 前端:模拟盘新建组合卡撮合引擎单选+列表影子/日终徽标; 10 broker单测 [vps]
CI/CD / test (push) Successful in 12s
CI/CD / nas-deploy (push) Successful in 25s
CI/CD / nas-verify (push) Successful in 9s
2026-08-14 12:16:05 +08:00
claude_dev 861c7faa8c feat(portfolio): P1-a 组合策略K线周期字段(前后端): 模拟盘新建组合卡显周期下拉(原v-if藏起,实走/影子用miniQMT档位); live组合分支不写死d(空=d默认,cta空=15m); 组合回测加interval(d=day,非d拒400+runner拒ValueError,分钟档等数据层); worker params存interval供回放预填; 前端组合回测表单加下拉(仅日线可选,其余disabled标注影子可用) [vps]
CI/CD / test (push) Successful in 11s
CI/CD / nas-deploy (push) Failing after 12s
CI/CD / nas-verify (push) Has been skipped
2026-08-14 12:05:23 +08:00
claude_dev ce62de5522 docs(shadow-desk): P0对账标记已通过(all_weather 2024全年全量vs3段续跑,持仓逐只/现金总值/净值<1e-6,跨除权覆盖);下一步P1常驻进程 [nas]
CI/CD / test (push) Successful in 13s
CI/CD / nas-deploy (push) Successful in 29s
CI/CD / nas-verify (push) Successful in 14s
2026-08-14 10:33:44 +08:00
claude_dev 1e7d696f45 feat(shadow-desk): P0对账spike(runner加initial_positions通道+final_portfolio产出): BacktestEngine续跑注入初始持仓(引擎原生支持,不消耗现金); 期末现金/持仓/总值从engine.context.portfolio直取; run_backtest_json透传initial_positions+final_portfolio; scripts/shadow_desk/spike_p0全量vs 3段续跑对账(持仓逐只/现金总值/净值曲线<1e-6,自动月初分段或--split压除权边界); 6测试 [vps]
CI/CD / test (push) Successful in 16s
CI/CD / nas-deploy (push) Successful in 28s
CI/CD / nas-verify (push) Successful in 12s
2026-08-14 10:10:51 +08:00
claude_dev 8f184c9f2e ci(vps-deploy): 纳入前端dist同步+API重启(治公网前端无管线手动步骤): Mac构建+tar+scp→VPS换dist(脚本入仓scripts/nas_sync,vps_update_dist.py); 重启加端口释放等待(防end→run竞态10048静默崩,今日实踩)+起服探活(上限10min) [nas]
CI/CD / test (push) Successful in 13s
CI/CD / nas-deploy (push) Successful in 29s
CI/CD / nas-verify (push) Successful in 12s
2026-08-14 10:06:54 +08:00
claude_dev a5f19f5b43 fix(live): vt_symbol 默认值改裸码600000(前后端;后端create自动补后缀,默认值无需带SSE) [nas]
CI/CD / test (push) Successful in 9s
CI/CD / nas-deploy (push) Successful in 24s
CI/CD / nas-verify (push) Successful in 10s
2026-08-14 09:33:52 +08:00
claude_dev 94e1b59ec1 feat(web): K线周期下拉统一共享常量:列全miniQMT成品K线(1m~60m/日/周/月,周月由日线合成),默认日线;模拟盘/实盘/策略实例三表单同源;标注回放数据可用性(d/15m本地有) [nas]
CI/CD / test (push) Successful in 14s
CI/CD / nas-deploy (push) Successful in 32s
CI/CD / nas-verify (push) Successful in 14s
2026-08-14 09:18:27 +08:00
claude_dev fff9119f38 docs(design): 影子柜台+双轨一致性验证(用户需求):影子vs实盘同跑对账——一致性参数表(费率/滑点标定/涨跌停/T+1对齐)+日终对账报表(笔数/价差<10bps/持仓/净值月<0.5%) [nas]
CI/CD / test (push) Successful in 12s
CI/CD / nas-deploy (push) Successful in 30s
CI/CD / nas-verify (push) Successful in 16s
2026-08-14 09:11:39 +08:00
claude_dev 02ece66e86 docs(design): 影子柜台设计v2(用户反馈):miniQMT实时订阅驱动(替代schtask轮询,与实盘同款)+实时价撮合+步长=策略自身周期(tick~月线)+每实例独立虚拟账户;对账兜底保留 [nas]
CI/CD / test (push) Successful in 19s
CI/CD / nas-deploy (push) Successful in 30s
CI/CD / nas-verify (push) Successful in 13s
2026-08-14 09:05:03 +08:00
claude_dev 869a758b89 fix(web): 任务耗时活计时钳0(本机时钟慢于服务端时短暂显示—) [nas]
CI/CD / test (push) Successful in 12s
CI/CD / nas-deploy (push) Successful in 29s
CI/CD / nas-verify (push) Successful in 17s
2026-08-14 08:35:46 +08:00
claude_dev 7e94339e42 docs(design): 模拟盘影子交易柜台设计(验收四轮#4):checkpoint增量+VPS盘中15m schtask+自有撮合;可行性已验(引擎initial_positions+attribute_history直查源) [nas]
CI/CD / test (push) Successful in 15s
CI/CD / nas-deploy (push) Successful in 31s
CI/CD / nas-verify (push) Successful in 10s
2026-08-14 08:32:42 +08:00
claude_dev 234b44e141 feat(live): CTA实盘vt_symbol裸6位码自动补交易所后缀(6→SSE,0/3→SZSE);表单提示+单策略原因说明(实盘需A股适配,陆续扩展) [nas]
CI/CD / test (push) Successful in 15s
CI/CD / nas-deploy (push) Successful in 32s
CI/CD / nas-verify (push) Successful in 13s
2026-08-14 08:30:56 +08:00
claude_dev 5850a60561 feat(api+web): 任务列表管理(验收四轮批1):历史任务→任务列表改名;DELETE /task/{id}单/批删除(进行中拒删);GET /task/{id}/params参数回放+点任务ID跳参数页预填;真创建时间+耗时列(提交即记,进行中活计时);进行中禁查看;组合任务params全量存 [nas]
CI/CD / test (push) Failing after 10m39s
CI/CD / nas-deploy (push) Has been skipped
CI/CD / nas-verify (push) Has been skipped
2026-08-14 08:29:20 +08:00
claude_dev 94de7191f5 feat(backtest): 任务提交时间表task_submissions+按task_id删结果(行+曲线文件+提交记录); record_submission/load_submissions/delete_result_by_task_id [vps] 2026-08-14 08:29:20 +08:00
claude_dev 02a862349a fix(portfolio): worker Mac分支(SSH到VPS)remote_cmd也补--provider unified(同VPS分支基准空根因,Mac开发路径防踩) [nas]
CI/CD / test (push) Successful in 14s
CI/CD / nas-deploy (push) Successful in 35s
CI/CD / nas-verify (push) Successful in 12s
2026-08-14 07:10:45 +08:00
claude_dev a6f6956c5d fix(portfolio): worker VPS分支也走unified provider:默认local(仅parquet)无指数点位致基准曲线恒空(dbbardata才有);冒烟实证VPS unified全链路OK [vps]
CI/CD / test (push) Successful in 10s
CI/CD / nas-deploy (push) Successful in 29s
CI/CD / nas-verify (push) Successful in 11s
2026-08-13 23:29:12 +08:00
claude_dev 849e437244 fix(strategy): dirty误标根治:Monaco setValue回写modelValue(含换行规整)与nextTick复位竞态;改载入宽限窗口300ms(echoGrace),窗口内code变更不算用户编辑 [nas]
CI/CD / test (push) Successful in 9s
CI/CD / nas-deploy (push) Successful in 23s
CI/CD / nas-verify (push) Successful in 8s
2026-08-13 23:23:13 +08:00
claude_dev f0a0e6bc8a fix(strategy): 编辑器加载文件误标未保存(code程序化赋值触发watch置dirty,运行回测被拦);select后nextTick复位 [nas]
CI/CD / test (push) Successful in 14s
CI/CD / nas-deploy (push) Successful in 27s
CI/CD / nas-verify (push) Successful in 9s
2026-08-13 23:19:58 +08:00
claude_dev 6728872d72 fix(portfolio): 基准装载时序修正:load_strategy()会reset_settings()清掉预设,须在initialize闭包内set_benchmark(聚宽同款模式);构造参数与预run设置双失效 [vps]
CI/CD / test (push) Successful in 9s
CI/CD / nas-deploy (push) Successful in 27s
CI/CD / nas-verify (push) Successful in 11s
2026-08-13 23:09:58 +08:00
claude_dev c8b7be69c9 fix(portfolio): 基准曲线恒空根因=bullet_trade 0.9.x BacktestEngine(benchmark=)构造参数收而不用,须set_benchmark()设全局settings(VPS冒烟实测benchmark_data恒None);run前显式设,幂等 [vps]
CI/CD / test (push) Successful in 14s
CI/CD / nas-deploy (push) Successful in 30s
CI/CD / nas-verify (push) Successful in 8s
2026-08-13 22:59:03 +08:00
claude_dev 95d621874f feat(strategy): 文件树分组支持点击折叠/展开(箭头旋转动效) [nas]
CI/CD / test (push) Successful in 11s
CI/CD / nas-deploy (push) Successful in 26s
CI/CD / nas-verify (push) Successful in 9s
2026-08-13 20:40:03 +08:00