2026-03-13 11:46:34 +01:00
|
|
|
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_<name>.push3`
|
|
|
|
|
- [ ] Transpiles without error: `npx tsx tools/push3-transpiler/src/index.ts <file> /tmp/test.sol`
|
|
|
|
|
- [ ] Produced Solidity compiles: `forge build`
|
2026-03-14 00:17:04 +00:00
|
|
|
- [ ] Entry added to `tools/push3-evolution/seeds/manifest.jsonl` with all required fields:
|
2026-03-14 00:37:06 +00:00
|
|
|
- `file` — filename of the `.push3` seed (e.g. `"llm_my_strategy.push3"`)
|
|
|
|
|
- `fitness` — raw integer score from the evaluator, or `null` if not yet evaluated
|
|
|
|
|
- `origin` — one of `"hand-written"`, `"llm"`, or `"evolved"`
|
|
|
|
|
- `run` — evolution run ID (integer), or `null` for hand-written/LLM seeds
|
|
|
|
|
- `generation` — generation index within the run (integer), or `null` for hand-written/LLM seeds
|
|
|
|
|
- `date` — ISO date the entry was added (e.g. `"2026-03-14"`)
|
|
|
|
|
- `note` — one-sentence description of the strategy and any known caveats
|
2026-03-13 11:46:34 +01:00
|
|
|
validations:
|
|
|
|
|
required: true
|
|
|
|
|
- type: textarea
|
|
|
|
|
id: reference
|
|
|
|
|
attributes:
|
|
|
|
|
label: Reference files
|
feat: issue templates — bug, feature, push3-seed, refactor (#678)
Four templates for Codeberg issue creation:
- **Bug** — what, repro steps, affected files, acceptance criteria
- **Feature** — problem, solution, affected files (incl e2e tests), max 5 acceptance criteria
- **Push3 Seed** — strategy philosophy, behavior spec, pre-filled reference files + register mapping
- **Refactor** — what, approach, affected files, risks
All templates require affected files and acceptance criteria — the two things the dev-agent needs most. Push3 seed template has pre-filled deps (#667) and reference docs.
Gardener agent can enforce these on unstructured issues that come in without templates.
Co-authored-by: openhands <openhands@all-hands.dev>
Reviewed-on: https://codeberg.org/johba/harb/pulls/678
Reviewed-by: review_bot <review_bot@noreply.codeberg.org>
2026-03-13 13:02:50 +01:00
|
|
|
description: Key files for understanding Push3 syntax and the transpiler.
|
2026-03-13 11:46:34 +01:00
|
|
|
value: |
|
feat: issue templates — bug, feature, push3-seed, refactor (#678)
Four templates for Codeberg issue creation:
- **Bug** — what, repro steps, affected files, acceptance criteria
- **Feature** — problem, solution, affected files (incl e2e tests), max 5 acceptance criteria
- **Push3 Seed** — strategy philosophy, behavior spec, pre-filled reference files + register mapping
- **Refactor** — what, approach, affected files, risks
All templates require affected files and acceptance criteria — the two things the dev-agent needs most. Push3 seed template has pre-filled deps (#667) and reference docs.
Gardener agent can enforce these on unstructured issues that come in without templates.
Co-authored-by: openhands <openhands@all-hands.dev>
Reviewed-on: https://codeberg.org/johba/harb/pulls/678
Reviewed-by: review_bot <review_bot@noreply.codeberg.org>
2026-03-13 13:02:50 +01:00
|
|
|
- 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)
|
2026-03-13 11:46:34 +01:00
|
|
|
- type: textarea
|
|
|
|
|
id: deps
|
|
|
|
|
attributes:
|
|
|
|
|
label: Dependencies
|
|
|
|
|
value: "- #667 (seed kindergarten — directory structure and manifest must exist first)"
|