mirror of
https://github.com/VectifyAI/PageIndex.git
synced 2026-04-24 23:56:21 +02:00
Refactor issue dedup system to use claude-code-action with /dedupe command
Replace the copilot-generated inline search logic with a claude-code-action based architecture inspired by anthropic/claude-code's approach: - Add .claude/commands/dedupe.md with 5-parallel-search strategy - Add scripts/comment-on-duplicates.sh with 3-day grace period warning - Rewrite issue-dedupe.yml to use claude-code-action + /dedupe command - Rewrite autoclose script to check bot comments, human activity, and thumbsdown - Rewrite backfill to trigger dedupe workflow per issue with rate limiting - Add concurrency control, timeout, input validation, and rate limit retry - Remove gh.sh (unnecessary), backfill-dedupe.js (replaced by workflow trigger)
This commit is contained in:
parent
b3cb9531a4
commit
fd9330c434
8 changed files with 413 additions and 752 deletions
30
.github/workflows/autoclose-labeled-issues.yml
vendored
30
.github/workflows/autoclose-labeled-issues.yml
vendored
|
|
@ -1,21 +1,14 @@
|
|||
# Closes open issues that carry the "autoclose" label and have been inactive
|
||||
# for more than INACTIVITY_DAYS days. Runs on a daily schedule and can also
|
||||
# be triggered manually.
|
||||
name: Auto-close Inactive Labeled Issues
|
||||
# Auto-closes duplicate issues after 3 days if no human activity or thumbs-down reaction.
|
||||
# Runs daily at 09:00 UTC.
|
||||
name: Auto-close Duplicate Issues
|
||||
|
||||
on:
|
||||
schedule:
|
||||
# Runs every day at 01:00 UTC
|
||||
- cron: '0 1 * * *'
|
||||
- cron: '0 9 * * *'
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
inactivity_days:
|
||||
description: 'Days of inactivity before closing (default: 7)'
|
||||
required: false
|
||||
default: '7'
|
||||
type: number
|
||||
dry_run:
|
||||
description: 'Dry run – report but do not actually close issues'
|
||||
description: 'Dry run - report but do not close issues'
|
||||
required: false
|
||||
default: 'false'
|
||||
type: choice
|
||||
|
|
@ -30,16 +23,15 @@ permissions:
|
|||
jobs:
|
||||
autoclose:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Close inactive autoclose-labeled issues
|
||||
- name: Close inactive duplicate issues
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
REPO_OWNER: ${{ github.repository_owner }}
|
||||
REPO_NAME: ${{ github.event.repository.name }}
|
||||
# workflow_dispatch overrides the default; schedule uses the default (7)
|
||||
INACTIVITY_DAYS: ${{ inputs.inactivity_days || '7' }}
|
||||
DRY_RUN: ${{ inputs.dry_run || 'false' }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
REPO_OWNER: ${{ github.repository_owner }}
|
||||
REPO_NAME: ${{ github.event.repository.name }}
|
||||
DRY_RUN: ${{ inputs.dry_run || 'false' }}
|
||||
run: node scripts/autoclose-labeled-issues.js
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue