Commit graph

916 commits

Author SHA1 Message Date
openhands
79af57451d fix: No generic flag dispatch: only token_value_inflation is ever zero-rated (#723) 2026-03-15 02:37:02 +00:00
openhands
273615cfed fix: No generic flag dispatch: only \token_value_inflation\ is ever zero-rated (#723)
Define ZERO_RATED_FLAGS set near effective_fitness and check each flag
with any(...in flags...) instead of a single hard-coded substring test.
token_value_inflation behaviour is preserved; new flags can be added to
the set without touching the dispatch logic.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 02:36:57 +00:00
johba
5dfa824161 Merge pull request 'fix: fix: FitnessEvaluator.t.sol broken on Base mainnet fork (#780)' (#793) from fix/issue-780 into master 2026-03-15 03:27:55 +01:00
openhands
cef4c3038b fix: fix: FitnessEvaluator.t.sol broken on Base mainnet fork (#780)
Address review feedback:
- Add comment on FEE_DEST explaining why it differs from DeployBaseMainnet.sol:
  on a Base mainnet fork, 0xf6a3...D9011 has contract code which triggers
  feeDestinationLocked=true; keccak-derived address is a guaranteed EOA
- Expand bytecodes.txt EOF guard with a pipeline-mismatch warning log
- Fix STATE.md entry to use imperative verb form per project convention

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 02:13:04 +00:00
openhands
b3007e8f11 fix: fix: FitnessEvaluator.t.sol broken on Base mainnet fork (#780) 2026-03-15 01:51:08 +00:00
openhands
ef3f6945f2 fix: fix: FitnessEvaluator.t.sol broken on Base mainnet fork (#780)
- Replace Base Sepolia addresses with Base mainnet:
  - V3_FACTORY: 0x33128a8fC17869897dcE68Ed026d694621f6FDfD
  - SWAP_ROUTER: 0x2626664c2603336E57B271c5C0b26F421741e481
  - NPM_ADDR: 0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1
- Fix FEE_DEST to keccak-derived EOA (0x8A9145E1...9383) to avoid
  feeDestination lock triggered by contract code at the old address
- Add vm.warp(block.timestamp + 600) alongside vm.roll in bootstrap
  retry loop so _isPriceStable() TWAP check accumulates 300s+ history
- Guard vm.readLine(bytecodesFile) with empty-string break to prevent
  vm.parseBytes("") revert on trailing EOF line

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 01:50:54 +00:00
johba
c1746a05fe Merge pull request 'fix: feat: add evolution run 8 champion to seed pool (#781)' (#789) from fix/issue-781 into master 2026-03-15 02:45:27 +01:00
openhands
7930770570 fix: feat: add evolution run 8 champion to seed pool (#781)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 01:31:06 +00:00
openhands
2fbf1c30f1 fix: feat: add evolution run 8 champion to seed pool (#781) 2026-03-15 01:07:15 +00:00
openhands
56aedfae49 fix: feat: add evolution run 8 champion to seed pool (#781)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 01:07:12 +00:00
johba
03bc45371a Merge pull request 'fix: fix: increase CALCULATE_PARAMS_GAS_LIMIT from 200k to 500k (#782)' (#787) from fix/issue-782 into master 2026-03-15 02:04:48 +01:00
openhands
0f2692efaf ci: retrigger after infra failure 2026-03-15 00:39:31 +00:00
openhands
8c50578be1 fix: update stale comments after CALCULATE_PARAMS_GAS_LIMIT bump to 500k
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 00:28:12 +00:00
openhands
cb10af703c fix: fix: increase CALCULATE_PARAMS_GAS_LIMIT from 200k to 500k (#782) 2026-03-15 00:01:14 +00:00
openhands
87a088bc66 fix: fix: increase CALCULATE_PARAMS_GAS_LIMIT from 200k to 500k (#782)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 00:00:56 +00:00
johba
fb92beea9d Merge pull request 'fix: fix: remove MAX_ANCHOR_WIDTH clamp in ThreePositionStrategy (#783)' (#785) from fix/issue-783 into master 2026-03-15 00:49:05 +01:00
openhands
9d4a9dad4c fix: fix: remove MAX_ANCHOR_WIDTH clamp in ThreePositionStrategy (#783) 2026-03-14 23:21:41 +00:00
openhands
ac4aa745f6 fix: fix: remove MAX_ANCHOR_WIDTH clamp in ThreePositionStrategy (#783)
Remove the MAX_ANCHOR_WIDTH=100 constant and the corresponding clamp on
anchorWidth in LiquidityManager.recenter(). The optimizer is now free to
choose any anchor width; evolution run 7 immediately exploited AW=153.

Update IOptimizer.sol NatSpec to reflect no clamping. Update the
testAnchorWidthAbove100IsClamped test to testAnchorWidthAbove100IsNotClamped,
asserting the tick range matches the full AW=150 width.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 23:21:30 +00:00
johba
cbd0ada9d7 Merge pull request 'fix: bootstrap.sh hardcodes BASE_SEPOLIA_LOCAL_FORK even on mainnet forks (#746)' (#779) from fix/issue-746 into master 2026-03-15 00:08:23 +01:00
openhands
9b7143af55 fix: bootstrap.sh hardcodes BASE_SEPOLIA_LOCAL_FORK even on mainnet forks (#746)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 22:36:52 +00:00
openhands
12fa97bae7 fix: bootstrap.sh hardcodes BASE_SEPOLIA_LOCAL_FORK even on mainnet forks (#746) 2026-03-14 22:07:29 +00:00
openhands
404bbd2b21 fix: bootstrap.sh hardcodes BASE_SEPOLIA_LOCAL_FORK even on mainnet forks (#746)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 22:07:22 +00:00
johba
f3fd3f2021 Merge pull request 'fix: llm_contrarian.push3 AW=150/250 clamped to 100 — three rounds unaddressed (#756)' (#778) from fix/issue-756 into master 2026-03-14 22:57:33 +01:00
openhands
7052dd8d94 fix: llm_contrarian.push3 AW=150/250 clamped to 100 — three rounds unaddressed (#756) 2026-03-14 21:40:40 +00:00
openhands
7a9b4206ae fix: llm_contrarian.push3 AW=150/250 clamped to 100 — three rounds unaddressed (#756)
Replace AW=250 (VERY AGGRESSIVE) with 100 and AW=150 (AGGRESSIVE) with 80
so neither value is silently clamped by LiquidityManager.MAX_ANCHOR_WIDTH=100.
Update header comment block to match the corrected values.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 21:40:31 +00:00
johba
bc0817b9b5 Merge pull request 'fix: DeployLocal.sol feeDest 0xf6a3... may have code on Base Sepolia fork (#760)' (#774) from fix/issue-760 into master 2026-03-14 22:26:37 +01:00
openhands
0e33d6cbba fix: DeployLocal.sol feeDest 0xf6a3... may have code on Base Sepolia fork (#760) 2026-03-14 20:58:34 +00:00
openhands
28a5059344 ci: retrigger after infra failure 2026-03-14 20:32:14 +00:00
openhands
9ae12acb9d chore: update STATE.md for #760 2026-03-14 20:21:40 +00:00
openhands
89580171b7 fix: DeployLocal.sol feeDest 0xf6a3... may have code on Base Sepolia fork (#760) 2026-03-14 20:21:32 +00:00
johba
99d6da7032 Merge pull request 'fix: batch-eval.sh MANIFEST_DIR (mktemp -d) has no cleanup trap (#763)' (#773) from fix/issue-763 into master 2026-03-14 21:06:17 +01:00
openhands
a19c2c9fa1 fix: batch-eval.sh MANIFEST_DIR (mktemp -d) has no cleanup trap (#763) 2026-03-14 19:46:56 +00:00
openhands
17c904aaa3 fix: batch-eval.sh MANIFEST_DIR (mktemp -d) has no cleanup trap (#763) 2026-03-14 19:46:50 +00:00
johba
5837af0ad7 Merge pull request 'fix: fitness.sh individual-scoring path still silences errors (#766)' (#772) from fix/issue-766 into master 2026-03-14 20:38:32 +01:00
openhands
e388b4de87 fix: fitness.sh individual-scoring path still silences errors (#766) 2026-03-14 19:07:36 +00:00
openhands
ab40930812 fix: fitness.sh individual-scoring path still silences errors (#766) 2026-03-14 19:07:17 +00:00
johba
a734c5b3f6 Merge pull request 'fix: No mainnet VWAP bootstrap runbook (#728)' (#768) from fix/issue-728 into master 2026-03-14 20:05:42 +01:00
openhands
4d16a51650 fix: address review feedback on mainnet-bootstrap runbook (#728)
- docs/mainnet-bootstrap.md: fix Step 4c to use SwapRouter02 7-field
  struct (no deadline field); the 8-field ABI was for SwapRouter v1 but
  the address is SwapRouter02
- docs/mainnet-bootstrap.md: correct Step 1 to no longer falsely claim
  that pre-bootstrap transactions succeed when Forge aborts on simulation
  failure; Step 1 now reflects the try/catch behaviour added below
- docs/mainnet-bootstrap.md: Step 6 drops --private-key flag (Foundry
  ignores it when vm.startBroadcast(privateKey) is called internally)
  and documents that the .secret seed-phrase file must be present
- docs/mainnet-bootstrap.md: remove no-op `export LM_ADDRESS="$LM_ADDRESS"`
- docs/mainnet-bootstrap.md: cite exact line range (101-145) in
  Troubleshooting workaround instead of informal marker description
- onchain/script/DeployBase.sol: wrap liquidityManager.recenter() and
  seed buy in try/catch so a fresh-pool TWAP revert skips the inline
  bootstrap with a warning rather than aborting the entire simulation
- onchain/script/DeployBase.sol: fix --fork-url to --rpc-url in the
  post-deploy console.log hint

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 18:35:48 +00:00
openhands
973caff062 fix: No mainnet VWAP bootstrap runbook (#728) 2026-03-14 18:04:24 +00:00
openhands
023c661ee7 fix: No mainnet VWAP bootstrap runbook (#728)
Add docs/mainnet-bootstrap.md with the full two-phase bootstrap
sequence: pool init, 300 s TWAP warm-up wait, first recenter + seed
buy (exact cast commands), 60 s cooldown wait, second recenter via
BootstrapVWAPPhase2.s.sol, and verification/troubleshooting steps.

Update the inline bootstrap comment in DeployBase.sol to warn that the
attempt always reverts on a fresh pool and direct operators to the new
runbook.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 18:04:11 +00:00
johba
9a9f0bc603 Merge pull request 'fix: feat: evolution-daemon.sh — perpetual evolution loop on DO box (#748)' (#767) from fix/issue-748 into master 2026-03-14 18:54:42 +01:00
openhands
524a05286e fix: address review feedback on evolution-daemon.sh (#748)
- Stream evolve.sh output directly to stderr instead of buffering in a
  command substitution; long runs (tens of minutes) are now visible live.
- Use an array (EVOLVE_ARGS) for evolve.sh arguments instead of an
  unquoted DIVERSE_FLAG string variable.
- Abort the current run (continue to next loop iteration) when the patch
  fails to apply, rather than silently running with wrong evaluation semantics.
- Fix notify() to pass the message via stdin to avoid SSH single-quote
  interpolation breakage on messages containing special characters.
- Fix step comment/counter mismatch: "Step 7" comment now reads "Step 6"
  to match the [6/7] log label for the summary-write step.
- Clarify in evolution.conf that GAS_LIMIT and ANCHOR_WIDTH_UNBOUNDED are
  documentation-only (they document what evolution.patch does); editing
  them has no runtime effect.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 17:39:20 +00:00
openhands
bbf3b871b3 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>
2026-03-14 17:21:51 +00:00
johba
833ae45882 Merge pull request 'fix: fix: evolve.sh silences all batch-eval errors with 2>/dev/null (#749)' (#765) from fix/issue-749 into master 2026-03-14 18:06:24 +01:00
openhands
f355974cc8 fix: fix: evolve.sh silences all batch-eval errors with 2>/dev/null (#749)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 16:51:04 +00:00
openhands
1453139d31 fix: fix: evolve.sh silences all batch-eval errors with 2>/dev/null (#749) 2026-03-14 16:27:15 +00:00
openhands
89a9d3e575 fix: fix: evolve.sh silences all batch-eval errors with 2>/dev/null (#749)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 16:27:09 +00:00
johba
cf94d4c342 Merge pull request 'fix: fix: evolve.sh stale tmpdirs break subsequent runs (#750)' (#762) from fix/issue-750 into master 2026-03-14 17:19:42 +01:00
johba
24d05cbbba Merge pull request 'feat: add recovered LLM seeds (floor hugger + contrarian)' (#710) from chore/seed-consolidation into master 2026-03-14 16:55:24 +01:00
openhands
e54f0430ce fix: fix: evolve.sh stale tmpdirs break subsequent runs (#750) 2026-03-14 15:48:15 +00:00