Merge pull request 'feat: add recovered LLM seeds (floor hugger + contrarian)' (#710) from chore/seed-consolidation into master

This commit is contained in:
johba 2026-03-14 16:55:24 +01:00
commit 24d05cbbba
4 changed files with 122 additions and 37 deletions

View file

@ -0,0 +1 @@
( PERCENTAGESTAKED DYADIC.DEFINE TAXRATE DYADIC.POP DYADIC.POP DYADIC.POP DYADIC.POP DYADIC.POP DYADIC.POP PERCENTAGESTAKED 100 DYADIC.* 1000000000000000000 DYADIC./ STAKED DYADIC.DEFINE STAKED 88 DYADIC.> EXEC.IF ( ) 0 DYADIC.POP ( 200000000000000000 153 200000000000000000 0 ) )

View file

@ -0,0 +1,98 @@
;; Contrarian Optimizer — Push3 seed
;;
;; Philosophy: "when everyone is bullish, prepare for the crash."
;;
;; Inputs on DYADIC stack (slot 0 on top, slot 7 at bottom):
;; [0] percentageStaked (0 to 1e18, where 1e18 = 100%)
;; [1] averageTaxRate (0 to 1e18, normalized)
;; [2-7] reserved/future (0 if unavailable)
;;
;; Outputs (top to bottom on termination):
;; ci = 0 always (contrarian on positions, not floor)
;; anchorShare (0..1e18)
;; anchorWidth (tick units)
;; discoveryDepth (0..1e18)
;;
;; Logic:
;; stakedPct = percentageStaked * 100 / 1e18 (0-100)
;; taxHigh = averageTaxRate >= 1e17 (>= 10% = expect mean reversion)
;;
;; stakedPct >= 50 (bullish crowd) → defensive:
;; taxHigh → VERY DEFENSIVE: CI=0, AS=0.15e18, AW=15, DD=0.10e18
;; else → DEFENSIVE: CI=0, AS=0.25e18, AW=25, DD=0.20e18
;;
;; stakedPct < 50 (bearish crowd) → aggressive:
;; taxHigh → VERY AGGRESSIVE: CI=0, AS=0.85e18, AW=250, DD=0.85e18
;; else → AGGRESSIVE: CI=0, AS=0.70e18, AW=150, DD=0.70e18
(
;; Step 1: Bind slot 0 (top) to PERCENTAGESTAKED, slot 1 to TAXRATE.
PERCENTAGESTAKED DYADIC.DEFINE
;; Stack: [slot7(bot), slot6, slot5, slot4, slot3, slot2, slot1(top)]
TAXRATE DYADIC.DEFINE
;; Stack: [slot7(bot), slot6, slot5, slot4, slot3, slot2(top)]
;; Step 2: Discard unused inputs (slots 2-7) — 6 pops.
DYADIC.POP
DYADIC.POP
DYADIC.POP
DYADIC.POP
DYADIC.POP
DYADIC.POP
;; Stack: []
;; Step 3: Compute stakedPct = percentageStaked * 100 / 1e18 (integer 0..100)
PERCENTAGESTAKED
100 DYADIC.*
1000000000000000000 DYADIC./
STAKED DYADIC.DEFINE
;; Stack: []
;; Step 4: stakedPct >= 50? (majority bullish = contrarian sell signal)
STAKED 50 DYADIC.>=
;; bool_stack: [stakedPct >= 50]
EXEC.IF
;; TRUE branch: bullish crowd → go defensive
(
;; Tax high (>= 10%) means volatile / mean-reversion expected → extra defensive
TAXRATE 100000000000000000 DYADIC.>=
EXEC.IF
;; VERY DEFENSIVE: floor-heavy, narrow anchor, minimal discovery
(
100000000000000000
15
150000000000000000
0
)
;; DEFENSIVE: modest floor bias, narrow-ish anchor
(
200000000000000000
25
250000000000000000
0
)
)
;; FALSE branch: bearish crowd → go aggressive
(
;; Tax high (>= 10%) means volatile → amplify the contrarian signal further
TAXRATE 100000000000000000 DYADIC.>=
EXEC.IF
;; VERY AGGRESSIVE: wide discovery, high anchor share
(
850000000000000000
250
850000000000000000
0
)
;; AGGRESSIVE: wide discovery, high anchor share
(
700000000000000000
150
700000000000000000
0
)
)
)

View file

@ -1,28 +1,21 @@
;; llm_floor_hugger.push3 — Defensive Floor Hugger Optimizer
;; Defensive Floor Hugger — 8-input / 4-output optimizer seed
;;
;; Philosophy: "if the floor never moves down, ETH is safe."
;; Strategy: maximise floor position depth at the expense of everything else.
;; "If the floor never moves down, ETH is safe."
;;
;; Strategy: anchor share near zero so almost all ETH remains in the floor
;; reserve. Anchor width is extremely narrow (tight band, minimal exposure).
;; Discovery depth is minimal — no speculative upside. CI is always 0.
;; All staking and tax-rate signals are ignored; outputs are pure constants.
;; Inputs (ignored):
;; [0] percentageStaked
;; [1] averageTaxRate
;; [2..7] normalized indicators
;;
;; Inputs on DYADIC stack (slot 0 on top, slot 7 at bottom):
;; [0] percentageStaked (0 to 1e18, where 1e18 = 100%) — ignored
;; [1] averageTaxRate (0 to 1e18) — ignored
;; [2..7] reserved / future indicators — ignored
;;
;; Outputs (bottom-to-top push order → top = ci):
;; discoveryDepth (bottom) = 0.05e18 (5% — minimal upside discovery)
;; anchorWidth = 5 (ticks — extremely narrow band)
;; anchorShare = 0.05e18 (5% — almost all ETH stays at floor)
;; ci (top) = 0 (no VWAP bias)
;;
;; Output constants:
;; CI=0, AS=0.05e18, AW=5, DD=0.05e18
;; Outputs:
;; ci = 0 — no VWAP bias on floor placement
;; anchorShare = 1e16 (1%) — almost all ETH stays at floor
;; anchorWidth = 5 — tight band, minimal tick exposure
;; discoveryDepth = 1e16 (1%) — no speculative upside
(
;; Step 1: Discard all 8 inputs — staking and market signals are irrelevant.
;; Discard all 8 inputs (slot 0 on top → pop first)
DYADIC.POP
DYADIC.POP
DYADIC.POP
@ -31,23 +24,14 @@
DYADIC.POP
DYADIC.POP
DYADIC.POP
;; Stack: []
;; Step 2: Push outputs bottom-first.
;; discoveryDepth = 0.05e18 (5% — minimal speculative upside)
50000000000000000
;; Stack: [discoveryDepth]
;; anchorWidth = 5 ticks (extremely narrow — tight defensive band)
;; Push outputs bottom-first:
;; discoveryDepth = 10000000000000000 (1e16 — minimal)
;; anchorWidth = 5 (tight)
;; anchorShare = 10000000000000000 (1e16 — near zero)
;; ci = 0 (no VWAP bias)
10000000000000000
5
;; Stack: [discoveryDepth, anchorWidth]
;; anchorShare = 0.05e18 (5% — nearly all ETH preserved at floor)
50000000000000000
;; Stack: [discoveryDepth, anchorWidth, anchorShare]
;; ci = 0 (no capital inefficiency / no VWAP bias on floor placement)
10000000000000000
0
;; Stack: [discoveryDepth, anchorWidth, anchorShare, ci=0]
)

View file

@ -2,4 +2,6 @@
{"file":"evo_run004_champion.push3","fitness":2307549972110081697617459,"fitness_flags":"token_value_inflation","origin":"evolved","run":"004","generation":3,"date":"2026-03-13","note":"First evolution champion. Fitness inflated by token value (#670). Always-bull strategy."}
{"file":"llm_momentum.push3","fitness":null,"origin":"llm","run":null,"generation":null,"date":"2026-03-13","note":"Momentum Follower: smooth sentiment-tracking via direct percentageStaked multiplication. Safety net: floor always >=20%. AnchorWidth scales with tax volatility."}
{"file":"llm_fee_maximizer.push3","fitness":null,"origin":"llm","run":null,"generation":null,"date":"2026-03-13","note":"LLM seed: fee maximizer. Wide anchor + high share in all regimes. Bullish/high-tax modes push DD and AS to max. (#673)"}
{"file":"llm_floor_hugger.push3","fitness":null,"origin":"llm","run":null,"generation":null,"date":"2026-03-14","note":"LLM seed: defensive floor hugger. Pure constants — ignores all staking signals. AS=0.05e18, AW=5 ticks, DD=0.05e18, CI=0. Almost all ETH stays at floor. (#672)"}
{"file":"llm_floor_hugger.push3","fitness":null,"origin":"llm","run":null,"generation":null,"date":"2026-03-13","note":"Defensive Floor Hugger — maximises floor depth, CI=0, anchorShare=1%, anchorWidth=5, discoveryDepth=1%. Ignores all inputs."}
{"file":"llm_contrarian.push3","fitness":null,"origin":"llm","run":null,"generation":null,"date":"2026-03-13","note":"Contrarian optimizer — bets against consensus. High staking = bearish, low staking = bullish."}
{"file":"evo_run007_champion.push3","fitness":7116531284966772550194,"origin":"evolved","run":"007","generation":24,"date":"2026-03-14","note":"Run 7 champion. Unbounded AW, 500k gas, IL crystallization attack. When staked<=88%: CI=20%, AW=153, AS=20%, DD=0. When staked>88%: bear defaults (all zero)."}