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,38 @@
|
||||
# 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_config` POST 写回 `state.macd_*`(历史 quirks,本 ECR 未改)
|
||||
Reference in New Issue
Block a user