harb/tools/push3-evolution
openhands 5d369cfab6 fix: address review findings for gas-limit fitness pressure (#637)
- Optimizer.sol: move CALCULATE_PARAMS_GAS_LIMIT constant to top of
  contract (after error declaration) to avoid mid-contract placement.
  Expand natspec with EIP-150 63/64 note: callers need ~203 175 gas to
  deliver the full 200 000 budget to the inner staticcall.

- Optimizer.sol: add ret.length < 128 guard before abi.decode in
  getLiquidityParams(). Malformed return data (truncated / wrong ABI)
  from an evolved program now falls back to _bearDefaults() instead of
  propagating an unhandled revert. The 128-byte minimum is the ABI
  encoding of (uint256, uint256, uint24, uint256) — four 32-byte slots.

- Optimizer.sol: add cross-reference comment to _bearDefaults() noting
  that its values must stay in sync with LiquidityManager.recenter()'s
  catch block to prevent silent divergence.

- FitnessEvaluator.t.sol: add CALCULATE_PARAMS_GAS_LIMIT mirror constant
  (must match Optimizer.sol). Disqualify candidates whose measured gas
  exceeds the production cap with fitness=0 and error="gas_over_limit"
  — prevents the pipeline from selecting programs that are functionally
  dead on-chain (would always produce bear defaults in production).

- batch-eval.sh: update output format comment to document the gas_used
  field and over-gas-limit error object added by this feature.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 01:05:37 +00:00
..
revm-evaluator fix: address review findings for gas-limit fitness pressure (#637) 2026-03-13 01:05:37 +00:00
test fix: Push3 evolution: mutation operators for bytecode programs (#544) 2026-03-11 16:24:24 +00:00
evolve.sh fix: feat: Push3 evolution — elitism (top N survive unchanged) (#640) 2026-03-12 22:29:23 +00:00
fitness.sh fix: Evolution pipeline UUPS upgrade + Foundry PATH (#593) 2026-03-12 06:47:35 +00:00
mutate-cli.ts fix: Push3 evolution: selection loop orchestrator (#546) 2026-03-11 20:56:19 +00:00
mutate.ts fix: Push3 evolution: mutation operators for bytecode programs (#544) 2026-03-11 16:24:24 +00:00
package-lock.json fix: Push3 evolution: selection loop orchestrator (#546) 2026-03-11 20:56:19 +00:00
package.json fix: Push3 evolution: mutation operators for bytecode programs (#544) 2026-03-11 16:24:24 +00:00
tsconfig.json fix: Push3 evolution: mutation operators for bytecode programs (#544) 2026-03-11 16:24:24 +00:00