# CODE_REVIEW — ECR-003 **Role:** REVIEWER **Date:** 2026-08-06 **Scope:** 工作区未提交 ECR-003(相对 `origin/dev` @ `df27b4d`) **Decision:** Approve(带非阻断 Findings;建议合并前勿提交 `.DS_Store`) ## Evidence loaded - `chanlun/analysis/wyckoff/{engine,range,events,volume_profile}.py` - `web/api/analyze.py`(`include_wyckoff`) - `web/templates/index.html`、`chart_view.js`、`macd_ui.js`、`chart_tv.js` 威科夫块 - `tests/test_wyckoff.py`、`web/tests/test_analyze_contract.py` - ESS:ECR/PRODUCT/ENG/IMPL/TEST/HANDOFF ## Acceptance ↔ Evidence | Acceptance | Verdict | Evidence | |------------|---------|----------| | `include_wyckoff=1` 返回约定键;默认不强制 | PASS | 契约测试;默认无 `wyckoff` 键 | | 合成 TR + 事件;VP POC | PASS | `test_wyckoff.py`(12 相关套件全绿) | | 主站可开关绘制 | PASS | 主开关按需拉取;子项本地重绘 | | golden 不变 | PASS | `test_golden_pipeline` | | 未改缠论算法 / strategies / chan_tv | PASS | diff 范围核对 | | ESS 闭环 | PASS | IMPL/TEST/TRACE/CHANGELOG/本文件 | ## 复跑 ```text PYTHONPATH=.:web python -m pytest \ tests/test_wyckoff.py tests/test_golden_pipeline.py \ web/tests/test_analyze_contract.py -q → 12 passed ``` ## Findings ### Important(不挡 Approve,建议跟进) 1. **交易区间易吞并前置趋势** `detect_trading_range` 从最长窗口向下搜,合成夹具下 `abs_start_idx=0`,箱体前下跌段被算进 TR。单测只断言「有区间 + 有事件」,未锁定高低/起点。 *建议:* 用「宽度/触边密度」评分取最优段,或要求近端触边;测试断言 `high≈60/low≈40` 与起点靠近箱体。 2. **VP 叠层系列数偏多,可能加压自动刷新内存** 开启 VP 时约每个 bin 一条 `addLineSeries`(默认 ~50),再加区间填充/阶段。与 IDEA-002 内存修复同路径全量重建时放大。 *建议:* 只画非零 bin 或合并为少量 series / histogram;或限制 `vp_bins` 上限到 24。 ### Medium 3. **阶段 C–E 在事件扎堆时常退化重叠** 夹具输出中 D/E 起止几乎相同;状态机按事件锚点硬切,缺少最小阶段长度。展示可用,语义偏弱。 4. **`elements_only=true` 仍可能跑威科夫** 威科夫挂在路由末尾,不依赖 `not elements_only`。主站当前不这么发,但契约上奇怪;建议与主周期分析同门闩。 5. **单测断言偏松** `Spring in types or SOS`、`abs(poc-50)<2` 对回归保护不足。 ### Low 6. 失败时 `wyckoff.error` 回传异常字符串(与结构区 print 风格一致,信息暴露轻微)。 7. 事件 marker 一律 `arrowUp`(跌破类也可 `arrowDown`)。 8. 工作区 `.DS_Store` 脏文件——**勿纳入 commit**。 ### No blockers 未发现:契约删键、缠论语义改动、策略/config 改动、未鉴权危险写操作、主站误引 WS。 ## Decision **Approve** 可合并提交(排除 `.DS_Store`)。Important #1/#2 可开后续 L1/L2,不阻塞本 ECR 着陆。 ## Next owner `engineer` / Human — commit(勿含 `.DS_Store`);可选跟进 TR 评分与 VP 绘图优化。