Skip to content

GitHub Discussions Discovery Enhancement #4

@bradygaster

Description

@bradygaster

Overview

Extend existing GitHubSourceAdapter to include GitHub Discussions from dotnet/aspire repository. Provides official community feedback, design decisions, and Q&A signals — currently missing from ACCES.

Background

Per gap analysis:

  • Current state: ACCES tracks GitHub issues/PRs but ignores Discussions (10-30 discussions/week)
  • GitHub Discussions value: Official feedback, feature requests, design debates, community Q&A
  • Quick win: Extend existing GitHubSourceAdapter (already has Octokit auth)
  • Signal types: Community questions, official announcements, design decisions

Requirements

  • Extend GitHubSourceAdapter to query GitHub Discussions API
  • Use Octokit GraphQL client (already installed): query dotnet/aspire discussions
  • Extract: discussion title, author, URL, category, upvotes, comment count, creation date, body
  • Map to ContentItem type with channel="github-discussions", source="github"
  • Filter: Only discussions created in last 30 days (configurable)
  • Add metadata: { category: string, upvotes: number, commentCount: number, isAnswered: boolean }\
  • Respect GitHub API rate limits (5,000/hour authenticated via GITHUB_TOKEN)
  • Combine discussions + issues/PRs results in single GitHubSourceAdapter.discover() call

Squad SDK Integration

  • Adapter extension: Modify existing GitHubSourceAdapter (no new adapter needed)
  • Validation logic: Reuse existing GITHUB_TOKEN validation
  • Unified output: Single DiscoveryResult containing issues, PRs, and discussions

Acceptance Criteria

  • AC1: GitHubSourceAdapter discovers 5+ dotnet/aspire discussions per run (last 30 days)
  • AC2: Each discussion maps to ContentItem with: id, title, url, author, publishedAt, category, upvotes, commentCount
  • AC3: Discussions appear in reports with channel="github-discussions" (distinct from "github-issues")
  • AC4: If Discussions API fails, issues/PRs discovery continues (partial success)
  • AC5: Answered discussions flagged via \isAnswered: true\ metadata
  • AC6: No new dependencies added (use existing @octokit/rest or @octokit/graphql)

Dependencies

Depends on: Issue #1 (Architecture Refactor) — GitHubSourceAdapter must exist first

Assigned To

  • Bunk (Community scout, GitHub API experience)

Estimated Effort

0.5 sessions

  • Add GraphQL query for discussions
  • Map discussion data to ContentItem
  • Test with dotnet/aspire repo

Metadata

Metadata

Assignees

No one assigned

    Labels

    go:needs-researchNeeds investigationsquadSquad triage inbox — Lead will assign to a membersquad:freamonAssigned to Freamon (Lead / Editor-in-Chief)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions