- ci-cd: enforce-label(本次push无标签→fail,merge豁免) + check-vps-needed(nas-verify绿后对比vps-deployed tag,有[vps]未部署→开issue) - vps-deploy: 成功打vps-deployed tag + 关issue(gap清空) - scripts/ci/vps_pending_check.py: issue开/关/更新(CI复用) - docs: vps-impact-map触及面表 + vps-deploy-pending判定记录 - CLAUDE.md: 部署流程段补标签约定
4.2 KiB
VPS 推送判定待办(分布式判定 + 中心汇总)
机制:各业务 session 认领自己模块的 commit,判定
[vps]/[nas]/存疑+ 理由,回传给基建。基建汇总后统一推一次 VPS(清技术债 + 建立vps-deployedtag 基线);判定与基建初判不一致的 case by case 讨论。判定标准(详见
docs/vps-impact-map.md):维度是「VPS 运行时是否触发这个 bug」,不是「文件改了没」。
- VPS 触及(→
[vps]):sanguo_data/sanguo_backtest/sanguo_portfolio.runner_backtest/ provider /sanguo_common/scripts/data_platform- VPS 不触及(→
[nas]):sanguo_orchestrator(仅web启) /sanguo_api(uvicorn) /sanguo_web(前端) / docker / .gitea关键事实(已核查):VPS 回测入口
sanguo_portfolio/runner_backtest.py直接调run_backtest(),不走 ProcessPool/orchestrator;VPS 无常驻 web。所以 orchestrator/pool/api.uvicorn/前端 = VPS 不触及。
策略 session 认领(sanguo_backtest + sanguo_portfolio)
| commit | message | 基建初判 | session判定 | 理由 |
|---|---|---|---|---|
b66a6c5 |
load_data 直查 dbbardata 绕 peewee(治CTA死算) | [vps] | ||
2ff8eca |
rolling alpha/beta 向量化(治分钟级卡死) | [vps] | ||
b2c41c7 |
CTA metrics benchmark 缺失降级 | [vps] | ||
9588a77 |
回测可观测性 L1+L2+L3 | [vps] | ||
7a14d7d |
strategy 字段全链透传(→runner_backtest) | [vps] | ||
c263aa1 |
cta_engine load_data logging | nas | ||
3d934f5 |
cta_engine 阶段 logging | nas | ||
6d23f7b |
worker _TIMEOUT 3600→10800 | [nas](orchestrator worker) | ||
e22c8ee |
max_pool 透传(model+handler+前端) | nas |
⚠️ 重点确认:
6d23f7b/e22c8ee涉及 orchestrator/pool 调度,VPS 回测若不走 ProcessPool 则[nas];若 VPS 也复用 worker/pool 逻辑则[vps]。你最清楚 runner_backtest 是否触及。
前端 session 认领(sanguo_web)
| commit | message | 基建初判 | session判定 | 理由 |
|---|---|---|---|---|
4c5270c |
EquityCurve 去 v-if + watch flush:post | [nas] | ||
c049e0e |
MetricCards fmt 兜底字符串值 | [nas] | ||
857d43c |
CTA结果页补净值曲线 | [nas] |
前端 VPS 不 serve(无常驻web),应全
[nas],确认即可。
后端 session 认领(sanguo_api)
| commit | message | 基建初判 | session判定 | 理由 |
|---|---|---|---|---|
a17f291 |
/health 存活探针端点 | nas |
确认 /health 改动是否只触及 uvicorn web 部分,还是有非 web 代码复用。
数据 session 认领(sanguo_data / provider)
近期无 sanguo_data 业务 commit,本轮跳过。
已判(基建自判,业务无需复核)
| commit | 判定 | 说明 |
|---|---|---|
2cb2ab0 |
[nas] | config vnpy_db,VPS 用 SANGUO_DB_PATH env 覆盖 |
1989a54 |
[vps] | requirements-lock,VPS pip 装包参考(弱) |
6d786fb |
[nas] | spawn PYTHONPATH+entrypoint,VPS 不跑 ProcessPool |
| c210197/0f6cdbe/5c5bd9d | [nas] | entrypoint/Dockerfile,NAS 专属 |
ca0ec01 |
[nas] | nas-verify /health gate,.gitea 不推 VPS |
| f9b7c10/7bed73a/e080885/0332aef/53daf9b | [nas] | docker/docs 系列 |
最终汇总(2026-08-02,三 session 判定 + 已推 VPS)
[vps] 已推 VPS(promote --target vps 推 b66a6c5,verify E2E DONE,vps-deployed tag→b66a6c5):
b66a6c5/2ff8eca/b2c41c7(sanguo_backtest,三 session 全确认)6b3d869/3b3e429(数据 session 自行 scp,已到位)
[nas] 不推(全员确认):9588a77/7a14d7d(基建误判纠正:runner.py≠runner_backtest.py,只改 web/orch/前端,VPS runner_backtest 未触及)/ 6d23f7b/e22c8ee(VPS 不走 ProcessPool,max_pool 是选股池)/ c263aa1/3d934f5(纯 log)/ 前端 3 条 / a17f291 / 2cb2ab0
DB 备注:SANGUO_DB_PATH env 空,vt_setting.json 兜底指对 VPS 库 → 不阻塞。
机制交接:后续 commit 走 [vps]/[nas] 标签,CI enforce-label 强制 + check-vps-needed 对比 vps-deployed tag。详见 issue #6。