Skip to content

feat: implement issue recommendation system for contributor progression#1290

Draft
parvninama wants to merge 5 commits intohiero-ledger:mainfrom
parvninama:feat/issue-recommendation-bot
Draft

feat: implement issue recommendation system for contributor progression#1290
parvninama wants to merge 5 commits intohiero-ledger:mainfrom
parvninama:feat/issue-recommendation-bot

Conversation

@parvninama
Copy link
Copy Markdown
Member

Changes:

Issue recommendation workflow on PR merge

  • Triggers recommendation system when a PR is merged
  • Ensures only valid contributor PRs are processed (non-bot, merged PRs)

Linked issue resolution

  • Added resolveLinkedIssue helper using closingIssuesReferences (GraphQL)
  • Uses the linked issue as the source of truth for labels
  • Skips recommendation if no linked issue is found

Difficulty-based progression system

  • Introduced SKILL_HIERARCHY:
    • good first issue → beginner → intermediate → advanced
  • Determines completed issue level from labels
  • Recommends issues using progression:
    • next level (primary)
    • same level (fallback)
    • lower level (final fallback, except Beginner → GFI)

Issue filtering and discovery

  • Fetches issues using GitHub Search API
  • Filters:
    • open issues only
    • unassigned issues
    • matching difficulty label
    • ready for dev label required
  • Limits results to a small, relevant set (top 5)

Error handling and resilience

  • Introduced safeFetchIssues wrapper
  • Differentiates:
    • [] → no issues found
    • null → API failure
  • Posts a single error comment tagging maintainers on failure
  • Prevents duplicate error comments

Recommendation comment system

  • Builds structured, readable comment with clickable issue links
  • Mentions contributor directly
  • Silent exit when no recommendations are available (avoids noise)

Code structure improvements

  • Extracted linked issue resolution into reusable helper (resolveLinkedIssue)
  • Kept API logic centralized in helpers
  • Maintained separation between:
    • command logic (recommendation)
    • API utilities
    • workflow entry point

Testing:

  • In progress

Linked Issue:

Signed-off-by: parvninama <ninamaparv@gmail.com>
Signed-off-by: Parv <ninamaparv@gmail.com>
Signed-off-by: Parv <ninamaparv@gmail.com>
Signed-off-by: Parv <ninamaparv@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Intermediate]: Issue recommendation system for contributor progression

1 participant