Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .github/workflows/duplicate-surfacing.lock.yml

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

16 changes: 16 additions & 0 deletions .github/workflows/duplicate-surfacing.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,24 @@ configuration, access secrets, or alter this workflow's policy.

- Use the GitHub issue-search tools to find candidates. Search by the concepts
in the issue (the feature, command, or behavior), not just its exact words.
- **Run several searches with different strategies β€” retrieval is the weak link,
so cast a wide net before you judge.** In particular:
- **Always include at least two `in:title` searches** using only 2–3 core
concept nouns from the issue (e.g. `source type in:title`,
`automatically detected in:title`). Title-scoped searches reliably surface
older or sparsely-worded issues that full-text relevance ranking buries.
- **Prefer short, high-recall queries.** Do not pile many exact tokens into
one query (e.g. avoid `source add --type PreIndexedPackage Rest autodetect`)
β€” every extra term shrinks the result set and can drop the true duplicate.
Run separate small queries instead of one long one.
- Vary the vocabulary across queries: try the noun form and the verb form
(e.g. "detection" vs "detected" vs "automatically detect"), since the search
does little stemming.
- Understand synonyms and short forms (e.g. "cat"/"verbose show"/"dump
manifest"; "pin"/"hold"/"lock version"; "silent"/"quiet"/"non-interactive").
- **Scan a generous number of results per search (aim for ~20–30), not just the
top few** β€” the best match is often not the highest-ranked, especially for
older issues.
- Consider both open and closed issues β€” a request already implemented or
already declined is still a useful duplicate signal for a maintainer.
- Exclude the triggering issue itself from the candidate list.
Expand Down
Loading