Duplicate issue signal
Check whether a new issue describes the same problem as one of a few similar issues found by search.
F@fProblem
Search finds similar titles, but similar isn't the same. Maintainers compare issues by hand, and duplicates spread discussion across threads.
Goal
Suggest a likely duplicate to the reporter and maintainers, leaving the decision to close to a person.
Input / state
The new issue and the top candidates from your similarity search.
- new_issue
- Title and body of the new issue.
- candidates
- Up to five open issues from search, with titles and summaries.
Decision question
is_duplicateDoes the new issue describe the same problem as one of the candidates?
What counts as yes and no
trueSame symptom and conditions as a candidate, even if worded differently.falseA different problem, even if it touches the same feature.
Allowed outcomes
Decided in your code from the answer and its confidence. Thresholds are yours to set and test.
- Suggest duplicateProbability of yes is above your upper threshold.
- UnclearProbability falls between your two thresholds.
- Not a duplicateProbability of yes is below your lower threshold.
Example scenarios
Predefined demonstrations. No model is called; the outcome shown is an illustrative judgment.
Example state
{
"new_issue": "App crashes saving 'notes ๐.md'",
"candidates": [
"#812 Crash when filename contains emoji"
]
}Outcome
IllustrativeProbability of yes is above your upper threshold.
Why
Same symptom and trigger.
Using it well
- Retrieval finds candidates; this question only compares. Keep the candidate list short.
- Comment with the suggested duplicate; let a maintainer or the reporter close it.
Request definition
POST https://api.typesafe.ai/v1/systemone{
"model": "jev-latest",
"state": {
"new_issue": "<new_issue>",
"candidates": "<candidates>"
},
"questions": {
"is_duplicate": {
"type": "noul",
"instructions": "Does the new issue describe the same problem as one of the candidates?",
"criteria": {
"true": "Same symptom and conditions as a candidate, even if worded differently.",
"false": "A different problem, even if it touches the same feature."
}
}
}
}Request shape from the System One API reference; a Kev server accepts the same body. Replace the placeholder state with your data. Requests need your own API key or server.
Version History
Initial version