From e484d4b03a69091f82bc422adfd3ad08ed1ff03b Mon Sep 17 00:00:00 2001 From: johba Date: Fri, 13 Mar 2026 13:02:50 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20issue=20templates=20=E2=80=94=20bug,=20?= =?UTF-8?q?feature,=20push3-seed,=20refactor=20(#678)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-on: https://codeberg.org/johba/harb/pulls/678 Reviewed-by: review_bot --- .codeberg/ISSUE_TEMPLATE/push3-seed.yaml | 11 +++++++---- .codeberg/ISSUE_TEMPLATE/refactor.yaml | 6 ++++++ .woodpecker/e2e.yml | 1 + 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/.codeberg/ISSUE_TEMPLATE/push3-seed.yaml b/.codeberg/ISSUE_TEMPLATE/push3-seed.yaml index 066f950..4a9cbba 100644 --- a/.codeberg/ISSUE_TEMPLATE/push3-seed.yaml +++ b/.codeberg/ISSUE_TEMPLATE/push3-seed.yaml @@ -40,11 +40,14 @@ body: id: reference attributes: label: Reference files + description: Key files for understanding Push3 syntax and the transpiler. value: | - - Push3 instruction set: `tools/push3-transpiler/README.md` - - Existing seed: `tools/push3-transpiler/optimizer_v3.push3` - - Register mapping: r40→ci, r39→anchorShare, r38→anchorWidth, r37→discoveryDepth - - Inputs: 8 dyadic rational slots (0=percentageStaked, 1=averageTaxRate, 2-7=normalized indicators) + - 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: diff --git a/.codeberg/ISSUE_TEMPLATE/refactor.yaml b/.codeberg/ISSUE_TEMPLATE/refactor.yaml index 59adf25..261b829 100644 --- a/.codeberg/ISSUE_TEMPLATE/refactor.yaml +++ b/.codeberg/ISSUE_TEMPLATE/refactor.yaml @@ -34,6 +34,12 @@ body: - [ ] CI green validations: required: true + - type: textarea + id: deps + attributes: + label: Dependencies + description: Issues that must be merged first. Leave empty if none. + placeholder: "- #NNN (reason)" - type: textarea id: risks attributes: diff --git a/.woodpecker/e2e.yml b/.woodpecker/e2e.yml index 0665849..200eaf3 100644 --- a/.woodpecker/e2e.yml +++ b/.woodpecker/e2e.yml @@ -12,6 +12,7 @@ when: - "tools/**" - "onchain/test/FitnessEvaluator*" - "docs/**" + - ".codeberg/**" - "*.md" clone: