Skip to content

ci: harden AI triage (idempotent, non-clobbering, tighter labels)#85

Merged
duzos merged 1 commit into
masterfrom
ci/triage-improvements
Jun 7, 2026
Merged

ci: harden AI triage (idempotent, non-clobbering, tighter labels)#85
duzos merged 1 commit into
masterfrom
ci/triage-improvements

Conversation

@duzos

@duzos duzos commented Jun 7, 2026

Copy link
Copy Markdown
Owner

Follow-up to #80, addressing four of the improvement items.

  • Idempotent comment - the triage comment now carries a hidden <!-- auto-triage --> marker; a re-run (reopen / manual dispatch) edits the existing comment instead of stacking a new one.
  • No re-labelling on re-run - if an issue was already triaged (marker present), the workflow refreshes only the comment and leaves labels + org fields untouched, so it never clobbers a maintainer's later label edits. First triage behaves as before.
  • Tighter change labels - dropped C: No Java and C: Structures from the AI's allowed changes (and the allowlist). Those are diff-derived (decided from a PR's changed files by labeler.yml), not guessable from an issue - this is what caused the bad C: No Java on a Java fix in the backlog sweep.
  • Dropped the dead issue-type PATCH - type= is an org-only feature and no-ops on this personal repo; removed the failing call. The T: label conveys type.

No-valid-JSON fallback now only re-adds S: Untriaged on first triage (won't re-untriage an already-triaged issue on a transient model failure).

Copilot AI review requested due to automatic review settings June 7, 2026 23:53
@github-actions github-actions Bot added S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. size/M Denotes a PR that changes 100-999 lines. labels Jun 7, 2026
@github-actions github-actions Bot added C: No Java Changes: Requires no Java knowledge to review or fix this item. A: Build Area: Gradle, publishing, and dependency consumption. and removed S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. size/M Denotes a PR that changes 100-999 lines. labels Jun 7, 2026
@duzos duzos added T: Refactor Type: Refactor of notable amount of codebase. P3: Standard Priority: Default priority for repository items. labels Jun 7, 2026
@duzos duzos merged commit 07e3be3 into master Jun 7, 2026
5 checks passed
@duzos duzos deleted the ci/triage-improvements branch June 7, 2026 23:53

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR hardens the AI-driven issue triage workflow to be idempotent (edit/update a single triage comment) and non-clobbering on re-runs (avoid re-applying labels/fields once an issue has already been triaged), while tightening the model’s allowed label outputs.

Changes:

  • Make the triage comment idempotent via a hidden <!-- auto-triage --> marker and PATCH updates to the existing comment.
  • Skip label/field mutations on re-triage (marker present), refreshing only the comment content.
  • Remove diff-derived change labels (C: No Java, C: Structures) from the model schema + allowlist, and drop the non-functional issue-type PATCH.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/issue-triage.yml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A: Build Area: Gradle, publishing, and dependency consumption. C: No Java Changes: Requires no Java knowledge to review or fix this item. P3: Standard Priority: Default priority for repository items. T: Refactor Type: Refactor of notable amount of codebase.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants