Issue Analysis

Oversight analyzes all open issues in a repository, categorizes them by type and urgency, and computes engagement signals to help maintainers focus on what matters most.

How It Works

Issue analysis follows the same pipeline as PR analysis: oversight fetches all open issues from the GitHub API — including title, body, labels, author, comment count, and timestamps — then passes this context to Claude Opus for evaluation and ranking.

The analysis produces a ranked list of issues with AI-generated summaries, priority tiers, and engagement classifications. This gives maintainers a single view of their issue backlog sorted by what needs attention.

Triggering an Issue Analysis

API Request http
POST /api/analyses
Content-Type: application/json

{
  "repoId": 1,
  "kind": "issue"
}

This queues an analysis-issue task. The runner fetches open issues from GitHub, computes engagement signals for each, and sends everything to the analysis prompt for evaluation.

Categorization

Each issue receives AI-computed dimensions in the ai_dimensions field, typically including:

Dimension Description
Type Bug report, feature request, documentation, question, or discussion.
Urgency How time-sensitive the issue is, based on age, comment activity, and labels.
Complexity Estimated effort to address the issue, from the description and discussion.
Priority Composite ranking — Critical, High, Medium, Low, or Informational.

Engagement Classification

Issues are classified based on activity patterns, the same way PRs are. Each issue gets an engagement_status:

These signals are computed from human comments only — bot activity (Dependabot, Renovate, Codecov, GitHub Actions, etc.) is automatically filtered out so engagement status reflects real human interaction.

AI Summaries

Like PR analysis, each issue gets two AI-generated fields:

Filtering and Sorting

Analysis results can be filtered by repository and kind:

API Request http
GET /api/analyses?repoId=1&kind=issue

Items within an analysis are sorted by rank (lower is higher priority). The web UI provides additional client-side filtering by engagement status, labels, and staleness.

Batch Analysis

Each analysis run processes all open issues in a single batch. The runner fetches the full issue list, gathers engagement data for each issue (comments, author activity, maintainer responses), and sends the complete context to Claude in one pass. This ensures consistent relative ranking across all items.

Note: Issue analysis and PR analysis are independent — each produces its own set of ranked items. You can run both simultaneously. The web UI presents them as separate tabs with their own triage views.