Strategy presets control the balance between repair, optimization, and innovation in evolution cycles. By setting EVOLVE_STRATEGY, you can adapt the evolver’s behavior to match your system’s maturity and stability needs.
Use when: Normal operation with steady growth and acceptable stability.Description: Balanced strategy prioritizes new features while maintaining reasonable stability. It switches to forced innovation if 50% of the last 8 cycles were repairs (to break repair loops).
Use when: System is stable and you want to maximize new capabilities.Description: Innovation-focused strategy for mature, well-tested systems. Aggressively pursues new features and capabilities. Triggers circuit breaker early (30% repair ratio) to prevent getting stuck in fix cycles.
Use innovate after a successful hardening phase when you want to expand capabilities rapidly.
Use when: After major changes, or when stability is the top priority.Description: Focuses on robustness, validation, and performance optimization. Minimal innovation. Tolerates higher repair ratios (70%) before forcing innovation.
Run harden strategy after introducing new features to stabilize the system before the next innovation phase.
Use when: Emergency mode with critical bugs or failures.Description: Pure repair mode. No innovation allowed. Focuses entirely on fixing existing issues. Use when the system is broken and needs urgent stabilization.
repair-only disables innovation entirely. Only use temporarily during critical failures.
Use when: First cycles of a new agent or after major refactoring.Description: Prioritizes fixing existing issues before innovating. Automatically selected for the first 5 evolution cycles if no explicit strategy is set.
This is the recommended strategy for new projects. Let the system stabilize before pushing for innovation.
Use when: Evolution has saturated; system is mature.Description: Maintenance mode for saturated systems. Minimal innovation. Focuses on maintaining existing capabilities and incremental improvements. Automatically selected when evolution_saturation or force_steady_state signals are detected.
steady-state is auto-selected in loop mode when saturation signals appear. The evolver will also increase sleep intervals by 5-10x.
Modifying strategy.js is considered self-modification. Set EVOLVE_ALLOW_SELF_MODIFY=true to allow the evolver to edit strategy definitions autonomously.
Problem: Using innovate strategy but getting repairs.Solution: Strategies are intent allocations, not guarantees. If signals indicate critical bugs, the evolver may override to repair mode: