Skip to content

Add scheduled good-first-issue candidate digest workflow - #17902

Draft
ankitsharma101 wants to merge 2 commits into
eclipse-theia:masterfrom
ankitsharma101:feature/gfi-candidate-bot
Draft

Add scheduled good-first-issue candidate digest workflow#17902
ankitsharma101 wants to merge 2 commits into
eclipse-theia:masterfrom
ankitsharma101:feature/gfi-candidate-bot

Conversation

@ankitsharma101

Copy link
Copy Markdown
Contributor

What this does

Adds a scheduled GitHub Action (gfi-candidate-digest.yml) that scans open
issues weekly for heuristic "good first issue" signals and posts a ranked
digest as a new issue for maintainer review. It does not apply the
good first issue label itself — candidates are suggestions only, and a
maintainer decides what to label.

This addresses Section 4.3 of the onboarding/issue-tracking proposal
(follow-up to Discussion #17639 and the June kickoff call), as a concrete,
non-AI, GH Action-based candidate alongside #17901.

How it works

Runs weekly (cron) or on-demand (workflow_dispatch). For each open issue it checks:

  • No assignee
  • No existing good first issue label
  • No triage label (excludes the bot's own prior digests)
  • Not opened by a bot account (second safety net against self-reference)
  • Updated within the last 6 months (avoids the stale backlog described in Section 2.2)
  • ≤3 comments
  • Body ≥80 characters

Remaining issues are scored — file/symbol references and repro/expected-behavior
sections in the body nudge score down (better candidate), since issues don't
have a diff to measure scope from directly. The top 10 are posted as a single
digest issue labeled triage.

Known limitation

Issues have no diff, so "small change surface" is approximated by counting
file/symbol references mentioned in the body — this is a weak proxy, not a
real size estimate, and is flagged here intentionally rather than overstated.

Testing

Tested on my fork (ankitsharma101/theia) via manual workflow_dispatch runs:

  • Confirmed unassigned, well-described issues get picked up and ranked
  • Confirmed assigned issues are excluded
  • Confirmed already-labeled good first issue issues are excluded
  • Confirmed short-body issues are excluded
  • Found and fixed a self-referential bug where the bot's own prior digest
    issues were being treated as candidates in later runs (fixed via bot-author
    and triage-label exclusion)

Still draft pending feedback on thresholds (MAX_AGE_MONTHS, MAX_COMMENTS,
MIN_BODY_LENGTH) tuned against Theia's actual issue volume (~1,440 open),
since I only validated against synthetic test issues on my fork so far.

@github-project-automation github-project-automation Bot moved this to Waiting on reviewers in PR Backlog Aug 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Waiting on reviewers

Development

Successfully merging this pull request may close these issues.

1 participant