| Was | Reden | Datum | Bewijs |
|---|---|---|---|
| Oude BitvavoWS codebase (services_v3) | Vervangen door clean rewrite (Bitvavo_refactor). Oude codebase had 194MB, 547 Python files, veel duplicatie. | 2025-10-23 | CLEAN_REWRITE_ANALYSIS.md (2026-01-13) - Rationale voor rewrite |
| Oude scoring logica (is_rocket_coin, is_ultra branches) | Vervangen door context-aware peak penalties (should_penalize_peak_risk). Oude logica was te simplistisch. | 2026-01-17 00:51 | services/signals_layer/signals_baseline/scoring.py - Oude branches verwijderd |
| O(N²) pairwise monotonicity tests | Vervangen door bucket/percentile/local neighborhood tests. O(N²) was inefficient en noisy. | 2026-01-17 | reports/SCORING_MONOTONICITY_TESTS.md v2 - Explicitly states v1 limitations |
| Was | Nu | Reden | Datum | Bewijs |
|---|---|---|---|---|
| Phase A: Speed-only scoring | Phase C: Multi-factor scoring met axioms (speed, spread, liquidity, net_edge, continuation, direction) | Speed-only was niet voldoende. Monotonicity violations, geen consistency concept. | 2026-01-16 | reports/SCORING_REDESIGN_PLAN.md v3 - Explicitly addresses Phase A problems |
| Phase A: Geen guards | Phase C: 12+ guards (ScoreGuard, NetEdgeGuard, SignalAgeGuard, etc.) | Geen capital protection, geen spread/liquidity filtering. | 2026-01-13-17 | services/trading_layer/trading_core/guards.py |
| Phase A: Geen mode differentiation | Phase C: Mode auto-detection (MicroWinMode/PumpRideMode) met per-market hysteresis | Alle signals werden gelijk behandeld, geen onderscheid tussen micro-wins vs pump-rides. | 2026-01-17 ~00:15 | services/signals_layer/signals_baseline/scoring.py - detect_scoring_mode() |
| Phase A: Consistency bonus uit reasons (circular) | Phase C: Non-circular consistency_bonus uit features (speed horizons, acceleration) | Circular dependency: consistency bonus afhankelijk van reasons, maar reasons bevatten consistency info. | 2026-01-16 23:05 | services/signals_layer/signals_baseline/scoring.py - compute_consistency_bonus_from_features() |
| Phase B: Incremental fixes (RUNTIME_FIX_*.md) | Phase C: Complete rewrite met systematic validation | Incremental fixes creëerden technical debt. Complete rewrite nodig voor provable consistency. | 2025-10-23 | CLEAN_REWRITE_ANALYSIS.md (2026-01-13) - Rationale voor rewrite |
| Legacy bouwplan docs (tradingbot/, bouwplan_tradingbot_bitvavo_v2/) | FASE_*.md planning documents | Legacy planning was te generiek. FASE_*.md zijn specifiek voor clean rewrite. | 2025-10-23 | FASE_01_ANALYSE_PLANNING.md - Clean rewrite start |
| Feature | Reden | Datum | Bewijs |
|---|---|---|---|
| AI/ML layer (bandit hooks, regime engine) | Focus op rule-based scoring eerst. AI/ML kan later toegevoegd worden als scoring foundation solide is. | 2025-10-23 | FASE_01_ANALYSE_PLANNING.md - Focus op clean rewrite, niet op AI features |
| Complex order types (limit orders, stop orders) | Focus op market orders eerst. Complex order types voegen complexity toe zonder bewezen waarde. | 2026-01-13 | Current implementation: market orders only (services/order_layer/ws_submitter/) |
| Multi-exchange support | Focus op Bitvavo eerst. Multi-exchange voegt complexity toe en verdunt focus. | 2025-10-23 | Architecture: Bitvavo-specific (services/common/ws_client.py - BitvavoWebSocketClient) |
| Was (Plan) | Nu (Implementatie) | Reden | Datum | Bewijs |
|---|---|---|---|---|
| Monotonicity Tests v1: ≥95% pairwise pass (O(N²)) | Monotonicity Tests v2: Bucket monotonicity + top-K examples + reduction trend | ≥95% pairwise was onrealistisch met echte marktdata. Bucket/percentile approach is praktischer. | 2026-01-17 | reports/SCORING_MONOTONICITY_TESTS.md v2 - Explicitly states v1 limitations |
| Orderflow Dominance Plan v1: Base amount (niet EUR-weighted) | Orderflow Dominance Plan v2: EUR-weighted (amount * price) | Base amount is misleidend als prijs snel beweegt. EUR-weighted geeft accurate dominance. | 2026-01-17 11:26 | reports/ORDERFLOW_DOMINANCE_PLAN.md v2 - Critical corrections |
| Orderflow Dominance Plan v1: Geen minimum volume gate | Orderflow Dominance Plan v2: Minimum volume gate (1.0 × slot_budget_eur) | Zonder minimum volume krijg je dominance op basis van 2 trades → extreem noisy. | 2026-01-17 11:26 | reports/ORDERFLOW_DOMINANCE_PLAN.md v2 - Minimum volume gate added |
| Phase 2: Context-aware penalties alleen voor >50 bps of >100 bps | Phase 2.5: Extended to 30-50 bps range | Monotonicity violations bleken ook in 30-50 bps range te zitten. Uitbreiding nodig. | 2026-01-17 01:05 | services/signals_layer/signals_baseline/scoring.py - Thresholds changed to >30.0 bps |
| Legacy bouwplan: AI layer als hoofdcomponent | FASE_*.md: AI layer niet in scope voor clean rewrite | Focus verschoven naar clean architecture eerst. AI kan later toegevoegd worden. | 2025-10-23 | FASE_01_ANALYSE_PLANNING.md - Focus op architecture, niet op AI |