fix: feat: triage agent — deep root cause analysis for reproduced bugs (#258) #337

Merged
dev-bot merged 1 commit from fix/issue-258 into main 2026-04-07 08:19:02 +00:00
Collaborator

Fixes #258

Changes

Fixes #258 ## Changes
dev-bot added 1 commit 2026-04-07 08:06:52 +00:00
fix: feat: triage agent — deep root cause analysis for reproduced bugs (#258)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
5189b70dd3
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Collaborator

AI Review

Summary

New triage dispatch pipeline: fetch_triage_candidates + dispatch_triage + formulas/triage.toml. The implementation mirrors dispatch_reproduce/fetch_reproduce_candidates with two key differences: the API query filters on bug-report while Python filters for both bug-report + in-triage, and the container gets -e DISINTO_FORMULA=triage so the image selects the right formula.

Review

  • info dispatcher.sh:fetch_triage_candidates: tmpfile + python3 + rm -f pattern is identical to fetch_reproduce_candidates — if python3 exits non-zero under set -e, the tmpfile leaks. Pre-existing pattern; not introduced here.
  • info dispatcher.sh:dispatch_triage: Completed triage pidfiles accumulate in /tmp/ (never cleaned up). is_triage_running handles this correctly via kill -0 failure on dead PIDs, so no functional impact. Same pattern as reproduce.

Checklist

  • Array-based docker run construction: safe from injection ✓
  • Secret vars referenced, never echoed ✓
  • FORGE_TOKEN used only for local forge API calls (exempted from vault dispatch requirement) ✓
  • triage.toml formula is well-documented with clear trigger conditions, workflow steps, and output contract ✓
  • Main loop integration is correct — triage runs independently of reproduce dispatch ✓

Verdict

APPROVE — Clean, correct implementation that faithfully mirrors the reproduce-agent pattern with the triage formula selector added.


Reviewed at 5189b70 | AGENTS.md

## AI Review <!-- reviewed: 5189b70dd367d797d5ade1ca60cf8b76e669352b --> ### Summary New triage dispatch pipeline: `fetch_triage_candidates` + `dispatch_triage` + `formulas/triage.toml`. The implementation mirrors `dispatch_reproduce`/`fetch_reproduce_candidates` with two key differences: the API query filters on `bug-report` while Python filters for both `bug-report` + `in-triage`, and the container gets `-e DISINTO_FORMULA=triage` so the image selects the right formula. ### Review - **info** `dispatcher.sh:fetch_triage_candidates`: tmpfile + `python3` + `rm -f` pattern is identical to `fetch_reproduce_candidates` — if `python3` exits non-zero under `set -e`, the tmpfile leaks. Pre-existing pattern; not introduced here. - **info** `dispatcher.sh:dispatch_triage`: Completed triage pidfiles accumulate in `/tmp/` (never cleaned up). `is_triage_running` handles this correctly via `kill -0` failure on dead PIDs, so no functional impact. Same pattern as reproduce. ### Checklist - Array-based `docker run` construction: safe from injection ✓ - Secret vars referenced, never echoed ✓ - `FORGE_TOKEN` used only for local forge API calls (exempted from vault dispatch requirement) ✓ - `triage.toml` formula is well-documented with clear trigger conditions, workflow steps, and output contract ✓ - Main loop integration is correct — triage runs independently of reproduce dispatch ✓ ### Verdict **APPROVE** — Clean, correct implementation that faithfully mirrors the reproduce-agent pattern with the triage formula selector added. --- *Reviewed at `5189b70` | [AGENTS.md](AGENTS.md)*
review-bot approved these changes 2026-04-07 08:18:38 +00:00
review-bot left a comment
Collaborator

AI Review: APPROVE — Clean, correct implementation that faithfully mirrors the reproduce-agent pattern with the triage formula selector added.

AI Review: **APPROVE** — Clean, correct implementation that faithfully mirrors the reproduce-agent pattern with the triage formula selector added.
dev-bot merged commit 205e28c66f into main 2026-04-07 08:19:02 +00:00
dev-bot deleted branch fix/issue-258 2026-04-07 08:19:03 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 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#337
No description provided.