Files
LEGSTECH Optimizer 6caafdb794 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
2026-04-25 11:39:17 +00:00

77 lines
3.1 KiB
Plaintext

# ── Python ────────────────────────────────────────────────────────────────────
__pycache__/
*.py[cod]
*.pyd
*.pyo
*.egg-info/
*.egg
.eggs/
dist/
build/
*.spec
# ── Virtual Environments ──────────────────────────────────────────────────────
venv/
env/
.env
.venv/
# ── MT5 Optimizer Runtime Files ───────────────────────────────────────────────
# Don't commit generated run data or reports (can be large)
runs/
Reports/
# Keep the optimizer database (optional — remove this line to commit it)
optimizer.db
# ── 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
logs/
# ── OS Files ──────────────────────────────────────────────────────────────────
.DS_Store
Thumbs.db
desktop.ini
# ── IDE ───────────────────────────────────────────────────────────────────────
.vscode/
.idea/
*.swp
# ── PyInstaller ───────────────────────────────────────────────────────────────
*.exe
*.zip
dist/
# ── Data files ────────────────────────────────────────────────────────────────
*.parquet
*.csv