Add live.py lifecycle and event candidates; assemble confirmed vs live in engine; Summary partition; execution_signal source=confirmed only. Keep strategies untouched; do not lower Confirmed thresholds for Live. Co-authored-by: Cursor <cursoragent@cursor.com>
1.8 KiB
1.8 KiB
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