fix: feat: evolution-daemon.sh — perpetual evolution loop on DO box (#748)

- Add tools/push3-evolution/evolution-daemon.sh: single-command daemon that
  runs git-pull → apply-patch → clean-tmpdirs → evolve.sh → summary →
  notify → revert-patch → loop, handling SIGINT/SIGTERM cleanly.
- Add tools/push3-evolution/evolution.conf: config file (EVAL_MODE, BASE_RPC_URL,
  POPULATION=20, GENERATIONS=30, MUTATION_RATE=1, ELITES=2, DIVERSE_SEEDS=true,
  GAS_LIMIT=500000, ANCHOR_WIDTH_UNBOUNDED=true).
- Add tools/push3-evolution/evolution.patch: overrides CALCULATE_PARAMS_GAS_LIMIT
  200k→500k in Optimizer.sol + FitnessEvaluator.t.sol, and removes
  MAX_ANCHOR_WIDTH=100 cap in LiquidityManager.sol for unbounded AW exploration.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
openhands 2026-03-14 17:21:51 +00:00
parent 833ae45882
commit bbf3b871b3
4 changed files with 418 additions and 0 deletions

View file

@ -0,0 +1,36 @@
# evolution.conf — configuration for evolution-daemon.sh
#
# All parameters here override the defaults in evolve.sh.
# Set BASE_RPC_URL to a Base network RPC endpoint before starting the daemon.
# ── Fitness backend ─────────────────────────────────────────────────────────────
EVAL_MODE=revm
# Base network RPC endpoint (required for EVAL_MODE=revm).
# Export in your shell or set here (do NOT commit credentials).
# BASE_RPC_URL=https://mainnet.base.org
# ── Population & selection ──────────────────────────────────────────────────────
POPULATION=20
GENERATIONS=30
MUTATION_RATE=1
ELITES=2
DIVERSE_SEEDS=true
# ── Evolution-specific overrides (applied via evolution.patch) ──────────────────
# GAS_LIMIT: production cap is 200 000; evolution uses 500 000 to allow larger
# programs that are still worth exploring before gas optimisation.
GAS_LIMIT=500000
# ANCHOR_WIDTH_UNBOUNDED: removes the MAX_ANCHOR_WIDTH=100 production cap so
# programs can explore the full uint24 tick-width space.
ANCHOR_WIDTH_UNBOUNDED=true
# ── Notification (openclaw) ─────────────────────────────────────────────────────
# SSH target for `openclaw system event` notifications.
# Leave empty to disable notifications.
OPENCLAW_SSH_TARGET=
# ── Seed ────────────────────────────────────────────────────────────────────────
# Path to the primary seed file, relative to the repo root.
SEED=tools/push3-evolution/seeds/optimizer_v3.push3