落盘 CODE_REVIEW Approve 与 RELEASE_REPORT,标记首个正式 release。 Co-authored-by: Cursor <cursoragent@cursor.com>
2.4 KiB
2.4 KiB
ECR-001
Title: 缠论引擎包化 + Web 分层重构(行为冻结)
Status: Approved
Date: 2026-08-05
Change Level: L3
Change
将根目录扁平 Chan*.py / TF_DF.py 包化为 chanlun/,拆分 web/app.py 与巨型 index.html inline JS;算法与 /api/analyze 契约冻结;config/ / strategies/ 不动。
Motivation
根目录与 Web 单体过大、职责混杂,难以维护与测试;需在不影响 Freqtrade 策略导入的前提下重整结构。
Scope
Allowed
- 创建
chanlun/(core / pipeline / indicators / analysis)与根目录兼容 shim - 拆分
TF_DF为 builders + 门面(公开方法签名不变) - Web:
config+services+apiblueprints;配置外置(proxy / DATA_SERVICE) - 前端:
index.html业务 JS 外置到static/js/app/;隔离未接线 TS/TSX - 示例与笔记迁入
examples//docs/notes/ - Golden / 契约回归测试
Forbidden
- 修改笔 / 线段 / 中枢 / 买卖点算法语义
- 破坏
/api/analyzeJSON 字段(可增不可删) - 修改
config/;修改strategies/交易逻辑或参数(import/sys.path迁移除外,见 CODE_REVIEW) - 引入 Vite/React/TS 构建
- 重做 UI 视觉或更换 TradingView
Risk
| Risk | Mitigation |
|---|---|
| 策略 import 断裂 | 根 shim + 冒烟导入 |
| 拆文件改算法 | 仅搬移;golden fixture |
| 前端事件遗漏 | 按块抽取 + 手工/冒烟 |
| API 字段漂移 | analyze 契约测试 |
Acceptance Criteria
from ChanLun import ChanLun/from ChanEnum import ...仍可用- Golden:同一 fixture 下 bi/seg/zs/bsp 序列化结果与基线一致
/api/analyze关键字段集合兼容(契约冒烟)web/app.py瘦身为 factory;业务在 services/apiindex.html不再含大体量业务 inline JS- ESS docs 齐全;TEST_REPORT / IMPLEMENTATION_REPORT / CHANGELOG
config/无内容变更;strategies/仅允许 import/sys.path迁移(Human 增补,无交易逻辑变更)
Status: Done (Released as v1.0.0)
Rollback
单分支 / 单 PR 回滚;shim 期可整体 git revert。
Risk Review
- Path:
docs/RISK_REVIEW/ECR-001.md— N/A(不改交易语义)
Linked
- PRD / PRODUCT_SPEC:
docs/PRODUCT_SPEC/ECR-001-restructure.md - ENGINEERING_SPEC:
docs/ENGINEERING_SPEC/ECR-001-restructure.md - ADR:
docs/ADR/ADR-001-package-layout.md - EXPERIMENT: N/A
- TRACEABILITY: Yes