feat: open-source release — AI-driven autonomous optimization with live visibility
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
This commit is contained in:
+27
-3
@@ -24,9 +24,33 @@ Reports/
|
||||
# Keep the optimizer database (optional — remove this line to commit it)
|
||||
optimizer.db
|
||||
|
||||
# ── Sensitive Config (DO NOT COMMIT BROKER CREDENTIALS) ──────────────────────
|
||||
# config.yaml contains MT5 paths — safe to commit but exclude if it had passwords
|
||||
# config.secret.yaml
|
||||
# ── Sensitive Config (DO NOT COMMIT — contains API keys) ────────────────────
|
||||
# Users copy config.example.yaml → config.yaml and fill in their key locally.
|
||||
config.yaml
|
||||
.env
|
||||
.env.local
|
||||
*.secret.yaml
|
||||
*.secret.yml
|
||||
config.secret.yaml
|
||||
|
||||
# ── EA Registry (machine-specific paths) ─────────────────────────────────────
|
||||
ea_registry.yaml
|
||||
|
||||
# ── Generated set files ──────────────────────────────────────────────────────
|
||||
*.set
|
||||
!**/templates/*.set
|
||||
|
||||
# ── Screenshots scratch (Playwright debug + health-test artifacts) ──────────
|
||||
screenshots/health_*.png
|
||||
screenshots/health_*.json
|
||||
screenshots/debug*.png
|
||||
screenshots/playwright_*.png
|
||||
screenshots/*.py
|
||||
screenshots/crop_*.png
|
||||
|
||||
# ── Claude session artifacts ─────────────────────────────────────────────────
|
||||
Claude_Code_session*
|
||||
.claude/sessions/
|
||||
|
||||
# ── Logs ──────────────────────────────────────────────────────────────────────
|
||||
*.log
|
||||
|
||||
Reference in New Issue
Block a user