Skip to content

feat(evolution): Evolution Lab — intégration OpenEvolve pour évolution de prompts/skills (GH-28)#31

Closed
simodev25 wants to merge 19 commits into
mainfrom
feat/GH-28/evolution-lab-openevolve
Closed

feat(evolution): Evolution Lab — intégration OpenEvolve pour évolution de prompts/skills (GH-28)#31
simodev25 wants to merge 19 commits into
mainfrom
feat/GH-28/evolution-lab-openevolve

Conversation

@simodev25

@simodev25 simodev25 commented Jun 21, 2026

Copy link
Copy Markdown
Owner

Résumé

  • Intégration d'un Evolution Lab offline pour les 9 agents de trading
  • Moteur d'évolution (mutator + evaluator + engine) sur queue Celery dédiée evolution
  • API REST complète /api/v1/evolution/* avec RBAC
  • Frontend: page /evolution-lab avec 3 tabs (Campagnes, Nouvelle, Leaderboard), graphe fitness, diff prompts side-by-side, promotion manuelle

Changements

Backend (Lot C — Phases 1-8 + 14)

  • 4 modèles DB: evolution_campaigns, evolution_candidates, evolution_candidate_evaluations, evolution_promotions
  • Migration Alembic 0015_evolution_lab
  • Service EvolutionService + EvolutionEngine + Mutator + Evaluator
  • Tâche Celery run_evolution_campaign (queue isolée evolution)
  • Endpoints: create/list/detail/cancel campaigns, list/detail candidates, fitness-series, promote
  • Remédiation review: exception-safe engine, cost propagation, cancel re-checks

Frontend (Lot D — Phases 9-12)

  • Route lazy /evolution-lab + navigation
  • Page avec tabs: CampaignList, CreateCampaign, Leaderboard
  • Composants: CampaignDetail, FitnessChart, PromptDiffViewer, PromoteButton
  • Thème hacker/terminal, accessibilité clavier, contraste AA

Tests

  • 650 tests backend passent (1 fail pré-existant hors scope)
  • 9 tests API Evolution ajoutés (RBAC, cancel, promote, fitness-series)
  • Tests E2E frontend: mock aligné contrat backend

Issue liée

Closes #28

Tests exécutés

cd backend && pytest -q
# Résultat: 650 passed, 1 failed (pré-existant: test_trading_config)

cd frontend && npm run build
# Résultat: erreurs TS pré-existantes uniquement (hors scope GH-28)

Résultat : ✅ (aucune régression introduite)

Risques

  • Erreurs TypeScript pré-existantes dans le frontend (GovernanceMonitorPanel, OpenOrdersChart, TradingViewChart) — hors scope, documentées dans spec non-goals
  • 1 test backend pré-existant en échec (test_trading_config) — hors scope

Checklist

  • Aucun secret ajouté
  • Tests pertinents passent
  • Documentation mise à jour (spec, plan, test-plan, review artifacts)
  • Aucun impact sur backend/app/risk/ ni ALLOW_LIVE_TRADING
  • Promotion manuelle uniquement — pas d'auto-activation
  • Code review iter-1 findings remédiés (3 major, 2 minor → PASS iter-2)

simodev25 added 19 commits June 21, 2026 18:32
- Engine: handle mutator exceptions without crashing campaign
- Engine/Evaluator: propagate cost_usd to candidate and campaign
- Engine: re-check cancel_requested before mutation and evaluation
- Tests: add RBAC/403, cancel, promote, fitness-series API tests
- E2E: align fitness-series mock with backend contract

Resolves review iteration 1 findings (3 major, 2 minor).
@simodev25 simodev25 changed the title feat(GH-28): Evolution Lab — Intégration OpenEvolve pour évolution de prompts/skills par agent feat(evolution): Evolution Lab — intégration OpenEvolve pour évolution de prompts/skills (GH-28) Jun 21, 2026
@simodev25 simodev25 closed this Jul 4, 2026
@simodev25
simodev25 deleted the feat/GH-28/evolution-lab-openevolve branch July 4, 2026 16:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Evolution Lab — Intégration OpenEvolve pour évolution de prompts/skills par agent (Lots C+D)

1 participant