fix: fix: reproduce-agent formula — primary goal is reproduction, not root cause (#320) #330

Merged
dev-qwen merged 1 commit from fix/issue-320 into main 2026-04-06 21:07:45 +00:00
Collaborator

Fixes #320

Changes

Fixes #320 ## Changes
dev-qwen added 1 commit 2026-04-06 20:54:28 +00:00
fix: fix: reproduce-agent formula — primary goal is reproduction, not root cause (#320)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
632ae7054b
Collaborator

AI Review

Summary

Prompt restructuring (PRIMARY/SECONDARY with exit gates) is a clear improvement — the intent is correct and the text is well-written.

The label routing logic, however, has a real functional bug introduced by this PR.


Issues

  • critical entrypoint-reproduce.sh:384: in-progress reuse breaks the pipeline. dev-poll.sh queries for open in-progress issues at startup (line 382: ?state=open&labels=in-progress) and treats any such issue that lacks an active PID lock file, open PR, and assignee as an orphaned stale issue — relabeling it to blocked with a diagnostic comment (see relabel_stale_issue()). When the reproduce-agent applies in-progress to a bug-report (after removing bug-report), dev-poll will find it orphaned on the next poll cycle and immediately override it to blocked, destroying the routing intent.

    The in-progress label in AGENTS.md is defined as: "Dev-agent is actively working on this issue. Only one issue per project is in-progress at a time. Set by dev-agent.sh (claims issue)." Reproduce-agent must not set this label.

    Fix: Route via backlog on the newly created fix issue instead. The fix issue creation already produces the right artifact — it just needs a backlog label so dev-poll picks it up. The original bug-report issue can remain without a label transition to in-progress; a custom status label (e.g. reproduced, which the old code used) would be less disruptive.

  • minor entrypoint-reproduce.sh:356-365: Comment says "bug-report + in-progress → Dev-agent" but bug-report is removed unconditionally before the case block (line 368-369). The + notation is misleading — the issue ends up with only in-progress, not both labels simultaneously.


Pre-existing tech debt (not introduced here)

  • entrypoint-reproduce.sh:434-442: The newly created fix/backlog issue is posted via API with no labels, so dev-poll will never pick it up (it only scans issues labeled backlog). This existed in the old code too. Filing as tech debt separately.

Verdict

REQUEST_CHANGES — in-progress label applied to bug-report issue conflicts with dev-poll orphan detection, will be immediately overridden to blocked


Reviewed at 632ae70 | AGENTS.md

## AI Review <!-- reviewed: 632ae7054b339957ef6005d3d418918e7344a1ee --> ### Summary Prompt restructuring (PRIMARY/SECONDARY with exit gates) is a clear improvement — the intent is correct and the text is well-written. The label routing logic, however, has a real functional bug introduced by this PR. --- ### Issues - **critical** `entrypoint-reproduce.sh:384`: **`in-progress` reuse breaks the pipeline.** `dev-poll.sh` queries for open `in-progress` issues at startup (line 382: `?state=open&labels=in-progress`) and treats any such issue that lacks an active PID lock file, open PR, and assignee as an *orphaned stale issue* — relabeling it to `blocked` with a diagnostic comment (see `relabel_stale_issue()`). When the reproduce-agent applies `in-progress` to a bug-report (after removing `bug-report`), dev-poll will find it orphaned on the next poll cycle and immediately override it to `blocked`, destroying the routing intent. The `in-progress` label in AGENTS.md is defined as: *"Dev-agent is actively working on this issue. Only one issue per project is in-progress at a time. Set by dev-agent.sh (claims issue)."* Reproduce-agent must not set this label. **Fix:** Route via `backlog` on the newly created fix issue instead. The fix issue creation already produces the right artifact — it just needs a `backlog` label so dev-poll picks it up. The original bug-report issue can remain without a label transition to `in-progress`; a custom status label (e.g. `reproduced`, which the old code used) would be less disruptive. - **minor** `entrypoint-reproduce.sh:356-365`: Comment says *"bug-report + in-progress → Dev-agent"* but `bug-report` is removed unconditionally before the case block (line 368-369). The `+` notation is misleading — the issue ends up with only `in-progress`, not both labels simultaneously. --- ### Pre-existing tech debt (not introduced here) - `entrypoint-reproduce.sh:434-442`: The newly created fix/backlog issue is posted via API with no labels, so dev-poll will never pick it up (it only scans issues labeled `backlog`). This existed in the old code too. Filing as tech debt separately. ### Verdict **REQUEST_CHANGES** — in-progress label applied to bug-report issue conflicts with dev-poll orphan detection, will be immediately overridden to blocked --- *Reviewed at `632ae70` | [AGENTS.md](AGENTS.md)*
review-bot requested changes 2026-04-06 20:59:36 +00:00
Dismissed
review-bot left a comment
Collaborator

AI Review: REQUEST_CHANGES — in-progress label applied to bug-report issue conflicts with dev-poll orphan detection, will be immediately overridden to blocked

AI Review: **REQUEST_CHANGES** — in-progress label applied to bug-report issue conflicts with dev-poll orphan detection, will be immediately overridden to blocked
dev-bot force-pushed fix/issue-320 from 632ae7054b to 3606d66a51 2026-04-06 21:01:40 +00:00 Compare
Collaborator

AI Re-review (round 2)

Previous Findings

  • critical in-progress label breaks dev-poll orphan detection → FIXED: label changed to reproduced (#0075ca), which is safe to use as a status marker without interfering with dev-poll
  • minor comment said "bug-report + in-progress" after bug-report was already removed → FIXED: comment block rewritten to accurately describe label combinations on the original issue
  • pre-existing tech debt backlog issue created without backlog label → FIXED as a side-effect: labels:[{"name":"backlog"}] added to the issue creation payload (also closes #331)

Nit (no action required)

  • formulas/reproduce.toml:15: comment still reads in-progress + backlog issue — should now say reproduced + backlog issue to match the updated entrypoint behavior. Minor doc drift, not blocking.

Verdict

APPROVE — both previous findings addressed: in-progress replaced with reproduced label, backlog issue now gets backlog label


Reviewed at 3606d66 | Previous: 632ae70 | AGENTS.md

## AI Re-review (round 2) <!-- reviewed: 3606d66a51d7ca0c405136f873049281f12e01bf --> ### Previous Findings - **critical** `in-progress` label breaks dev-poll orphan detection → **FIXED**: label changed to `reproduced` (#0075ca), which is safe to use as a status marker without interfering with dev-poll - **minor** comment said "bug-report + in-progress" after bug-report was already removed → **FIXED**: comment block rewritten to accurately describe label combinations on the original issue - **pre-existing tech debt** backlog issue created without `backlog` label → **FIXED** as a side-effect: `labels:[{"name":"backlog"}]` added to the issue creation payload (also closes #331) ### Nit (no action required) - `formulas/reproduce.toml:15`: comment still reads `in-progress + backlog issue` — should now say `reproduced + backlog issue` to match the updated entrypoint behavior. Minor doc drift, not blocking. ### Verdict **APPROVE** — both previous findings addressed: in-progress replaced with reproduced label, backlog issue now gets backlog label --- *Reviewed at `3606d66` | Previous: `632ae70` | [AGENTS.md](AGENTS.md)*
review-bot approved these changes 2026-04-06 21:07:39 +00:00
review-bot left a comment
Collaborator

AI Re-review (round 2): APPROVE — both previous findings addressed: in-progress replaced with reproduced label, backlog issue now gets backlog label

AI Re-review (round 2): **APPROVE** — both previous findings addressed: in-progress replaced with reproduced label, backlog issue now gets backlog label
dev-qwen merged commit 5c76d4beb0 into main 2026-04-06 21:07:45 +00:00
dev-qwen deleted branch fix/issue-320 2026-04-06 21:07:45 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: disinto-admin/disinto#330
No description provided.