fix: add missing shell scripts and fix contract interface in run-protocol

- Add scripts/harb-evaluator/run-resources.sh: collects disk, RAM,
  Anthropic API usage, and Woodpecker CI queue metrics
- Add scripts/harb-evaluator/run-protocol.sh: collects TVL, fees,
  position data, and rebalance events from LiquidityManager
- Fix run-protocol.toml: positions accessed via positions(uint8) not
  named getters (floorPosition/anchorPosition/discoveryPosition)
- Fix event signature: Recentered(int24,bool) not Recenter(int24,int24,int24)

Addresses review findings: missing implementation files and contract
interface mismatch.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
johba 2026-03-21 21:00:14 +00:00
parent 1d9636dab3
commit b616953313
3 changed files with 362 additions and 7 deletions

View file

@ -88,20 +88,20 @@ forge_script = "onchain/script/LmTotalEth.s.sol"
id = "collect-fees"
description = """
Query accumulated protocol fees from the LiquidityManager via cast call:
LiquidityManager.accumulatedFees() uint256
cast call $LM "accumulatedFees()(uint256)"
Records accumulated_fees_eth (wei string) and accumulated_fees_eth_formatted
(ETH, 3 dp).
Falls back to 0 gracefully if the function is not present on the deployed
contract (older deployment without fee tracking).
Falls back to 0 gracefully if the function reverts or is not present on
the deployed contract (older deployment without fee tracking).
"""
[[steps]]
id = "collect-positions"
description = """
Query the three Uniswap V3 positions held by the LiquidityManager:
LiquidityManager.floorPosition() (tickLower, tickUpper, liquidity)
LiquidityManager.anchorPosition() (tickLower, tickUpper, liquidity)
LiquidityManager.discoveryPosition() (tickLower, tickUpper, liquidity)
LiquidityManager.positions(0) (liquidity, tickLower, tickUpper) # FLOOR
LiquidityManager.positions(1) (liquidity, tickLower, tickUpper) # ANCHOR
LiquidityManager.positions(2) (liquidity, tickLower, tickUpper) # DISCOVERY
Records position_count (number of positions with liquidity > 0) and the
positions array.
"""
@ -116,7 +116,7 @@ Records:
- last_rebalance_block: block number of the most recent Recenter event
(0 if none found in the window).
"""
event_signature = "Recenter(int24,int24,int24)"
event_signature = "Recentered(int24,bool)"
[[steps]]
id = "collect"