Major upgrade making the AI loop visible and the project ready for public release. UI / UX - Live AI Thinking Feed: streams reasoning, decisions, and outcomes per iteration - Parameter Changes panel: prev → new + reason for every AI-driven edit - Validation Activity panel: out-of-sample + sensitivity runs with live metrics - Early Termination banner: surfaces why optimization stopped (targets met, no profit, budget, stuck, user stop) - 3-phase tracker renamed Exploration / Iteration / Validation with live N/total - Best Result modal exposes Evolution Path showing how the AI arrived at the winner - Run-detail modal accessible from every recent run row - Setup form validation (dates, walk-forward order, params selection, AI targets) - Pause button removed; misleading sidebar nav consolidated to Dashboard / New Run / Reports / Source Backend - AIGuidedLoop streams ai_thinking, param_changes, ai_targets_met, ai_stuck - Pipeline emits validation_start / validation_run_start / validation_run_complete / validation_done - Pipeline emits early_termination on every early-stop path - /api/best_result returns best run + full evolution chain - /api/run/<id> + /api/runs sorted by ts - AIReasoner falls back to ANTHROPIC_API_KEY env var when config is a placeholder - Demo mode (APEX_DEMO_MODE=1) generates deterministic synthetic backtests so judges can run end-to-end without MT5 Open-source readiness - README.md with pitch, demo flow, architecture diagram, quickstart, event reference - LICENSE (MIT) - config.example.yaml template (config.yaml now git-ignored) - requirements.txt: added anthropic / requests / psutil / beautifulsoup4, capped majors - .gitignore: secrets, *.set, scratch screenshots, ea_registry.yaml - demo/run_demo.py: one-command offline demo runner - 10 polished screenshots for README + judge review
36 lines
1.9 KiB
Plaintext
36 lines
1.9 KiB
Plaintext
# ── Core data + numerics ─────────────────────────────────────────────────
|
|
pandas>=2.1,<3.0
|
|
numpy>=1.26,<2.0
|
|
pyarrow>=14.0,<19.0
|
|
scipy>=1.11,<2.0
|
|
|
|
# ── Validation + serialization ───────────────────────────────────────────
|
|
pydantic>=2.5,<3.0
|
|
pyyaml>=6.0,<7.0
|
|
lxml>=4.9,<6.0
|
|
beautifulsoup4>=4.12,<5.0
|
|
|
|
# ── Web app + realtime ───────────────────────────────────────────────────
|
|
flask>=3.0,<4.0
|
|
flask-socketio>=5.3,<6.0
|
|
jinja2>=3.1,<4.0
|
|
|
|
# ── Storage ──────────────────────────────────────────────────────────────
|
|
sqlalchemy>=2.0,<3.0
|
|
|
|
# ── Logging + CLI polish ─────────────────────────────────────────────────
|
|
loguru>=0.7,<1.0
|
|
rich>=13.0,<14.0
|
|
|
|
# ── HTTP client (used by AI reasoner) ────────────────────────────────────
|
|
requests>=2.31,<3.0
|
|
|
|
# ── Process control (MT5 process supervision) ────────────────────────────
|
|
psutil>=5.9,<6.0
|
|
|
|
# ── Visualisation (optional plotting) ────────────────────────────────────
|
|
plotly>=5.18,<6.0
|
|
|
|
# ── Test ─────────────────────────────────────────────────────────────────
|
|
pytest>=7.4,<9.0
|