ADR-001: Target Architecture
Status: Proposed
Date: 2026-03-06
Deciders: System Architect (User), Assistant
Context: Post-R4c Reset, Hyperliquid Integration
1. Kontext & Problem
Das vorherige System (R4c) war: - รber-spezifiziert fรผr Binance - Verteilt รผber mehrere lose gekoppelte Prozesse - Mit manuellem State-Management (state.json edits) - Ohne klare Trennung Safety/Observability - Ohne Strategy Lab Pfad
2. Entscheidung
Wir bauen ein neues, deterministisches Trading-System mit strikter Trennung:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ FORWARD_V5 TARGET ARCHITECTURE โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ CORE ENGINE (Single Process) โ โ
โ โ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โ โ
โ โ โ Tick โโ โ Signal โโ โ Intent โ โ โ
โ โ โ Runner โ โ Filter โ โ Builder โ โ โ
โ โ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โ โ
โ โ โ โ โ โ โ
โ โ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โ โ
โ โ โ Risk โโ โ Exec โโ โ Fill โ โ โ
โ โ โ Engine โ โ (Mock) โ โ Handler โ โ โ
โ โ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ STATE STORE (SQLite + Events) โ โ
โ โ - events (append-only) โ โ
โ โ - positions (current state) โ โ
โ โ - orders (history) โ โ
โ โ - intents (pending) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโ โ
โ โ โ โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โ โ Research โ โ Control โ โ Reports โ โ
โ โ Lab โ โ API/CLI โ โ (Discord) โ โ
โ โ (isolated) โ โ โ โ (non-block) โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
3. Komponenten
3.1 Core Engine (src/core_engine.js)
- EIN Prozess fรผr den gesamten Tick-zu-Fill Flow
- Harte Timeouts fรผr jeden Schritt
- Single Writer: nur Core Engine schreibt State
- Replay-fรคhig: State aus Events rebuildbar
3.2 State Store (SQLite + Events)
Nicht mehr: state.json als mutable Quelle
Stattdessen:
- events Tabelle: append-only, nie lรถschen
- positions, orders: projections/views
- state.json: read-only cache fรผr Menschen
3.3 Risk Engine (src/risk_engine.js)
Pre-Trade Checks: - min/max notional - leverage cap - risk per trade - max positions - watchdog freshness - reconcile clean
Auf Fail: reject + event + non-blocking alert
3.4 Observability (src/report_service.js)
- Discord-Berichte
- Scheduler-Status
- Healthchecks
Wichtig: NON-BLOCKING
Discord down โ WARN + Retry + Log, aber KEIN Trading-Stop
3.5 Research Lab (research/)
Strikte Isolation: - Backtests - Parameter Sweeps - Walk-Forward - AI-Research
Kein direkter Einfluss auf Live-Execution.
4. Prinzipien
4.1 Single Writer Principle
4.2 Deterministische State Projection
Ein Modul: src/state_projection.js
Alle Komponenten importieren NUR dieses Modul.
Keine zweite rebuildState()-Implementierung.
4.3 Idempotenz
Jeder Intent/Order/Event hat stabile UUIDs.
Doppelte Verarbeitung darf keinen doppelten Trade auslรถsen.
4.4 Timeouts รberall
4.5 Health = Funktionalitรคt
Healthchecks prรผfen:
- Last successful action Timestamp
- Freshness checks
- Nicht nur: "Process exists"
4.6 Replay-Fรคhigkeit
5. Safety vs Observability
| Domain | Fail Mode | Trading Impact |
|---|---|---|
| SAFETY | reconcile break | BLOCK |
| unmanaged position | BLOCK | |
| watchdog stale | BLOCK | |
| sizing violation | REJECT | |
| OBSERVABILITY | discord down | WARN only |
| report delayed | WARN only | |
| scheduler restart | RETRY |
6. Konsequenzen
6.1 Positiv
- Deterministisches Verhalten
- Eindeutige Fehlerursachen
- Einfachere Tests
- Klare Verantwortlichkeiten
6.2 Negativ
- Mehr Code fรผr State Management
- Striktere Deployment-Prozess
- Keine "schnellen Fixes" mehr
6.3 Risken
- Komplexe State-Transition-Logik
- SQLite-Performance bei hoher Load
7. Alternativen Betrachtet
| Alternative | Abgelehnt wegen |
|---|---|
| Redis als State | Single Point of Failure |
| Mehrere Writer | Race Conditions |
| JSON-Only | Keine ACID-Garantien |
8. Nรคchste Schritte
- Phase 1: Skeleton & Directory Structure
- Phase 2: Core Reliability (Event Store, State Projection)
- Phase 3: Observability
- Phase 7: Strategy Lab (MANDATORY)
Approved: 2026-03-06
Implementation: Phase 1 startet nach ADR-001 Approval