name: Push3 Seed Variant about: Write a new optimizer strategy as a Push3 program for the evolution kindergarten labels: - backlog body: - type: textarea id: strategy attributes: label: Strategy philosophy description: One paragraph describing the optimizer's approach. What's the core idea? placeholder: "This optimizer prioritizes floor position depth over everything else. Philosophy: if the floor never moves down, ETH is safe." validations: required: true - type: textarea id: behavior attributes: label: Expected behavior description: How should each output parameter respond to inputs? Be specific. placeholder: | - CI: always 0 (no VWAP bias) - anchorShare: low (10-20% of ETH) - anchorWidth: narrow (10-30 ticks) - discoveryDepth: minimal - Responds to: percentageStaked (slot 0), averageTaxRate (slot 1) validations: required: true - type: textarea id: acceptance attributes: label: Acceptance criteria description: Standard for all seed variants. value: | - [ ] Push3 file created at `tools/push3-evolution/seeds/llm_.push3` - [ ] Transpiles without error: `npx tsx tools/push3-transpiler/src/index.ts /tmp/test.sol` - [ ] Produced Solidity compiles: `forge build` - [ ] Entry added to `tools/push3-evolution/seeds/manifest.jsonl` validations: required: true - type: textarea id: reference attributes: label: Reference files description: Key files for understanding Push3 syntax and the transpiler. value: | - Transpiler source: `tools/push3-transpiler/src/transpiler.ts` (defines all Push3 opcodes) - Existing seed: `tools/push3-transpiler/optimizer_v3.push3` (current production optimizer) - Evolution seed: `tools/push3-transpiler/optimizer_seed.push3` (simpler starting point) - Push3 uses named bindings via `DYADIC.DEFINE` (e.g. `PERCENTAGESTAKED DYADIC.DEFINE`) - Outputs: 4 values left on the DYADIC stack (top to bottom): ci, anchorShare, anchorWidth, discoveryDepth - Inputs: 8 dyadic rational slots pushed onto stack (slot 0=percentageStaked on top, slot 1=averageTaxRate, 2-7=normalized indicators) - type: textarea id: deps attributes: label: Dependencies value: "- #667 (seed kindergarten — directory structure and manifest must exist first)"