The check-duplicate workflow's script called gh api --paginate on the full
issues endpoint and then json.loads the response. Older gh CLI versions
concatenate paginated arrays without a valid separator, and even on newer
versions the response is a single ~15MB blob that intermittently failed
to parse in CI with 'Unterminated string' at char 902748 (truncation or
buffering). Switch to jq streaming so each issue is a small self-contained
JSON object per line, and only fetch the two fields the dedup logic uses
(number, title) plus an is_pr marker. Payload drops to ~280KB and parsing
is robust to per-line failures.
Co-authored-by: Krrish Dholakia <krrish-berri-2@users.noreply.github.com>
Add a Python script that detects duplicate issues using title similarity
(difflib.SequenceMatcher) and closes them via the gh CLI. Two-tier system:
- 0.6 threshold: informational comment via existing wow-actions step
- 0.85 threshold: auto-close with comment, label, and not_planned reason
Includes a workflow_dispatch workflow for one-time batch scans and
integrates auto-close into the existing check_duplicate_issues workflow
for newly opened issues.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>