将 web/services/runtime.py 拆为 runtime/ 子模块并保持门面兼容;补齐 ESS 文档、门面/契约/TF_DF 测试与 CODE_REVIEW Approve。 Co-authored-by: Cursor <cursoragent@cursor.com>
1.3 KiB
1.3 KiB
IMPLEMENTATION_REPORT — ECR-002
Date: 2026-08-06
Status: Implemented(待 CODE_REVIEW)
Change Level: L3(行为冻结)
What changed
将 web/services/runtime.py(~1178 行)拆为包 web/services/runtime/:
| Module | Responsibility |
|---|---|
state.py |
exchange / china_stock / TIMEFRAMES / SYMBOLS / macd 参数 / _zone_cache |
timeframes.py |
周期换算、默认值、大小比较、zone TTL |
market_data.py |
K 线拉取(datasvc / ccxt / A 股)、元信息刷新 |
indicators.py |
add_indicators / calculate_macd |
analyze.py |
analyze_chan / classify_trend_stage |
serialize.py |
ChanMACD 序列化、JSON 清洗、未完成线段 |
__init__.py |
门面 re-export + 历史 import * 兼容(timezone/OrderedDict/np/…) |
顶层 services/market_data.py 等薄 shim 仍从 services.runtime 再导出。
未做(ECR 可选): chart_tv.js 拆分。
Compatibility
from services.runtime import */import services.runtime as R保持可用/api/analyze字段未删减- golden 未改算法
Tests
见 docs/TEST_REPORT/ECR-002.md(13 passed)。
Follow-ups
- CODE_REVIEW Approve
- 可选:
symbols.macd_configPOST 写回state.macd_*(历史 quirks,本 ECR 未改)