refactor: ECR-002 拆分 runtime 包并加深 analyze 契约(已审)
将 web/services/runtime.py 拆为 runtime/ 子模块并保持门面兼容;补齐 ESS 文档、门面/契约/TF_DF 测试与 CODE_REVIEW Approve。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
# Idea: 主站自动刷新内存泄漏 + chan_tv 体验修补
|
||||
|
||||
## Problem
|
||||
|
||||
主站(Lightweight Charts)勾选自动刷新后,浏览器内存持续上涨;首屏偶发重复打 `/api/analyze`。全版 TradingView(`/chan_tv`)指标/布局/未完成中枢体验不完整。
|
||||
|
||||
## Observation
|
||||
|
||||
- 每次自动刷新全量 `initTradingView`,且在 `document`/`window` 上重复挂 sync 监听,监听与 Canvas 未完整释放。
|
||||
- `ui.js` 加密货币首屏对 `updateChart()` 调度了两次。
|
||||
- `get_klc_list` 与 `TF_DF` / `analyze_chan` 可能重复跑 ChanMACD。
|
||||
- `chan_tv` 需 WS 与 REST 可分离、指标本地恢复、未完成中枢绘制修正。
|
||||
|
||||
## Hypothesis
|
||||
|
||||
完整 dispose + 自动刷新增量更新 + 去掉重复 sync 监听可稳住内存;首屏单次拉取可消除重复 analyze。chan_tv 问题为前端/datafeed 修补,不改缠论算法语义。
|
||||
|
||||
## Expected Impact
|
||||
|
||||
自动刷新可长期开启;首屏请求减半;chan_tv 更接近可用交易终端体验。
|
||||
|
||||
## Change Level Guess
|
||||
|
||||
**L1**(Bug Fix / 体验修补;不改笔段中枢算法语义,不改 strategies/config)
|
||||
|
||||
## Implementation
|
||||
|
||||
- Commit: `9f1e736`
|
||||
- Date: 2026-08-06
|
||||
|
||||
## Next
|
||||
|
||||
- [x] 仅 Bugfix(L1)— 代码已合入 `9f1e736`
|
||||
- [x] CHANGELOG / STATE / TRACEABILITY / TEST_REPORT 补档
|
||||
- [ ] 可选:自动化回归(内存/监听数量断言)— 暂人工验证
|
||||
@@ -0,0 +1,27 @@
|
||||
# Idea: 继续拆分 Web runtime 与加深契约测试
|
||||
|
||||
## Problem
|
||||
|
||||
ECR-001 Review 非阻断债务:`web/services/runtime.py` 仍过大;`/api/analyze` 契约测试偏浅;`chart_tv.js` 单体巨大。
|
||||
|
||||
## Observation
|
||||
|
||||
CODE_REVIEW ECR-001 Findings 1–3、5 明确记入 backlog,要求新 ECR 再动。
|
||||
|
||||
## Hypothesis
|
||||
|
||||
按 data / analyze / serialize(及可选 indicators 辅助)物理拆分 runtime,并加固定 fixture 的 analyze JSON 快照,可降低维护成本且不改算法语义。
|
||||
|
||||
## Expected Impact
|
||||
|
||||
可测性与可审阅性提升;为后续 Web 功能迭代减负。
|
||||
|
||||
## Change Level Guess
|
||||
|
||||
**L3**(结构重构;行为冻结)— 若触及识别结果则升 L2 + RISK/EXP。
|
||||
|
||||
## Next
|
||||
|
||||
- [x] ECR-002 Draft
|
||||
- [ ] Human Approve 后再实现
|
||||
- [ ] ENGINEERING_SPEC / ADR(若布局再变)
|
||||
Reference in New Issue
Block a user