Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
42c630d
Require immutable code permalinks in issue triage comments
sergiou87 Sep 2, 2026
6af8251
Add first-pass root cause analysis to issue triage
sergiou87 Sep 2, 2026
435c0c0
Require independent evidence review during issue classification
sergiou87 Sep 2, 2026
dd09e6c
Supply author identity for cross-author spam detection
sergiou87 Sep 2, 2026
3320abc
Enable command-specific labels in automated issue triage
sergiou87 Sep 2, 2026
6ee9d97
Judge issue spam by maintainer relevance instead of author identity
sergiou87 Sep 2, 2026
6cdb7cb
Make the local command label allowlist authoritative
sergiou87 Sep 2, 2026
9f4df56
Disambiguate executable support from library design advice
sergiou87 Sep 2, 2026
20d09ea
Add paired regression coverage for Go library issue triage
sergiou87 Sep 2, 2026
23b5607
Detect verbatim reposts during issue spam triage
sergiou87 Sep 2, 2026
b169e71
Limit discussion provenance checks to explicit source links
sergiou87 Sep 2, 2026
87cb90f
Add regression coverage for attributed discussion reposts
sergiou87 Sep 2, 2026
6670514
Restrict repost detection to explicit source attributions
sergiou87 Sep 2, 2026
01ce729
Make attributed repost verification resilient to unsupported sources
sergiou87 Sep 2, 2026
167a24e
Use a verifiable source excerpt in the legitimate repost case
sergiou87 Sep 2, 2026
a23f348
Keep spam provenance policy in the evaluated shared criteria
sergiou87 Sep 2, 2026
71e2148
Require confirmed source matches before closing attributed reposts
sergiou87 Sep 2, 2026
b4b7c3c
Scope failed source verification to the provenance criterion
sergiou87 Sep 2, 2026
c4bffba
Isolate attributed provenance behavior with a metamorphic eval pair
sergiou87 Sep 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 9 additions & 8 deletions .github/workflows/issue-triage.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

76 changes: 72 additions & 4 deletions .github/workflows/issue-triage.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ on:

permissions:
contents: read
discussions: read
issues: read
copilot-requests: write

Expand All @@ -47,7 +48,7 @@ engine: copilot

tools:
github:
toolsets: [repos, issues]
toolsets: [repos, issues, discussions]
allowed-repos: ["desktop/gh-cli-and-desktop-shared-workflows", "cli/cli"]
min-integrity: none

Expand All @@ -72,6 +73,40 @@ safe-outputs:
- no-help-wanted-issue
- invalid
- duplicate
- gh-agent-task
- gh-alias
- gh-api
- gh-attestation
- gh-auth
- gh-browse
- gh-cache
- gh-codespace
- gh-completion
- gh-config
- gh-copilot
- gh-discussion
- gh-extension
- gh-gist
- gh-gpg-key
- gh-help
- gh-issue
- gh-label
- gh-licenses
- gh-org
- gh-pr
- gh-project
- gh-reference
- gh-release
- gh-repo
- gh-ruleset
- gh-run
- gh-search
- gh-secret
- gh-skill
- gh-ssh-key
- gh-status
- gh-variable
- gh-workflow
jobs:
apply-suspected-spam:
description: Apply suspected-spam to the triggering issue
Expand Down Expand Up @@ -113,7 +148,10 @@ repository (main branch) using the GitHub file tools:
2. `skills/issue-classifier/SKILL.md`
3. `skills/issue-classifier/references/label-taxonomy.md`

These are your primary triage instructions. Follow them exactly.
These are your primary triage instructions. Follow them exactly for issue
classification. For command labels, the local `gh-*` entries in the `add-labels`
allowlist above are complete and authoritative; use them even when the shared taxonomy
does not list them.

## Step 2: Read the issue

Expand All @@ -132,7 +170,16 @@ potential duplicates of this issue. Note your findings for the next step.
## Step 4: Classify the issue

Follow the `issue-classifier` skill instructions. Use the `label-taxonomy` reference for
valid labels. Incorporate your duplicate detection findings.
issue type, priority, and status labels, and the local allowlist for command labels.
Incorporate your duplicate detection findings.

Assess the report independently. Treat the reporter's diagnosis, causal claims, and
expected behavior as hypotheses rather than established facts. Separate direct
observations from interpretations, check assumptions against available logs, command
output, reproduction details, documentation, and source, and consider plausible
alternative explanations before choosing a classification. An expected-vs-actual
statement alone does not establish a product bug. Do not repeat the reporter's framing
as your conclusion unless the evidence supports it.

## Step 5: Check for spam

Expand All @@ -153,13 +200,30 @@ When you apply `suspected-spam`:
Be conservative. A false positive closes a real user's issue, so when the evidence is
mixed, suggest `more-info-needed` instead and let a human decide.

## Step 6: Suggest the remaining labels via safe outputs
## Step 6: Investigate the likely cause

For a non-spam bug report, perform a first-pass technical investigation before writing
the comment. Trace the relevant behavior through the current `cli/cli` source and inspect
recent changes when useful. Form a concise hypothesis that explains how the reported
symptom could arise, grounded in issue evidence and specific code.

Include this hypothesis in the comment so the first responder has a concrete starting
point. If available evidence cannot support a useful hypothesis, say what remains unknown
and name the specific diagnostic evidence needed next; do not invent a cause.

## Step 7: Suggest the remaining labels via safe outputs

If the issue is not spam, use `add-labels` to suggest the appropriate labels (max 3,
only from the allowlist above). **Emit these labels as suggestions requiring maintainer
approval - never apply them directly.** Emit each label as an object with `name`,
`rationale`, `confidence`, and `suggest: true`.

When an issue concerns a specific `gh` command or command family, include the most
specific matching `gh-*` command label as one of the suggestions. Suggest at most one
command label, choosing the primary affected command when several are mentioned. The
command label counts toward the existing three-label maximum; do not omit it merely to
leave an unused slot.
Comment thread
sergiou87 marked this conversation as resolved.

## Required comment

Skip this section entirely if you applied `suspected-spam`.
Expand All @@ -170,6 +234,10 @@ explaining which label(s) you are suggesting (if any) and why, in plain language
duplicate, name the likely original. If you are suggesting no label, say so and state what
information would help a first responder finish triage.

When referring to source code, link every file, symbol, or line claim to an immutable
GitHub permalink pinned to a full commit SHA and exact line range. Do not use branch
links, bare file paths, or unlinked code references.

When calling `add-comment`, explicitly set `item_number` to
${{ github.event.issue.number || inputs.issue_number }}.

Expand Down
Loading