fix(feedback): exclude our own triage tickets from dedup (re-triage dropped everything) #260
No reviewers
Labels
No labels
Agent
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No assignees
2 participants
Notifications
Total time spent: 1 minute 8 seconds
Due date
igor
1 minute 8 seconds
No due date set.
Dependencies
No dependencies set
Reference
joshtronic/igor!260
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/feedback-exclude-own-tickets"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes the "no issues filed" re-triage — it dropped every real bug as "already filed."
Root cause (my cleanup caused it): the targeted dedup search matched the feedback-triage tickets I had just closed while cleaning up the first bad batch (#64–67). A closed feedback ticket looked like proof the work was done, so Slide Swine → "dupe of closed #64", Boar-doku → "closed #65", etc. — all dropped.
Fix: a prior feedback-triage ticket (open or closed) is not evidence the bug was fixed — only a real commit/PR or a non-triage issue is. Both closed-issue dedup queries now filter out anything carrying the
agent:feedback-triagemarker. Commit search is untouched (a commit is a fix), so Boar Dungeon still drops correctly via #41.Test covers it; check-sync green. No reviewer.
After this deploys I re-clear
.feedbackand the backlog re-triages for real — the 6 genuine bugs/ideas should finally file.🤖 Review —
APPROVE(automated)CI for
c7d12283: successSummary: Small, focused fix that filters the agent's own
agent:feedback-triagetickets out of the two closed-issue dedup queries inlib/feedback.sh, so a previously-closed triage ticket is no longer mistaken for proof a bug was fixed. CI is green and a test covers the new behavior. Approving.Why it holds up:
lib/feedback.sh— both closed-issue queries (feedback_gather_context,feedback_search_prior) gainselect((.body // "") | test("agent:feedback-triage") | not). The.body // ""guards against null bodies, andtest("agent:feedback-triage")is effectively a literal substring match (no regex metacharacters in the marker), so it matches the<!-- agent:feedback-triage -->comment. Correct.head -30/head -8sensibly compensate for rows now dropped by the filter so the post-filter result count isn't starved. Reasonable.bin/test-feedback.shredefines_fjto return a triage-marked issue (#99) and a real one (#12), asserts #99 is excluded and #12 retained, and the mock's*) -> []correctly starves the commits sub-query so only the filter path is exercised. The laterfile_issueblock re-redefines_fj, so scoping is clean.Scope / contract: Two files, ~30 lines, on-issue. No CI-config changes, no security surface, no drive-by refactors. Description is honest — the test exists and the code matches the stated root cause and fix.
Minor (non-blocking) notes, for the human's awareness only:
state=closed. Open triage tickets aren't in the dedup set at all, so the "open" half of the comment is aspirational, not enforced here — not a defect, just slightly imprecise wording.caseassertion for #99 incrementsFAILon failure but doesn't increment a PASS counter on success (unlike thehas/eqhelpers). Cosmetic; doesn't affect the exit-code gate, and CI passed.No blocking concerns.
Independent review by the harness on
claude-opus-4-8. The human reviewer is requested once Igor has reviewed; a human still merges.