## Three bugs in evolve.sh 1. **Heredoc stdin conflict** — `py_stats()` used `<<PYEOF` heredoc which stole stdin from the pipe, so python never received score values → stats always `min=0 max=0 mean=0` 2. **Bash integer overflow** — global best comparison used `[ $MAX -gt $GLOBAL_BEST_FITNESS ]` which overflows on uint256 wei values (>9.2e18) → best always tracked as 0 3. **candidate_id mismatch** — evolve.sh looked up `gen0_c000` but batch-eval produces `candidate_000` (derived from filename) → score lookup always returned default 0 All 3 previous evolution runs (150+ candidates) reported all zeros despite batch-eval correctly scoring them at ~8.26e21 wei. ## Fix - `py_stats`: heredoc → `python3 -c` inline - Global best: bash `[ -gt ]` → `python3` big number comparison - Score lookup: use `basename $CAND_FILE` instead of synthetic CID Co-authored-by: root <root@debian-g-2vcpu-8gb-ams3-01> Reviewed-on: https://codeberg.org/johba/harb/pulls/665 Reviewed-by: review_bot <review_bot@noreply.codeberg.org> |
||
|---|---|---|
| .. | ||
| push3-evolution | ||
| push3-transpiler | ||
| deploy-optimizer.sh | ||