# ECR-007 **Title:** Wyckoff Live Structure **Status:** Approved **Date:** 2026-08-07 **Change Level:** L2 **Human:** Approved (LOOP-RUN-005 Start Authorization) ## Change Add **Live / Developing** structure layer beside **Confirmed** Wyckoff engine: lifecycle, FORMING candidates (Spring/SOS/LPS/UTAD), explainable confidence, Summary partition. Keep Confirmed thresholds unchanged; execution may only consume Confirmed. ## Motivation LOOP-RUN-005 — domain-state complexity under Adapter v0.1 STABLE (Confirmed ≠ Live ≠ execution). ## Scope ### Allowed (IN) - `chanlun/analysis/wyckoff/live.py` + engine assembly - lifecycle / confirmed / live payload - Event candidates + confidence - API contract + Summary UI - tests + docs notes (WYCKOFF-LIVE-STRUCTURE-001) ### Forbidden (OUT) - execution signal automation / auto trading - strategy / maker / decide_quotes / `strategies/**` - lowering Confirmed thresholds - Live candidate replacing Confirmed - ESS / Loop / Adapter changes ## Risk | Risk | Mitigation | |------|------------| | Live → execution | `execution_signal_from_wyckoff` source=confirmed only; live-only → None | | Confirmed pollution | candidates never written to confirmed.events | | Domain confusion in UI | Summary Confirmed vs Live partitions | ## Acceptance Criteria - [ ] Approved BD-2026-007 - [ ] Confirmed logic not relaxed - [ ] Live ≠ execution signal (tests) - [ ] Lifecycle verifiable - [ ] Artifact chain + Gate PASS ## Rollback - Disable live assembly; remove live.py; revert Summary partition ## Linked - Note: `docs/notes/WYCKOFF-LIVE-STRUCTURE-001.md` (FROZEN) - BACKEND_DESIGN: `docs/BACKEND_DESIGN/BD-2026-007-wyckoff-live-structure.md` - ENGINEERING_SPEC: `docs/ENGINEERING_SPEC/ECR-007-wyckoff-live-structure.md` - Loop: LOOP-RUN-005